МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: Вопросы новичка

Вопросы новичка 4 года 3 мес. назад #5183

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54

KIV пишет: Нашел очень интересный материал по Verilog DHL.
Но размер файла довольно большой - почти 600 кБ.

Набрать в google "verilog учебник", первая же ссылка будет на verilog.pdf размером как раз 600кБ.
Содержание
1. Введение в Verilog HDL
2. Лексические соглашения
2.1 Операторы
...
Оно? Это легко находится и скачивается.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Вопросы новичка 4 года 3 мес. назад #5184

  • KIV
  • KIV аватар
  • Не в сети
  • Давно я тут
  • Давно я тут
  • Сообщений: 121
  • Спасибо получено: 5
Да, это именно тот материал. И его действительно можно найти в "развалах" интернета. Если знать, что искать конкретно. У меня на это ушло больше двух недель поисков, и чтения всего подряд. Не скажу, что это было напрасно потерянное время, но все же...
В инете много материалов на любую тему. Но, к сожалению, практически нет аннотаций ко всему этому многообразию, и для того, чтобы не только найти, но и отселектировать нужное по качеству и полезности, порой приходится перелопачивать горы мусора. Ведь автор подобных "учебников" должен не только сам хорошо владеть предметом, но и уметь его донести до читателей! По моему скромному мнению, автор обсуждаемого материала и "владеет", и "умеет".
Конечно, стартовые знания можно получить из материалов Николая К. (огромное ему за это спасибо!), которые есть на этом сайте, но это всего лишь первые шаги. При том, что они рассчитаны на тех, кто уже умеет стоять (владеет начальными знаниями по программированию на языках высокого уровня).

Если этот сайт нацелен на тех, кто хочет овладеть Верилогом, и умением программировать ПЛИСы "с нуля", то очень желательно, чтобы здесь появился специальный раздел с учебнами материалами, или, хотя бы, со ссылками на достойные публикации в интернете. Уверен, начинающие, типа меня, будут очень благодарны за такие шпаргалки.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от KIV.

Вопросы новичка 4 года 3 мес. назад #5186

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 635
  • Спасибо получено: 54
Верилог вообще, и Верилог для ПЛИС - две большие разницы.
Начинающим - лучше сразу вдолбить понятие "синхронных" схем. Но это обычно в последнюю очередь преподносится, или вообще пропускается.
Вот на что надо делать упор в освоении ПЛИС:
marsohod.org/11-blog/299-nonstable-fpga
geektimes.ru/post/253946/

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы новичка 4 года 3 мес. назад #5187

  • KIV
  • KIV аватар
  • Не в сети
  • Давно я тут
  • Давно я тут
  • Сообщений: 121
  • Спасибо получено: 5
Leka, я с Вами согласен, эти азы тоже знать необходимо. Но это азы скорее схемотехники, чем программирования. Лично для меня в этих ссылках нет большой новизны. С наносекундами, и даже с пикосекундами мне довелось познакомиться еще в лохматых 70-х прошлого века, когда все это делалось на дискретах, т.к. доступные в то время ТТЛ и ЭСТЛ серии не обеспечивали нужных скоростей. И что такое синхронная логика я тоже хорошо понимаю. Но кому-то наверняка стоит с этим познакомиться.
Однако, этот сайт в большей мере посвящен именно программированию ПЛИС, поэтому у меня и возникло предложение разместить здесь пособие "начинающего программера". Но настаивать не буду - это дело администрации сайта.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от KIV.

Вопросы новичка 4 года 3 мес. назад #5190

Мне кажется что самая лучшая помощь в изучении Verilog это интересная задача. Чтобы был стимул для изучения. Кто знает, если бы Вы не "перерыли" предварительно множество статей, может быть учебник воспринимался бы иначе.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от alman.

Вопросы новичка 4 года 3 мес. назад #5191

Ребята, можете подсказать , как реализовать данное задание, по идее нужно в Max+plus II реализовать, не особо знаком с языком AHDL, кто может помочь хоть чем? :unsure: :dry: :huh:
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы новичка 4 года 2 мес. назад #5434

Здравствуйте, господа.
Подскажите пожалуйста, как можно на вход главного модуля подать несколько байт данных?
Насколько я понимаю, на вход главного модуля подаются только данные с ножек FPGA, и этих ножек
много меньше того количества бит, которые мне нужно закинуть.
Если я не заблуждаюсь, то как тогда организовать сбор последовательных бит данных в главном модуле,
чтобы потом их пачкой передать на обработку в следующий модуль.
Заранее благодарен.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы новичка 4 года 2 мес. назад #5435

raiyin пишет: Подскажите пожалуйста, как можно на вход главного модуля подать несколько байт данных?
Насколько я понимаю, на вход главного модуля подаются только данные с ножек FPGA, и этих ножек
много меньше того количества бит, которые мне нужно закинуть.

В таких случаях на помощь всегда приходит время - нет возможности принять данные за один раз - принимайте за несколько циклов. Вот Вы сами ответили на вопрос:

Если я не заблуждаюсь, то как тогда организовать сбор последовательных бит данных в главном модуле,
чтобы потом их пачкой передать на обработку в следующий модуль.


Допустим, Вам нужно в главном модуле принять 128 бит данных, но свободны только 10 ножек.
Сразу одну отводите под строб - она будет сигнализировать начало передачи. Ещё одна нога понадобится для синхронизации - сигнал на ней будет означать что на входе готова следующая порция данных. Оставшиеся 8 ног задействовать для приёма данных.

По стробу сбрасываете счётчик, по сигналу синхронизации записываете данные в регистр, индексируемый счётчиком и увеличиваете счётчик на единицу. При достижении счётчиком заданного значения (ширина данных, делённая на ширину входной шины) формируете выходной сигнал как комбинацию регистров.

Для последовательных данных по одной линии лучше использовать регистр сдвига - данные в нём будут накапливаться, а затем их можно использовать или передать дальше.

Кстати, задача со счётчиком становится интереснее, если позволить стробу и синхросигналу работать одновременно - понадобится небольшая конструкция, которая будет учитывать сброс счётчика одновременно с записью в первый регистр.
Спасибо сказали: raiyin

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы новичка 4 года 2 мес. назад #5436

  • Wonk
  • Wonk аватар
  • Не в сети
  • Захожу иногда
  • Захожу иногда
  • Сообщений: 65
  • Спасибо получено: 2
Если количество принимаемых бит не известно, вместо строба начала передачи, можно использовать его для значимости, на входе поставить фифо и постоянно из него вычитывать
Спасибо сказали: raiyin

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Вопросы новичка 4 года 1 мес. назад #5565

Здравствуйте, товарищи, подскажите пожалуйста, успеет ли умножитель 20х20, сформированный через lpm_mult в мегавизард менеджере, перемножить входной аргумент с константой за один такт на частоте 240 Мгц (Циклон 3)? В диташите пишут, что при размерах аргументов больше 18х18 несколько аппаратных умножителей объединяются в блок, но про задержки особо информации не нашёл в нескольких документах, в т.ч. и в документации на lpm функции.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.247 секунд
ВКонтакте  facebook  GitHub  YouTube  Twitter