Спец курс (Избранные главы VHDL)/Вспомним VHDL — различия между версиями
Материал из Wiki
Vidokq (обсуждение | вклад) (→Слайд: Process) |
Vidokq (обсуждение | вклад) (→Слайд:When Else) |
||
| Строка 64: | Строка 64: | ||
<div class="tleft" style="clear:none">[[Файл:Process code.jpg|architecture]]</div> | <div class="tleft" style="clear:none">[[Файл:Process code.jpg|architecture]]</div> | ||
<br clear="all" /> | <br clear="all" /> | ||
| + | |||
| + | === When Else === | ||
| + | <source lang="vhdl"> | ||
| + | t1 <= not t1 when clk'event and clk = '1' else | ||
| + | t1; | ||
| + | </source> | ||
=== Слайд:When Else === | === Слайд:When Else === | ||
| − | {{SideBar40|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, '''Leonardo Spectrum''' синтезирует данную конструкцию, а в ранних версиях '''Synopsys`а''' эта запись не поддерживалась.}} | + | {{SideBar40|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, {{Зел|'''Leonardo Spectrum'''}} синтезирует данную конструкцию, а в ранних версиях {{Кр|'''Synopsys`а'''}} эта запись не поддерживалась.}} |
<div style="border: 2px solid #AEA; padding: 0.4em; border-bottom: none; border-right: none; background: HoneyDew"> | <div style="border: 2px solid #AEA; padding: 0.4em; border-bottom: none; border-right: none; background: HoneyDew"> | ||
| − | + | <div class="tleft" style="clear:none">[[Файл:When_else_code.jpg|when else code]]</div> | |
| − | < | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | </div | + | |
| − | + | ||
| − | + | ||
| − | + | ||
<br clear="all" /> | <br clear="all" /> | ||
Версия 12:30, 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
t1 <= not t1 when clk'event and clk = '1' else t1;
Слайд:When Else
Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, Leonardo Spectrum синтезирует данную конструкцию, а в ранних версиях Synopsys`а эта запись не поддерживалась.



