名称:同步复位同步置位8进制减法计数器设计VHDL代码ISE仿真
软件:ISE
语言:VHDL
代码功能:
同步复位同步置位8进制减法计数器(结构/行为设计)
FPGA半定制设计
实验目的:学习时序电路的设计方法,掌握状态机概念,学习计数器的工作原理以及电路设计方法
学习硬件描述语言VHDL,并掌握 Xilinx ISE设计工具的使用
实验要求:根据题目,用VHDL描述语言设计一个计数器,满足实现n进制计数的要求
在50MHz的输入时钟下,利用 Xilinx ISE进行功能验证撰写设计报告
备注:题目后面括号中(结构/行为设计)要求该题目必须完成结构级和行为级两种设计方法
关于答辩的说明:集成电路综合训练答辩围绕设计题目进行
1)如if语句和case语句的特点
2)如设计原理是什么
3)如设计过程中的难点是什么怎么解决的
4)答辩应能反映设计过程是亲自完成的
关于设计报告的说明
3)设计报告中要求正文的图表清晰,单倍行距小四号字体,双面打印否则扣5分
7)对电路设计要求的理解
8)对电路设计难点的理解
9)能够用仿真波形说明设计的完成情况
10)设计报告中应含有以下内容:设计指标设计原理设计过程综合结果及说明
仿真验证遇到问题和解决办法提问和回答
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
结构级描述
1. 工程文件
2. 程序文件
3. 程序编译
4. Testbench
5. 仿真图
行为级描述
1. 工程文件
2. 程序文件
3. 程序编译
4. Testbench
5. 仿真图
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --8进制减法器顶层 ENTITY sub_8_top IS PORT ( clk : IN STD_LOGIC; reset : IN STD_LOGIC; load : IN STD_LOGIC;--同步置位信号 data : IN STD_LOGIC_VECTOR(2 DOWNTO 0);--置位输入值 data_out : OUT STD_LOGIC_VECTOR(2 DOWNTO 0) ); END sub_8_top; ARCHITECTURE trans OF sub_8_top IS SIGNAL A0 : STD_LOGIC_VECTOR(2 DOWNTO 0) := "000"; SIGNAL D0 : STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL Cout : STD_LOGIC; BEGIN --根据逻辑图整理 D0(0)<= not A0(0); D0(1)<= ((not A0(1)) and (not A0(0))) or (A0(1) and A0(0)); D0(2)<=((not A0(2)) and(not A0(1)) and (not A0(0))) or (A0(2) and A0(0)) or (A0(2) and A0(1)); PROCESS (clk) BEGIN IF (clk'EVENT AND clk = '1') THEN IF (reset = '1') THEN--同步复位,高电平复位 A0 <= "111";--复位为7 ELSIF (load = '1') THEN--同步置位,高电平置位 A0 <= data; ELSE A0 <= D0;--结构描述,调用3位全减器减1 END IF; END IF; END PROCESS;
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1147
751