实验4 计数器加译码器设计和基于LPM宏模块的计数器设计

更新时间:2023-11-05 04:36:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验报告

实验名称:

实用数字电子设计基础

计数器加译码器设计和基于LPM宏模块的计数器设计

实验目的:初步掌握Quartus II基于LPM宏模块的设计流程与方法并由此引出基于LPM模块的许多其他实用数字系统的自动设计技术。 实验内容:

根据教材175页8.5节的流程,利用Quartus II完成基于LPM宏模块的计数器设计编辑和仿真测试等步骤,给出仿真波形。

在实验系统上硬件测试,验证此设计的功能并进行解说。对于引脚锁定以及硬件下载测试。

计数器加译码器设计

(1)程序输入: dec17s程序:

module dec17s(a,led7s); input [3:0] a; output [6:0] led7s; reg [6:0] led7s; always @(a) case(a)

4'b0000: led7s <= 7'b0111111; 4'b0001: led7s <= 7'b0000110; 4'b0010: led7s <= 7'b1011011; 4'b0011: led7s <= 7'b1001111; 4'b0100: led7s <= 7'b1100110; 4'b0101: led7s <= 7'b1101101; 4'b0110: led7s <= 7'b1111101; 4'b0111: led7s <= 7'b0000111; 4'b1000: led7s <= 7'b1111111; 4'b1001: led7s <= 7'b1101111;

4'b1010: led7s <= 7'b1110111; 4'b1011: led7s <= 7'b1111100; 4'b1100: led7s <= 7'b0111001; 4'b1101: led7s <= 7'b1011110; 4'b1110: led7s <= 7'b1111001; 4'b1111: led7s <= 7'b1110001; default: led7s <= 7'b0000000; endcase endmodule

count的程序:

module count(en,clk,clr,cout,outy); input en,clk,clr; output [3:0]outy; output cout; reg [3:0]outy;

always @ (posedge clk or posedge clr) begin

if(clr) outy<=4'b0000; else if(en)

begin if(outy==4'b1111) outy<=4'b0000; else outy<=outy+1'b1; end

end

assign cout=((outy==4'b1111)&en)?1'b1:1'b0; endmodule (2)电路图:

(3)编译:

(4)引脚锁定:

(5)仿真报告:

(6)分析报告:

键3控制使能,键4控制清零,时钟clock0选择4Hz,按下键3,数码管8开始从0开始计数,一直到F,重新开始,继续循环从0开始,按下键4立即清零。

本文来源:https://www.bwwdw.com/article/gba2.html

Top