НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ
Институт автоматики и вычислительной техники
Кафедра Вычислительных Машин, Систем И Сетей
Лабораторная работа №1 по курсу "Современные методы
проектирования цифровых устройств"
Выполнила студент
группы А-07м-16
Сафоненко Даниил
Москва, 2016
Описание D-траггера
library IEEE;-- используется стандартная библиотека IEEE
use IEEE.STD_LOGIC_1164.ALL;-- подключаемые пакеты
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;--ниже закомментированы неиспользуемые
---- Uncomment the following library declaration if instantiating
---- any XILINX primitives in this code.
---- library UNISIM;
---- use UNISIM.VComponents.all;
----- Описание объекта проекта dff-----------------------------------------
entity dff is -- объект проекта D- триггер – описание его интерфейса
Port ( d : in std_logic;
clk : in std_logic;
q : out std_logic);
end dff;
architecture Behavioral of dff is -- поведенческое описание D- триггера
begin
process (clk)
begin
if ( clk='1' and clk'event) then
q<=d;
end if;
end process;
end Behavioral;
Тестовая программа
---- Описание тестирующей программы может быть в отдельном файле, а для
---- его автоматизированного получения можно использовать средства САПР ISE.
LIBRARY ieee; --подключение стандартных библиотек и пакетов
USE ieee.std_logic_1164.ALL;
USE ieee.std_logic_unsigned.all;
USE ieee.numeric_std.ALL;
ENTITY dff_test_bench IS --описание интерфейса теста dff_test_bench
END dff_test_bench;
ARCHITECTURE behavior OF dff_test_bench IS
-- Component Declaration for the Unit Under Test (UUT)
COMPONENT dff
PORT(d : IN std_logic; clk : IN std_logic; q : OUT std_logic);
END COMPONENT;
--Inputs-входы, язык VHDL не различает прописные и строчные буквы
SIGNAL d : std_logic := '0';-- в именах и ключевых словах
SIGNAL clk : std_logic := '0';
--Outputs-выходы
SIGNAL q : std_logic;
BEGIN -- инсталяция тестируемого объекта-Instantiate the Unit Under Test (UUT)
uut: dff PORT MAP(d => d, clk => clk, q => q );
-------------Тест сделан с учетом возможности не только поведенческого,
-------------но и пост-синтезного моделирования
gen: process --- процесс- генератор тактов - период 20 ns
begin
clk<='0';wait for 20 ns;
clk <= '1';wait for 20 ns;
end process;
test: process
begin
wait for 100ns;
wait until clk'event and clk='0'; d<='0';
wait until clk'event and clk='0'; d<='1';
wait until clk'event and clk='0'; d<='0';
end process;
-- процесс сравнения выходов тестируемого объекта с ожидаемыми
check: process -- процесс самопроверки
begin
wait until clk'event and clk='1';
wait for 19 ns;-- задержка на предполагаемое время прохождения
---сигнала в D-триггере и выходном порте микросхемы!
assert(d = q) report "OCHIBKA !! MISCOMPARING ERROR"
severity FAILURE;
end process;
end;
Synthesis report
Release 14.7 - xst P.20131013 (nt64)
Copyright (c) 1995-2013 Xilinx, Inc. All rights reserved.
--> Parameter TMPDIR set to xst/projnav.tmp
Total REAL time to Xst completion: 0.00 secs
Total CPU time to Xst completion: 0.06 secs
--> Parameter xsthdpdir set to xst
Total REAL time to Xst completion: 0.00 secs
Total CPU time to Xst completion: 0.06 secs
--> Reading design: dff.prj
TABLE OF CONTENTS
1) Synthesis Options Summary
2) HDL Compilation
3) Design Hierarchy Analysis
4) HDL Analysis
5) HDL Synthesis
5.1) HDL Synthesis Report
6) Advanced HDL Synthesis
6.1) Advanced HDL Synthesis Report
7) Low Level Synthesis
8) Partition Report
9) Final Report
9.1) Device utilization summary
9.2) Partition Resource Summary
9.3) TIMING REPORT
=========================================================================
* Synthesis Options Summary *
=========================================================================
---- Source Parameters
Input File Name : "dff.prj"
Input Format : mixed
Ignore Synthesis Constraint File : NO
---- Target Parameters
Output File Name : "dff"
Output Format : NGC
Target Device : xc3s50-5-pq208
---- Source Options
Top Module Name : dff
Automatic FSM Extraction : YES
FSM Encoding Algorithm : Auto
Safe Implementation : No
FSM Style : LUT
RAM Extraction : Yes
RAM Style : Auto
ROM Extraction : Yes
Mux Style : Auto
Decoder Extraction : YES
Priority Encoder Extraction : Yes
Shift Register Extraction : YES
Logical Shifter Extraction : YES