。
西南科技大学
实 验 报 告
FPGA现代数字系统设计
实验题目:含异步清零和同步使能的4位加法计数器 专业班级:
-可编辑修改-
。
学生姓名: 学生学号: 实验时间: 指导教师:
实验二 含异步清0和同步使能的4位加法计数器 一、实验目的:
学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL技术。
二、原理说明:
图2.1是一含计数使能、异步复位和计数值并行预置功能4位加法计数器,例2.1是其VHDL描述。由图2-1所示,
4位锁存器;
rst是异步清0信号,高电平有效; clk是锁存信号;
D[3..0]是4位数据输入端。
ENA是使能信号,当ENA为'1'时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为'0'时将\加载于锁存器。
-可编辑修改-
。
图2-1含计数使能、异步复位和计数值并行预置功能4位加法计数器
三、实验内容:
1、在QuartusII上对例2-1进行编辑、编译、综合、适配、仿真。说明例中各语句的作用,详细描述示例的功能特点,给出其所有信号的时序仿真波形。 【例2-1】
module CNT4B(CLK,RST,ENA,CLK_1,RST_1,ENA_1,OUTY,COUT);//端口声明
input CLK,RST,ENA; output CLK_1,RST_1,ENA_1; output[3:0] OUTY; output COUT;
reg[3:0] OUTY;
reg COUT;//寄存器变量OUTY,位宽为1 wire CLK_1; wire RST_1; wire ENA_1; assign CLK_1 = CLK; assign RST_1 = RST; assign ENA_1 = ENA;
always@(posedge CLK or negedge RST) /*当CLK上升沿或者RST上升沿时,触发always模块执行*/ begin
if(!RST)
begin
-可编辑修改-
。
*/
OUTY<=4'b0000;
COUT<=1'b0;/*当复位信号等于0时,计数OUTY、COUT置0*/ end
else
if(ENA) /*当使能信号为1时,计数器计数工作*/
begin
OUTY<=OUTY+1;
COUT<=OUTY[0] & OUTY[1] & OUTY[2] & OUTY[3]; /*计数显示end
end endmodule
2保存计数器程序为CNT4B.vhd,进行功能仿真、全编译、时序仿真,如出现错误请按照错误提示进行修改,保证设计的正确性。 3锁定引脚
pin ENA CLK RST location PIN_N25 PIN_G26 PIN_N23 PIN_AC2OUTY[0] 1 PIN_AA1OUTY[1] 4 OUTY[2] PIN_Y13 PIN_AA1OUTY[3] 3 COUT PIN_Y12 DE2上的名称 SW[0] KEY0 KEY1 LEDR[7] LEDR[8] LEDR[9] LEDR[10] LEDG[8] -可编辑修改-
。
CLK_1 RST_1 PIN_AE22 LEDG[0] PIN_AF22 LEDG[1] PIN_AE2ENA_1 3 4 下载
采用JATG方式进行下载,通过ENA,CLK,RST输入,观察的LEDR[0],LEDR[7],LEDR[8],LEDR[9],LEDR[10],LEDG[0],LEDG[1],LEDG[8]亮灭验证计数器的逻辑功能。
5 使用SIGNALTAP II对CNT4B计数器中的COUT, OUTY进行实时测试。
四、实验结果与分析 功能仿真:
LEDR[0]
时序编译:
-可编辑修改-