Краткий курс HDL – Verilog на русском и статьи.

 

Редакцией журнала «Компоненты и технологии» был выпущен мой проект - диск с циклом статей по языку Verilog, которые будут печатались в журнале с №3-2008г.

Также на диске находились статьи, написанные с 2002 года.

Вы спросите: «Как же редакция согласилась публиковать диск до того, как материал в виде статей будет весь напечатан»? Я прекрасно понимаю, что читателям будет тяжело ждать долгое время, чтобы собрать все статьи вместе и приступить к изучению языка. Поэтому я провел большую работу с редакцией, заверив ее, что мои читатели люди порядочные, см. далее, и выпуск диска не скажется на снижении тиража журнала.

Почему был написан этот материал? Вот фразы из письма Дмитрия, студента одного из Российских университетов: «А книжку, которую Вы порекомендовали в нашей библиотеке не нашел…» и вот еще: «.., так как вижу, что спрос на литературу по ПЛИС (по крайней мере, здесь) очень велик… Спрос гораздо превышает предложение. Я считаю, что нужна книга с реализацией проекта от нуля до чего-то стоящего и желательно для начинающих. В общем-то Вы ближе всего подошли к данному вопросу».

Я проверил, что из учебников по Verilog'у есть на русском и понял, что действительно, материалов крайне мало, поэтому и решился…

Диск содержал описание языка и дополнительные разделы, связанные с разработкой проектов в FPGA. Были освещены вопросы сопровождения проектов, указано, как и где искать шаблоны текстовых файлов, приведены код для описания узлов схемы, независимых и зависимых от аппаратной платформы, сказано об отладке проекта. Кроме того, был приведен небольшой пример работы с программой ModelSim. Также рассказано о параметризируемых модулях, о сигнале «Сброс», об асинхронных частотах и о пересечении клоковых доменов. Приведен список литературы.

Но все дело в том, что для редакции КиТ – распространение дисков – это непрофильное занятие. Поэтому, распространив первую партию дисков, редакция на этом и ограничилась. Но сейчас материал доступен, как верстки статей. Так же их можно найти на сайте КиТ (http://www.kit-e.ru), в архивах статей…

 

 

 

 

Итак, вот что будет предложено читателям

 

Итак, вот что содержит «Краткий Курс».
Часть 1 - введение
Часть 2 – это описание языка. Оно довольно подробное и занимает много места.
Часть 3 - о написании кода. Что и как надо делать для того, чтобы проект легко читался и сопровождался.
Часть 4 - шаблоны текстовых файлов. Где они находятся в программных инструментах.
Часть 5 - написание кода, независимого от аппаратной платформы. Примеры кода для наиболее распространенных цифровых узлов схем – триггеров, регистров, счетчиков. Этот раздел можно воспринимать как справочный.
Часть 6 - написание кода, зависимого от аппаратной платформы.
Часть 7 - несколько слов об отладке проекта. Что и как надо делать для симуляции и отладки.
Часть 8 - Моделирование в ModelSim SE. Небольшой проект, представляющий собой пример кода, необходимый для тестирования устройства, содержащего FSM и программируемый таймер. Работа с файлами.
Часть 9 – более подробно о параметризируемых модулях.
Часть 10 – более подробно о сигнале «Сброс».
Часть 11 – более подробно об асинхронных частотах и о пересечении клоковых доменов.
Часть 12 – продолжение об асинхронных частотах и о пересечении клоковых доменов.
Часть 13 - Дополнение к разделу об автоматах состояний. Многоядерность, многозадачность, многопоточность.


И добавление к «Краткому Курсу».

Небольшое описание развития языка - SystemVerilog

И далее примеры разработки на ПЛИС.




"Краткий курс HDL-кодирования" Часть 1. "КиТ" №3 2008г."

"Краткий курс HDL-кодирования" Часть 2, начало. "КиТ" №4 2008г."

"Краткий курс HDL-кодирования" Часть 2, продолжение. "КиТ" №5 2008г."

"Краткий курс HDL-кодирования" Часть 2, продолжение. "КиТ" №6 2008г."

"Краткий курс HDL-кодирования" Часть 2, добавка о Generate."

"Краткий курс HDL-кодирования" Часть 3, "О написании кода "вообще"". "КиТ" №7 2008г."

"Краткий курс HDL-кодирования" Часть 4, "Расположение шаблонов текстовых файлов в программных инструментах различных фирм-производителей". "КиТ" №8 2008г."

"Краткий курс HDL-кодирования" Часть 5 "Написание кода, независимого от аппаратной платформы". "КиТ" №9 2008г."

"Краткий курс HDL-кодирования" Часть 6, "Написание кода, зависимого от аппаратной платформы". "КиТ" №10 2008г."

"Краткий курс HDL-кодирования" Часть 7, "Несколько слов об отладке проекта". "КиТ" №10 2008г."

"Краткий курс HDL-кодирования" Часть 8, "Моделирование в ModelSim SE". "КиТ" №11 2008г."

"Краткий курс HDL-кодирования" Часть 9, "Параметризируемые модели. В этом разделе будет более подробно рассмотрено создание параметризируемых моделей". "КиТ" №12 2008г."

"Краткий курс HDL-кодирования" Часть 10, "Несколько слов о «сбросе»". "КиТ" №1 2009г."

"Краткий курс HDL-кодирования" Часть 11, "Асинхронные частоты, пересечение клоковых доменов и синхронизация". "КиТ" №2 2009г."

"Краткий курс HDL-кодирования" Часть 12, "Продолжение раздела: Асинхронные частоты, пересечение клоковых доменов и синхронизация". "КиТ" №3 2009г."

"Краткий курс HDL-кодирования" Часть 13, "Дополнение к разделу об автоматах состояний. Многоядерность, многозадачность, многопоточность". "КиТ" №4 2009г."


А это добавление к «Краткому Курсу».
Небольшое описание развития языка - SystemVerilog

"SystemVerilog и улучшение отладки проектов" Новый раздел. "КиТ" №1 2010г."


 

 

 

 

Теперь, в качестве примера разработки "чего-нибудь на ПЛИС", можно предложить цикл статей на тему "Микроконтроллер своими руками"



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



"Микропроцессор своими руками" в "Компонентах и технологиях" №6, 7 за 2002г.
Эта статья о том, как в FPGA реализовать микропроцессор. Описаны все этапы разработки и даны все файлы проекта. Файлы проекта к статье "Микропроцессор своими руками" можно взять здесь со страницы "Добавьте в вашу библиотеку"

Статья "Микропроцессор своими руками" часть 1
Статья "Микропроцессор своими руками" часть 2



Статья "Битовый процессор". Эта статья продолжает цикл "самодельных встроенных процессоров". Процессор для обработки битовых переменных, занимает всего 64 логических ячейки в Альтера и пару блоков памяти.
Статья "Битовый процессор". Часть 1
Статья "Битовый процессор". Часть 2
Проект к статье "Битовый процессор". Статья вышла осенью 2003г - selfmade_cpu2.zip

Статья "Продолжение серии "Микропроцессор своими руками"" о том как сделать ассемблер и софт-симулятор; часть 1

Статья "Продолжение серии "Микропроцессор своими руками"" о том как сделать ассемблер и софт-симулятор; часть 2

Это будет хит сезона! Статья ""Квадрига Аполлона и микропроцессоры""; часть 1 - Время, деньги и микропроцессоры. Начало.

Это будет хит сезона! Статья ""Квадрига Аполлона и микропроцессоры""; часть 2 - Время, деньги и микропроцессоры. Окончание.


Это продолжение серии о том как в FPGA выполнить проектирование микроконтроллера. В этом и последующих "эпизодах" будет кратко написано о том, как сделать отладочный компонент в FPGA и как отлаживать проект через порт JTAG.
К этим "эпизодам" почти доделаны программные инструменты и еще не совсем доделаны проекты в FPGA. И здесь хочу сказать, что проекты эти делаю так, как позволяет время... Конечно, кто-то может все сделать лучше и, возможно, красивее. Я не возражаю. Пришлите мне Вашу версию файлов с указанными местами исправлений и я с удовольствием выложу их здесь. Моя цель не в том, чтобы обозначить себя, а в том, чтобы читателям было понятно и чтобы это все работало.
И еще. Не делайте так, как иногда поступает г-н А. Строгонов. Если уж Вы хотите исправить или переписать файлы проекта, ну например с AHDL или сVerilog'а на VHDL, то не называйте это своей разработкой. И оставляйте в комментариях файла первичное название разработки и имя разработчика.
"Микропроцессор своими руками, 4. Как отладить встроенный в FPGA микроконтроллер?" Эта часть статьи о том, что такое «собственно отладить микроконтроллер». "КиТ" №9 · 2006


"Микропроцессор своими руками, 4. Как отладить встроенный в FPGA микроконтроллер?" Эта часть статьи о том, что такое «порт JTAG». Терминология: порт JTAG, 1149 и т. д. "КиТ" №10 · 2006"


"Микропроцессор своими руками, 4. Как отладить встроенный в FPGA микроконтроллер?" Эта часть статьи о технических подробностях аппаратных устройств сопряжения и о предлагаемом программном инструменте, о симуляции проекта в Верилоге... "КиТ" №11 · 2006"




По просьбе студентов из Бонча написана эта статья.
По результатам обсуждения "Гайки М3", могу сказать, что вопросы взаимоотношений разработчика и заказчика оказались очень интересны не только студентам. Поэтому здесь все описано более полно. Всего будут 3 части.
"Микропроцессор своими руками - 5. По поводу начала проекта встроенного в FPGA микроконтроллера" Эта статья о технических подробностях составления Технического Задания и о том, как начинать проект... "КиТ" №3 · 2007"

"Микропроцессор своими руками - 5" Продолжение. "КиТ" №4 · 2007"

"Микропроцессор своими руками - 5" Продолжение. "КиТ" №5 · 2007"

"Микропроцессор своими руками - 5" Окончание. "КиТ" №6 · 2007"

 

 

 

 

А в качестве примера разработки "какой-нибудь периферии на ПЛИС", можно привести еще одну статью..."



Контроллеры Fast Ethernet для встроенных применений.
Эта статья содержит небольшой обзор и далее описан проект МАС-контроллера, выполненного а FPGA. см. "Компоненты и технологии" №5, 6 за 2003г.
В статье "Fast Ethernet. Часть 1" на рис.7 обнаружена ошибка! Спасибо читателю под ником "угу".
текст "Адрес оправителя 3 октета" и "Адрес получателя 3 октета"
надо читать так указано в Таблице 1, см. стр.16 этой же статьи.
Статья Fast Ethernet. Часть 1
Статья Fast Ethernet. Часть 2

 

 

 

 

Пара слов о порядочности

Очень хочется надеяться на то, что все мои читатели окажутся людьми порядочными и не станут выкладывать эти материалы на различные серверы.

 

И еще о «работе над ошибками»

Если у Вас есть какие либо замечания или предложения, то присылайте их мне сразу. Все они будут учтены при следующих изданиях диска. Нет смысла кричать в конференциях: «А у него ошибки»! Ошибок избежать довольно трудно. А вот исправить их необходимо!

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

 

21 апреля 2008г.

30 марта 2012г.

 

Hosted by uCoz