«…Труд избавляет человека от трех великих зол: скуки, порока, нужды…»

Спец курс (Избранные главы VHDL)/Вспомним VHDL — различия между версиями

Материал из Wiki
Перейти к: навигация, поиск
(Слайд:When Else)
м (Слайд:When Else)
Строка 39: Строка 39:
 
===Слайд:When Else===
 
===Слайд:When Else===
  
<source lang="vhdl">data_out_i <= '0' when rst = '0' else
+
{{SideBar40|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, '''Leonardo Spectrum''' синтезирует данную конструкцию, а в ранних версиях '''Synopsys`а'''  эта запись не поддерживалась.}}
 +
 
 +
<div style="border: 2px solid #AEA; padding: 0.4em; border-bottom: none; border-right: none; background: HoneyDew">
 +
<source lang="vhdl">
 +
data_out_i <= '0' when rst = '0' else
 
             data_in when clk'event and clk = '1' else
 
             data_in when clk'event and clk = '1' else
 
             data_out_i;
 
             data_out_i;
data_out <= data_out_i;</source>
+
data_out <= data_out_i;
 +
</source>
 +
</div>
  
{{Info|Конструкция синтезируется не всеми системами, разрешает '''Leonardo Spectrum'''. Для '''Synopsis''' - конструкция запрещена.}}
+
<!-- {{Info|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, '''Leonardo Spectrum''' синтезирует данную конструкцию, а в ранних версиях '''Synopsys`а''' эта запись не поддерживалась.}}
 +
-->
  
 
==Слайд:Работа с редактором EMACS==
 
==Слайд:Работа с редактором EMACS==

Версия 00:59, 18 сентября 2012

Заголовок
Введение в системы идентификации...
Автор
Зайцев В.С.
Нижний колонтитул
Спец курс (Избранные главы VHDL)/Вспомним VHDL
Дополнительный нижний колонтитул
Зайцев В.С., 00:27, 29 сентября 2015

Содержание

Языки описания аппаратуры

VHDL-основные конструкции

Слайд: Entity

entity example is
generic (
  cnt : integer := 10);
port ( 
  inp   in  : std_logic;
  outp  out : std_logic);
end entity;

Слайд: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

Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, 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;


Слайд:Работа с редактором EMACS

Первый запуск

Команды

Возможности

Работа с системой моделирования QuestaSim от Mentor Graphics

Запуск QuestaSim

Создание библиотеки

Компиляция кода

Запуск моделирования

Добавление сигналов

Запуск исполнения и просмотр результата