Как выучить HDL

24

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

  1. Какая? Я не знаю, каковы стандарты, но хотел бы узнать, что легко поднять. Я понимаю, что большинство HDL предназначены для использования с FPGA.
  2. Как? Должен ли я следовать учебнику с независимыми примерами или начать проект, подобный внедрению небольшой системы (например, управление светофорами).
  3. Где? Где бы я взял ресурсы?
Rick_2047
источник
1
Можете ли вы уточнить, что вы хотите от вашего HDL? Большинство HDL предназначены для использования с FPGA, потому что для этого большинству людей нужна FPGA. В общем, симулятор (работающий от графической схемы) используется для проектирования схем не-FPGA и не-ASIC. Вы хотите построить: (1) дискретные цифровые схемы, то есть компоненты 74XX, (2) аналоговые схемы, т.е. переключающие регуляторы, радиочастотные антенны / приемопередатчики, общие схемы операционного усилителя или (3) аналоговые схемы со смешанным сигналом, то есть интерфейс между цифровыми и аналоговыми сигналами.
Кевин Вермеер
Я думаю, что я хочу научиться HDL для описания оборудования. Это 1, 2 и 3. Также в одном я хочу, чтобы он не был специфичным для ПЛИС, потому что у меня нет доступа или финансов для их получения.
Rick_2047
Я думаю, что я хочу научиться HDL для описания оборудования. Это 1, 2 и 3. Также в одном я хочу, чтобы он не был специфичным для ПЛИС, потому что у меня нет доступа или финансов для их получения. Я думаю, что в основном я хочу использовать HDL для имитации того, что я придумаю. Мой главный план в этом году - создать собственный компьютер. Я думаю, что я буду использовать 74xx для этого. Вот почему для проверки моих теорий и схем возникла идея HDL.
Rick_2047

Ответы:

8

Можете ли вы уточнить, какой ЛПВП вы хотите использовать? В основном это Verilog или VHDL, [EDIT] и их родственники, Verilog-ASM и VHDL-ASM (аналоговый смешанный сигнал). [/ EDIT] Verilog имеет некоторый C-подобный синтаксис, который облегчает выбор, если вы раньше работали с C, но это также облегчает выработку вредных привычек - вы не можете программировать аппаратное обеспечение на C, потому что это все параллельно! Также как и C, предполагается, что вы знаете, что делаете, и легко выстрелить себе в ногу. VHDL заставляет вас думать совершенно по-другому, что полезно, но сложно. Это более многословно и с большей вероятностью предупредит вас, если вы сделаете что-то странное. Смотрите обсуждение Slashdot или эту статью .

РЕДАКТИРОВАТЬ: «Языки Netlist» не то, что я использовал для проектных работ (в текстовом редакторе), но я полагаю, что вы могли бы. SPICE, формат Cadsoft Eagle и EDIF - все это примеры (с очень разными целями), которые приходят на ум. Я использовал списки соединений только для проверки правильности моей схемы (имеет ли смысл каждое соединение в моей схеме Eagle), для настройки абстракции, предоставляемой симулятором (SPICE, аналогично тому, как в AS используются операторы ASM) или для делать экспорт / импорт между разными программами (EDIF).
Язык списка соединений Spectre относится к Verilog-A [nalog] и SPICE и предназначен для работ по проектированию и проверке. МАСТэто язык моделирования компонентов, совместимый с Verilog-AMS и VHDL-AMS. Поиск учебных пособий по этим языкам показывает, что инструменты, которые похожи на утилиты захвата схемы, часто используются вместо программирования на самом языке списков.

Я также буду второй спартанской ПЛИС Xilinx и платой разработчиков Digilent . Однако я бы пошел с Basys (60 долларов) или Nexys (100 долларов), если вам не нужен Ethernet на стартовой плате (150 долларов), упомянутый O Engenheiro (Цены со скидкой). Basys и Nexys дешевле и, следовательно, более популярны в школах, поэтому в Интернете больше учебников и лабораторий.

Кевин Вермеер
источник
Мне было интересно, будет ли изучение так называемых языков Netlist полезным или более легким по сравнению с изучением Verilog или VHDL?
Rick_2047
Сложно сказать. Это зависит от того, что вы хотите сделать со своим языком. Можем ли мы получить лучшее представление о том, что вы хотите делать и какой язык вы хотите использовать, прежде чем углубляться в то, как и где для каждой перестановки полдюжины языков и очень много вариантов использования?
Кевин Вермеер
9

Я почти в той же ситуации, что и ты.

Что я делаю:

Я прошел бесплатный базовый курс VHDL в колледже, который я изучал. Я играл со спартанской доской 3E .

Итак, я купил доску и начну играть.

Мои друзья предложили эти книги:

  1. Быстрое прототипирование цифровых систем , Джеймс О. Хэмблен, Майкл Д. Фурман
  2. Doone Publications - HDL Chip Design , Дуглас Дж. Смит

И он предложил этот документ тоже:

Руководство по синтезу и моделированию Xilinx

Даниэль Грилло
источник
1
Я бы второй книгу Хэмблен и Фурман. Я разработал свою собственную маленькую плату Altera Flex 10K10 и смог использовать большую часть кода в книге вместе с ней. Это поваренная книга, но от этого не хуже.
Леон Хеллер
4
  1. Существует два языка HDL, это VHDL и Verilog, спросите своего профессора, какой язык вы выучите, и попытаетесь посмотреть, как он работает: синтаксис и как вы можете создать модули для этого и сделать большой обзор обо ВСЕХ цифровых цепях.

  2. Прежде чем что-либо делать 1, убедитесь, что вы действительно знаете все о цифровых каналах, потому что HDL не создает ничего нового, вы используете эти вещи только по-другому. Таким образом, вы можете использовать одну из двух вышеприведенных книг, выполнить некоторые упражнения, попросить учителя преподать книги, которые он рекомендует, и использовать их или одну из двух выше.

  3. Попросите учителя, какие FPGA они используют на уроках, если это Altera, Xilinx, Lattice или другие, если Altera загрузит Quartus Web Edition, если Xilinx, ISE Webpack, бесплатно загрузит один из них и попытаться узнать об одном из программ и выполнить некоторые из ваших упражнений, симуляции на одном из них.

Вы правы, около 90% работ над HDL выполняются на симуляторах, поэтому узнайте об имитаторе Modelsim и / или симуляторе ISIM на xilinx, о его командах и о том, как выполнять тестовые стенды.

Zork
источник
Два основных ЛПВП. Есть много менее популярных, таких как CUPL, MyHDL и Lava. Курс цифрового дизайна в моем университете упоминал VHDL, но использовал CUPL в лаборатории. Больше на википедии: en.wikipedia.org/wiki/…
Янн Вернье
3

где бы вы ни работали, вам придется использовать те же HDL, которые они уже используют, поэтому, чтобы увеличить шансы получить работу, попробуйте потратить немного времени на Verilog и VHDL. Раньше все было довольно просто: Verilog использовался в США, а VHDL в Европе - в наши дни это не просто.

В то же время кто-то упомянул, что учился «думать по-другому» для VHDL - вы должны делать это и для verilog, это похоже на C, но это не так - хорошее место для начала - посмотреть и увидеть, где создаются провода и провалы во время синтеза - как только вы достигнете точка, в которой вы можете их видеть, и можете просто «видеть» временные опасности в своей голове, вы в большинстве случаев находитесь там

Taniwha
источник
2

icarus verilog или verilator - это то, что я бы порекомендовал для изучения или игры с verilog. ghdl - это то, что я бы использовал, чтобы поиграть с vhdl. Это далеко от мейнстрима, но я бы также порекомендовал cyclicity-cdl.sf.net, который имеет свою собственную среду для симов и т. Д. И производит синтезируемый verilog. использовать и изучать gtkwave для изучения файлов .vcd, сгенерированных симуляторами.

Старожил
источник
1

Я изучал Verilog в колледже на одном курсе. Кульминацией этого курса была реализация двухпроцессорного процессора Superscalar MIPS (30% класса получили его полностью работающим; я был в других 70%). Я думаю, что вещи в промышленности в целом уходят от Verilog к VHDL. При этом существует множество онлайн-уроков для обоих языков. Вот один на VHDL и вот один на Verilog .

Вы, вероятно, захотите использовать ModelSim, и вы можете использовать студенческое издание (я думаю, что оно бесплатное; возможно, с ограничениями). Кстати, они рекомендуют использовать проектирование цифровых систем, используя VHDL 2nd Edition в качестве учебника.

vicatcu
источник
1

Вот дешевый комплект разработки FPGA, который может быть правильным для вас. Однако я не уверен в уровне инструментов с открытым исходным кодом, которые работают с ним. Цепочки инструментария производителя доступны для бесплатной загрузки. Я слышал, что за такую ​​цену этот комплект доступен, его стоит купить.

Сушрут Дж Маир
источник