FPGA实验 报告二
实验名称:姓 名:学 号:班 级:指导老师:时 间: 基于HDL十进制计数器设计 2013年3月18日
实验二:基于HDL十进制计数器设计
一、实验目的
1、掌握基于语言的ISE设计全流程;
2、熟悉、应用VerilogHDL描述数字电路;
3、掌握基于Verilog的组合和时序逻辑电路的设计方法
二、实验要求
1、用HDL语言设计七段显示译码电路,以及十进制加法计数器。
2、要求LED定位显示。
3、完成LED七段码波形的仿真分析 4、在目标板按要求显示译码结果。
三、实验原理
本次试验将完成的设计是一个具有数显输出的十进制计数器。示意图如2.1所示。
图2.1
七段数码管属于数码管的一种,是由7段二极管组成。按发光二极管单元衔接方式分为共阳极数码管和共阴极数码管。本实验使用共阴数码管。它是指将一切发光二极管的阴极接到一同构成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平相应
字段就点亮,当某一字段的阳极为低电平相应字段就不亮。
显示译码器,用HDL语言判断CLK的上升沿信号,每次收到一次上升沿信号,计数器的值加一并显示在数码管上,所以本次实验会将十进制计数与七段数码管的显示分别写在两个模块里面。
消抖模块,这次不用学生完成,只用在最后的top文件中调用就行。 本实验可以采用ISE软件的HDL语言描述七段数码管的功能与十进制计数功能。完成的设计是一个具有数显输出的十进制计数器。
四、实验步骤
1、设计准备 (1)设计任务表述: 输入信号:
clk -------待计数的时钟
clr ---------异步清零信号,当clr=1,输出复位为0,当clr=0,正常计数 ce---------使能控制信号,当ce=1,电路正常累加计数,否则电路不工作 输出信号:
q[6:0]---------驱动数码管,显示计数值的个位
cout -----------驱动发光二极管,显示计数值向十位的进位 (2)本实验共包括3个模块:
十进制计数器 驱动七段数码管模块
消抖模块,待计数的时钟clk输入至计数器前,先通过消抖模块。 (3)十进制计数器:对输入时钟进行计数
输入:
CLK------待计数的时钟
CLR ------异步清零信号,当CLR =1,输出复位为0;当CLR =0,正常计数
ENA-------使能控制信号,当ENA=1,电路正常累加计数,否则电路不工作 输出:
SUM[3:0]----------计数值的个位 COUT ----------计数值的十位进位