Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Цифровая схемотехника. Счетчики VHDL. (Лекция 12)

Содержание

2013Счетчики. Простой суммирующий счетчик.LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY count IS PORT (clk: IN STD_LOGIC; out_data: OUT INTEGER RANGE 0 TO 15);END count;ARCHITECTURE a OF count IS-- внутренний сигнал, так как выход -- не может быть аргументом в выражении SIGNAL csignal: INTEGER RANGE
Счетчики.  Реализация на VHDL. 2013Счетчики. Простой суммирующий счетчик.LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY count IS	PORT (clk: IN	STD_LOGIC;		out_data: OUT INTEGER 2013BEGIN	PROCESS (clk)	BEGIN-- проверка наличия фронта		IF (clk'EVENT AND clk = '1') THEN-- увеличение 2013Временные диаграммы 2013Временные диаграммы 2013Диаграммы без учета задержек 2013Функциональная симуляцияЭто моделирование без учета задержекДля запуска:Выбрать функциональную симуляцию.Сгенерировать лист связей для 2013Выбор типа симуляции 2013Генерация файла связейМеню:Processing -> Generate Functional Simulation Netlist 2013Счетчик на RTL уровне 2013Счетчик на уровне ЛЭ ПЛИС 2013Реверсивный счетчикlibrary ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity count is	generic (		MIN_COUNT : natural := 0;		MAX_COUNT 2013architecture rtl of count is	signal direction : integer;begin-- внутренний сигнал выбора направления 2013process (clk)		variable cnt : integer range MIN_COUNT to MAX_COUNT;	begin		if (rising_edge(clk)) then-- синхронный 2013Временные диаграммы работы счетчика. 2013Счетчик на RTL уровне 2013Счетчик с асинхронным сбросом, синхронной предустановкой и сигналом разрешения счета.LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY 2013BEGINPROCESS (clk, clrn)BEGINIF clrn = '0' THEN csignal 2013Счетчик.  Асинхронный сброс-- clrn – сигнал сброса: -- 0 – сброс, 2013Счетчик. Синхронная загрузка ELSIF (clk'EVENT AND clk = '1') THEN	-- пришел фронт 2013Счетчик. Синхронное разрешение счета.		IF ena = '1' THEN 		-- если активен сигнал 2013Временные диаграммы работы счетчика. 2013Диалог шаблонов. Готовые проекты 2013Дополнительная литератураQuartus II Handbook. Vol. 1. Part 6. Recommended HDL Coding Styles. 2013Внеклассное чтение. Идем в библиотекуhttp://www.vokrugsveta.ru/vs/article/7353/ http://travel.tochka.net/7531-samye-krasivye-biblioteki-mira-shest-must-visit/ http://www.zotero.org/ http://www.aquarium.ru/discography/biblioteka223.html http://www.library.ru/lib/book.php?b_uid=42 http://ieeexplore.ieee.org/http://www.elsevier.com/
Слайды презентации

Слайд 2 2013
Счетчики. Простой суммирующий счетчик.
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY count IS
PORT (clk:

2013Счетчики. Простой суммирующий счетчик.LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY count IS	PORT (clk: IN	STD_LOGIC;		out_data: OUT

IN STD_LOGIC;
out_data: OUT INTEGER RANGE 0 TO 15);
END count;

ARCHITECTURE a

OF count IS
-- внутренний сигнал, так как выход
-- не может быть аргументом в выражении
SIGNAL csignal: INTEGER RANGE 0 TO 15;

Слайд 3 2013

BEGIN
PROCESS (clk)
BEGIN
-- проверка наличия фронта
IF (clk'EVENT AND clk

2013BEGIN	PROCESS (clk)	BEGIN-- проверка наличия фронта		IF (clk'EVENT AND clk = '1') THEN--

= '1') THEN
-- увеличение на единицу
-- проверки на переполнение

нет
csignal <= csignal + 1;
END IF;
END PROCESS;
out_data<= csignal;
END a;

Слайд 4 2013
Временные диаграммы

2013Временные диаграммы

Слайд 5 2013
Временные диаграммы

2013Временные диаграммы

Слайд 6 2013
Диаграммы без учета задержек

2013Диаграммы без учета задержек

Слайд 7 2013
Функциональная симуляция
Это моделирование без учета задержек
Для запуска:
Выбрать функциональную

2013Функциональная симуляцияЭто моделирование без учета задержекДля запуска:Выбрать функциональную симуляцию.Сгенерировать лист связей

симуляцию.
Сгенерировать лист связей для функциональной симуляции (Functional Simulation Netlist)
Запустить

симуляцию

Слайд 8 2013
Выбор типа симуляции

2013Выбор типа симуляции

Слайд 9 2013
Генерация файла связей
Меню:
Processing -> Generate Functional Simulation Netlist

2013Генерация файла связейМеню:Processing -> Generate Functional Simulation Netlist

Слайд 10 2013
Счетчик на RTL уровне

2013Счетчик на RTL уровне

Слайд 11 2013
Счетчик на уровне ЛЭ ПЛИС

2013Счетчик на уровне ЛЭ ПЛИС

Слайд 12 2013
Реверсивный счетчик
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity count is
generic (
MIN_COUNT

2013Реверсивный счетчикlibrary ieee;use ieee.std_logic_1164.all;use ieee.numeric_std.all;entity count is	generic (		MIN_COUNT : natural :=

: natural := 0;
MAX_COUNT : natural := 7);
port (clk

: in std_logic;
reset : in std_logic;
enable : in std_logic;
updown : in std_logic;
q : out integer range MIN_COUNT to MAX_COUNT);
end entity;

Слайд 13 2013
architecture rtl of count is
signal direction : integer;
begin

--

2013architecture rtl of count is	signal direction : integer;begin-- внутренний сигнал выбора

внутренний сигнал выбора направления счета
-- если сигнал равен 1

– сложение
-- «-1» - вычитание

process (updown)
begin
if (updown = '1') then
direction <= 1;
else
direction <= -1;
end if;
end process;

Слайд 14 2013
process (clk)
variable cnt : integer range MIN_COUNT to

2013process (clk)		variable cnt : integer range MIN_COUNT to MAX_COUNT;	begin		if (rising_edge(clk)) then--

MAX_COUNT;
begin
if (rising_edge(clk)) then

-- синхронный сбос
if reset = '1' then
cnt

:= 0;

-- проверка сигнала разрешения работы
elsif enable = '1' then

-- счет
cnt := cnt + direction;
end if;
end if;
q <= cnt;
end process;
end rtl;

Слайд 15 2013
Временные диаграммы работы счетчика.

2013Временные диаграммы работы счетчика.

Слайд 16 2013
Счетчик на RTL уровне

2013Счетчик на RTL уровне

Слайд 17 2013
Счетчик с асинхронным сбросом, синхронной предустановкой и сигналом

2013Счетчик с асинхронным сбросом, синхронной предустановкой и сигналом разрешения счета.LIBRARY ieee;USE

разрешения счета.
LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY count IS
PORT
(d: IN INTEGER

RANGE 0 TO 15;
clk: IN STD_LOGIC;
clrn: IN STD_LOGIC;
ena: IN STD_LOGIC;
load: IN STD_LOGIC;
out_data: OUT INTEGER RANGE 0 TO 15
);

END count;
ARCHITECTURE a OF count IS
SIGNAL csignal: INTEGER RANGE 0 TO 15;

Слайд 18 2013

BEGIN
PROCESS (clk, clrn)
BEGIN
IF clrn = '0' THEN csignal

2013BEGINPROCESS (clk, clrn)BEGINIF clrn = '0' THEN csignal

IF load = '1' THEN csignal <= d;
ELSE
IF ena = '1' THEN
csignal <= csignal + 1;
ELSE
csignal <= csignal;
END IF;
END IF;
END IF;
END PROCESS;
out_data<= csignal;
END a;

Слайд 19 2013
Счетчик. Асинхронный сброс
-- clrn – сигнал сброса:
--

2013Счетчик. Асинхронный сброс-- clrn – сигнал сброса: -- 0 – сброс,

0 – сброс, 1 – работа счетчика
IF clrn =

'0' THEN csignal <= '0';
-- проверка на наличие фронта тактового
-- сигнала
ELSIF (clk'EVENT AND clk = '1') THEN



END IF;

Слайд 20 2013
Счетчик. Синхронная загрузка
ELSIF (clk'EVENT AND clk = '1')

2013Счетчик. Синхронная загрузка ELSIF (clk'EVENT AND clk = '1') THEN	-- пришел

THEN
-- пришел фронт сигнала
-- если активен сигнал загрузки load

– запись
-- входных данных в переменнную csignal
IF load = '1' THEN csignal <= d;
ELSE
IF ena = '1' THEN csignal <= csignal + 1;
ELSE csignal <= csignal;
END IF;
END IF;

Слайд 21 2013
Счетчик. Синхронное разрешение счета.
IF ena = '1' THEN
--

2013Счетчик. Синхронное разрешение счета.		IF ena = '1' THEN 		-- если активен

если активен сигнал разрешения ena
-- то производится инкремент

переменной
csignal <= csignal + 1;
ELSE csignal <= csignal;
END IF;


Слайд 22 2013
Временные диаграммы работы счетчика.

2013Временные диаграммы работы счетчика.

Слайд 23 2013
Диалог шаблонов. Готовые проекты

2013Диалог шаблонов. Готовые проекты

Слайд 24 2013
Дополнительная литература
Quartus II Handbook. Vol. 1. Part 6.

2013Дополнительная литератураQuartus II Handbook. Vol. 1. Part 6. Recommended HDL Coding

Recommended HDL Coding Styles.
Xilinx HDL Coding Techniques. http://www.xilinx.com/itp/3_1i/data/fise/xst/chap02/xst02000.htm


  • Имя файла: tsifrovaya-shemotehnika-schetchiki-vhdl-lektsiya-12.pptx
  • Количество просмотров: 99
  • Количество скачиваний: 0