Спец курс (Избранные главы VHDL)/Вспомним VHDL — различия между версиями
Материал из Wiki
Vidokq (обсуждение | вклад) (→Слайд:Process) |
Vidokq (обсуждение | вклад) (→Слайд: Process) |
||
| Строка 60: | Строка 60: | ||
end process trig_process;</source> | end process trig_process;</source> | ||
| − | ===Слайд: Process=== | + | === Слайд: Process === |
| + | |||
| + | <div class="tleft" style="clear:none">[[Файл:Process code.jpg|architecture]]</div> | ||
| + | <br clear="all" /> | ||
=== Слайд:When Else === | === Слайд:When Else === | ||
Версия 12:21, 18 сентября 2012
- Заголовок
- Введение в системы идентификации...
- Автор
- Зайцев В.С.
- Нижний колонтитул
- Спец курс (Избранные главы VHDL)/Вспомним VHDL
- Дополнительный нижний колонтитул
- Зайцев В.С., 00:27, 29 сентября 2015
Содержание |
Слайд:Языки описания аппаратуры
- С начала 70-х годов стала актуальна проблема создания стандартного средства документации схем и алгоритмов дискретных систем переработки информации, пригодных как для восприятия человеком, так и для обработки в ЭВМ.
- Этим средством явились языки VHDL и Verilog
- Стандартность (лучше плохой, чем никакого)
- Многоаспектность и многоуровневость
- Схемы
- Тестовые окружения
- Диапазон детализации
- Человеко-машинность
- Язык описания
- Средство документирования
- Было много предшественников
- «МОДИС », «Автокод», «Модис-В78», «MPL», «OCC-2», «Форос», «Алгоритмы», «Пульс», «Симпатия»
- CDL, DDL, ISPS, CONLAN, HILO
VHDL-основные конструкции
Entity
library ieee; use ieee.std_logic_1164.all; entity xc is port ( clk : in std_logic; d : out std_logic); end xc;
Слайд: Entity
Architecture
architecture beh of trig is begin -- beh end beh;
Слайд:Architecture
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;
Слайд: Process
Слайд:When Else
Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, Leonardo Spectrum синтезирует данную конструкцию, а в ранних версиях Synopsys`а эта запись не поддерживалась.
data_out_i <= '0' when rst = '0' else data_in when clk'event and clk = '1' else data_out_i; data_out <= data_out_i;
data_out_i <= '0' when rst = '0' else data_in when clk'event and clk = '1' else data_out_i; data_out <= data_out_i;


