«…лишь недалекие люди боятся конкуренции, а люди подлинного творчества ценят общение с каждым талантом…» А. Бек, Талант.

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

Материал из Wiki
Перейти к: навигация, поиск
Заголовок
Вспомнить все...
Автор
Зайцев В.С.
Нижний колонтитул
Спец курс (Избранные главы 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;

Слайд: Entity

Entity
Entity


Architecture

architecture beh of trig is
begin  -- beh
end beh;

Слайд:Architecture

architecture
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

architecture


When Else

t1 <= not t1 when clk'event and clk = '1' else
      t1;

Слайд:When Else

Данная запись является компактным описанием триггера, но она не соответствует стандарту синтезируемого подмножества. Поэтому не все системы синтеза её поддерживают. Например, Leonardo Spectrum синтезирует данную конструкцию, а в ранних версиях Synopsys`а эта запись не поддерживалась.

when else code


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

Emacs (Ема́кс, Е́макс, также И́макс) — семейство многофункциональных расширяемых текстовых редакторов.


Слайд: Первый запуск

Команда для запуска

emacs 

Emacs view.jpg

Слайд: Горячие клавиши

  • Придется запомнить перечень горячих клавиш
  • В будущем облегчит жизнь

Рще лун цфктштп.jpg

Действие Hot key Действие Hot key
command mode Alt-X open file Ctrl-X Ctrl-F
insert file Ctrl-Xi save file Ctrl-X Ctrl-S
save as file Ctrl-X Ctrl-W name close file Ctrl-XK
change buffer Ctrl-XB undo Ctrl-XU, Ctrl-_
redo Ctrl-^ exit Ctrl-X Ctrl-C
word left Alt-B word right Alt-F
start of line Ctrl-A end of line Ctrl-E
page up Alt-V page down Ctrl-V
start of buffer Alt-< end of buffer Alt->
line n Alt-G n. word left Alt-DEL
word right Alt-D end of line Ctrl-K
line Ctrl-A Ctrl-K search Ctrl-S text
replace Alt-% start selection Ctrl-SPACE
cut Ctrl-W copy Alt-W
paste Ctrl-Y shell M-x shell


Слайд: Возможности :step

  • Знает и подскажет базовые конструкции
  • Подсветка синтаксиса
  • Анализ существующего кода и добавление уже написанных "слов"
  • Автоматическая генерация кода простейшего тестового окружения
  • Добавление декларации component
  • Добавление декларации instance
  • Добавление декларации signal
  • Возможность работы с консолью
  • Возможность работы с с несколькими окнами одновременно
  • И многое, многое другое полезное.


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

  • Где моделировать?
  • QuestaSIM
  • Язык VHDL, Verilog, SystemC, SystemVerilog
  • Смешанное моделирование (все что выше + Spice)
  • Автоматизация (поддерживаются скрипты TCL)
  • Работа по сети (JobSpy сервер)
  • Мощнейший инструмент верификации
    • Покрытие кода
    • Покрытие переходов
    • Проверка значений
    • Поддержка пакетов и стандарта верификации OVM
  • Пакет моделирования подключается и в MentorGraphics и в Cadence


Слайд: Запуск QuestaSim

Так выглядит окно прогрмаммы QuestaSim

Окно программы QuestaSim

Слайд: Команды QuestaSim :step

  • Запуск
    • vsim
  • Создание библиотеки
    • vlib
  • Компиляция кода
    • vcom
  • Запуск моделирования
    • vsim name_run_project
  • Добавление сигналов
    • add wave
  • Запуск исполнения и просмотр результата
    • run