名称:同步复位同步置位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
449