当前位置:
文档之家› 华南理工大学数字系统设计实验2报告
华南理工大学数字系统设计实验2报告
Y : OUT std_logic_vector (7 downto 0)
);
END ENTITY;
---------------------------------------------------------
-- describe architecture
ARCHITECTURE yimaqi38_arch OF yimaqi38 IS --structure
-- include library
LIBRARY IEEE;
-- IEEE Library
-- include package
USE IEEE.std_logic_1164.ALL; -- use package
USE IEEE.std_logic_unsigned.all;
---------------------------------------------------------
when "001" => Y <= "10111111"; -- 6
when "000" => Y <= "01111111"; -- 7
when others => Y <= "XXXXXXXX";
end case;
ELSE
Y <= "11111111";
END IF; 4
END PROCESS; END ARCHITECTURE; ---------------------------------------------------------
7
-- LIUSHUIDENG
-- SHI XIAN LIU SHUI DENG GONG NENG
-- Quartus II version: Quartus II 9.0
-- Chen Yirong
-- 2017.11.24
---------------------------------------------------------
end if; END IF; END PROCESS; LED_OUT <= light; END behav; ---------------------------------------------------------
2.4 仿真结果
实体电路如下图:
(a) 分频器模块
(b) 流水灯模块
图 6 分频器和流水灯实体电路图
2.2 设计思路
设计分频器模块,其中分频采用计数器实现,它的输入输出框架见图 4。 5
图 4 分频器输入输出框架 分频器控制流水灯的整体框架见图 5。2.3 VH NhomakorabeaL 描述
图 5 分频器控制流水灯框架
用 Quartus II 9.0 设计分频器,代码如下:
---------------------------------------------------------
1.3 VHDL 描述
图 1 3-8 译码器输入输出框架
用 Quartus II 9.0 设计 3-8 译码器,代码如下:
---------------------------------------------------------
-- VHDL experience2
-- Quartus II version: Quartus II 9.0
-- include library
LIBRARY IEEE;
-- IEEE Library
-- include package
USE IEEE.std_logic_1164.ALL; -- use package
USE IEEE.std_logic_unsigned.all;
---------------------------------------------------------
实验二 组合逻辑、时序逻辑基本模块电路设计
地
点:
31 号 楼
312 房; 实验台号:
12
实验日期与时间: 2017 年 11 月 24 日
评 分:
预习检查纪录:
批改教师:
报告内容:
一、实验要求
完成 3-8 译码器的仿真实验设计,并且将编译好的程序生成可下载文件,将生成文 件通过 USB-blaster 为 FPGA 编程;
USE IEEE.std_logic_unsigned.all;
---------------------------------------------------------
3
-- introduce entity
ENTITY yimaqi38 IS
--shiti
PORT (
A,B,C,EN: IN std_logic; -- A,B,C is INPUT and EN is shinengduan
-- Chen Yirong
-- 2017.11.24
---------------------------------------------------------
-- include library
LIBRARY IEEE;
--IEEE Library
-- include package
USE IEEE.std_logic_1164.ALL; --use package
1
表 1 译码表
表 2 信号分配表
编号
信号名
信号说明
EP2C8Q208
1
50MHz
主时钟
Bank1_23_I
2
SW0
按下为低电平 Bank2_208_IO
3
SW1
按下为低电平 Bank2_198_IO
4
SW2
按下为低电平 Bank2_201_IO
5
SW3
按下为低电平 Bank2_199_IO
6
LED0
SIGNAL ABC : std_logic_vector(2 downto 0);
BEGIN
ABC <= A&B&C;
PROCESS(ABC,EN)
BEGIN
IF(EN='0') THEN -- when EN is low, ABC is valid input
case ABC is
when "111" => Y <= "11111110"; -- 0
PROCESS(clk) BEGIN
IF(rising_edge(clk)) then count<=count-1; --dijian if (count>=n/2) then Y<='0'; --fenpin else Y<='1'; end if; if (count<=0) then count<=n-1; end if;
-- describe architecture
ARCHITECTURE behav OF liushuideng IS --structure
SIGNAL light:std_logic_vector(7 DOWNTO 0); -- COUNTER
BEGIN
PROCESS(clk,rst_n)
BEGIN
1.4 仿真结果
实体电路如下图:
仿真波形如下图:
图 2 译码器实体电路图
2 分频器实验
图 3 3-8 译码器仿真结果
2.1 设计要求
1) 将 EDA 板上的系统时钟 50MHz 分频为 1Hz 的时钟信号 2) 占空比为 50% 3) 利用流水灯点亮程序,在 EDA 板上观察效果 4) 实体命名为 clkdiv_(班级号)_(班级序号)
END ENTITY; ---------------------------------------------------------- describe architecture ARCHITECTURE behav OF clkdiv_15dianzhuo_12 IS --structure SIGNAL count:integer RANGE n-1 DOWNTO 0:=n-1; -- COUNTER BEGIN
END IF; END PROCESS; END behav; --------------------------------------------------------用 Quartus II 9.0 设计流水灯电路模块,代码如下: ---------------------------------------------------------- VHDL experience2
-- introduce entity
ENTITY liushuideng is -- shiti
PORT( clk,rst_n:IN std_logic;
LED_OUT:OUT std_logic_vector(7 DOWNTO 0)
);
END ENTITY;
---------------------------------------------------------
-- introduce entity 6
ENTITY clkdiv_15dianzhuo_12 is -- shiti -- change n to change frequence GENERIC( n:integer :=50000000 ); -- leishucanshu PORT( clk:IN std_logic; Y:OUT std_logic);