Спец курс (Избранные главы VHDL)/Вспомним VHDL — различия между версиями
Материал из Wiki
Vidokq (обсуждение | вклад) (→Entity) |
Vidokq (обсуждение | вклад) |
||
Строка 43: | Строка 43: | ||
end xc; | end xc; | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
<div class="tleft" style="clear:none">[[Файл:Пример_entity.jpg|600px|Entity]]</div> | <div class="tleft" style="clear:none">[[Файл:Пример_entity.jpg|600px|Entity]]</div> | ||
− | |||
− | |||
− | |||
<br clear="all" /> | <br clear="all" /> | ||
− | ===Architecture=== | + | ===Слайд: Architecture=== |
<source lang="vhdl">architecture beh of trig is | <source lang="vhdl">architecture beh of trig is | ||
begin -- beh | begin -- beh | ||
end beh;</source> | end beh;</source> | ||
− | |||
− | |||
<div class="tleft" style="clear:none">[[Файл:Пример_architecture.jpg|600px|architecture]]</div> | <div class="tleft" style="clear:none">[[Файл:Пример_architecture.jpg|600px|architecture]]</div> | ||
− | |||
− | |||
− | |||
− | |||
<br clear="all" /> | <br clear="all" /> | ||
− | ===Process=== | + | ===Слайд: Process=== |
<source lang="vhdl"> trig_process: process (clk, rst) | <source lang="vhdl"> trig_process: process (clk, rst) | ||
begin -- process trig_process | begin -- process trig_process | ||
Строка 75: | Строка 63: | ||
end process trig_process;</source> | end process trig_process;</source> | ||
− | === Слайд: | + | ===Слайд: When Else === |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
<source lang="vhdl"> | <source lang="vhdl"> | ||
t1 <= not t1 when clk'event and clk = '1' else | t1 <= not t1 when clk'event and clk = '1' else | ||
t1; | t1; | ||
</source> | </source> | ||
− | |||
− | |||
− | |||
{{SideBar40|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, {{Зел|'''Leonardo Spectrum'''}} синтезирует данную конструкцию, а в ранних версиях {{Кр|'''Synopsys`а'''}} эта запись не поддерживалась.}} | {{SideBar40|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, {{Зел|'''Leonardo Spectrum'''}} синтезирует данную конструкцию, а в ранних версиях {{Кр|'''Synopsys`а'''}} эта запись не поддерживалась.}} | ||
− | |||
− | |||
− | |||
<br clear="all" /> | <br clear="all" /> | ||
− | |||
==Слайд:Работа с редактором EMACS== | ==Слайд:Работа с редактором EMACS== | ||
Строка 213: | Строка 189: | ||
* Возможность работы с <big>{{Сн|'''с несколькими окнами одновременно'''}}</big> | * Возможность работы с <big>{{Сн|'''с несколькими окнами одновременно'''}}</big> | ||
* И многое, многое другое полезное. | * И многое, многое другое полезное. | ||
− | |||
==Слайд: Работа с системой моделирования QuestaSim от Mentor Graphics :step == | ==Слайд: Работа с системой моделирования QuestaSim от Mentor Graphics :step == | ||
Строка 229: | Строка 204: | ||
** Поддержка пакетов и стандарта '''верификации''' OVM | ** Поддержка пакетов и стандарта '''верификации''' OVM | ||
* Пакет моделирования подключается и в {{Сн|'''MentorGraphics'''}} и в {{Сн|'''Cadence'''}} | * Пакет моделирования подключается и в {{Сн|'''MentorGraphics'''}} и в {{Сн|'''Cadence'''}} | ||
− | |||
Версия 18:45, 18 сентября 2012
- Заголовок
- Вспомнить все...
- Автор
- Зайцев В.С.
- Нижний колонтитул
- Спец курс (Избранные главы VHDL)/Вспомним VHDL
- Дополнительный нижний колонтитул
- Зайцев В.С., 00:27, 29 сентября 2015
Содержание |
Total Recall
Слайд:Языки описания аппаратуры
- С начала 70-х годов стала актуальна проблема создания стандартного средства документации схем и алгоритмов дискретных систем переработки информации, пригодных как для восприятия человеком, так и для обработки в ЭВМ.
- Этим средством явились языки VHDL и Verilog
- Стандартность (лучше плохой, чем никакого)
- Многоаспектность и многоуровневость
- Схемы
- Тестовые окружения
- Диапазон детализации
- Человеко-машинность
- Язык описания
- Средство документирования
- Было много предшественников
- «МОДИС », «Автокод», «Модис-В78», «MPL», «OCC-2», «Форос», «Алгоритмы», «Пульс», «Симпатия»
- CDL, DDL, ISPS, CONLAN, HILO
VHDL ссылки и литература
Сайт БГУИР с материалами по VHDL
Слайд: Entity
library ieee; use ieee.std_logic_1164.all; entity xc is port ( clk : in std_logic; d : out std_logic); end xc;
Слайд: Architecture
architecture beh of trig is begin -- beh end beh;
Слайд: Process
trig_process: process (clk, rst) begin -- process trig_process if rst = '0' then -- asynchronous reset (active low) data_out <= '0'; elsif clk'event and clk = '1' then -- rising clock edge data_out <= data_in; end if; end process trig_process;
Слайд: When Else
t1 <= not t1 when clk'event and clk = '1' else t1;
Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, Leonardo Spectrum синтезирует данную конструкцию, а в ранних версиях Synopsys`а эта запись не поддерживалась.
Слайд:Работа с редактором EMACS
Emacs (Ема́кс, Е́макс, также И́макс) — семейство многофункциональных расширяемых текстовых редакторов.
Слайд: Первый запуск
Команда для запуска
emacs
Слайд: Горячие клавиши
Слайд: Возможности :step
- Знает и подскажет базовые конструкции
- Подсветка синтаксиса
- Анализ существующего кода и добавление уже написанных "слов"
- Автоматическая генерация кода простейшего тестового окружения
- Добавление декларации component
- Добавление декларации instance
- Добавление декларации signal
- Возможность работы с консолью
- Возможность работы с с несколькими окнами одновременно
- И многое, многое другое полезное.
Слайд: Работа с системой моделирования QuestaSim от Mentor Graphics :step
- Где моделировать?
- QuestaSIM
- Язык VHDL, Verilog, SystemC, SystemVerilog
- Смешанное моделирование (все что выше + Spice)
- Автоматизация (поддерживаются скрипты TCL)
- Работа по сети (JobSpy сервер)
- Мощнейший инструмент верификации
- Покрытие кода
- Покрытие переходов
- Проверка значений
- Поддержка пакетов и стандарта верификации OVM
- Пакет моделирования подключается и в MentorGraphics и в Cadence
Слайд: Запуск QuestaSim
Так выглядит окно прогрмаммы QuestaSim
Слайд: Команды QuestaSim :step
- Запуск
- vsim
- Создание библиотеки
- vlib
- Компиляция кода
- vcom
- Запуск моделирования
- vsim name_run_project
- Добавление сигналов
- add wave
- Запуск исполнения и просмотр результата
- run