«Случай — это псевдоним Бога, когда Он не хочет подписываться своим собственным именем.» А. Франс

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

Материал из Wiki
Перейти к: навигация, поиск
м (Слайд:When Else)
(Слайд:When Else)
Строка 37: Строка 37:
 
   end process trig_process;</source>
 
   end process trig_process;</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">
 +
 +
<syntaxhighlight lang="vhdl">
 +
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;
 +
</syntaxhighlight>
 +
 +
 
<source lang="vhdl">
 
<source lang="vhdl">
 
data_out_i <= '0' when rst = '0' else
 
data_out_i <= '0' when rst = '0' else
Строка 52: Строка 61:
 
<!-- {{Info|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, '''Leonardo Spectrum''' синтезирует данную конструкцию, а в ранних версиях '''Synopsys`а'''  эта запись не поддерживалась.}}
 
<!-- {{Info|Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, '''Leonardo Spectrum''' синтезирует данную конструкцию, а в ранних версиях '''Synopsys`а'''  эта запись не поддерживалась.}}
 
-->
 
-->
 +
<br clear="all" />
  
 
==Слайд:Работа с редактором EMACS==
 
==Слайд:Работа с редактором EMACS==

Версия 10:54, 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;

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

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

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

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

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

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