湖南工业大学EDA实验报告

时间:2025-06-23

verilog类实验文档

EDA技术及应用—Verilog HDL版

实 验 报 告

实验一 数字秒表的设计

一、 实验类型

综合性实验

二、实验仪器设备与工具软件

1.PC机(要求内存在256M以上); 2.EDA实验开发系统; 3.Quartus II软件

三、实验目的与任务

1.实验目的:(1)熟悉Quartus II/ISE Design suite/ispLEVER软件的基本使用方法 (2)熟悉EDA实验开发系统(B-ICE-EDA实验开发系统)的使用;

(3)熟悉Verilog HDL过程区块语句、if条件语句和元件实例化语句的综合使用。

(4)熟悉计数器、分频器等Verilog HDL基本逻辑电路的综合设计应用,掌握程序仿真是根据实际情况进行有关参数的调整方法。 2.实验任务:用Verilog HDL设计一个计时范围为0.01秒~1小时的数字秒表,并用Quartus II进行调试和验证,熟悉Verilog HDL程序的基本设计,熟悉Quartus II的设计输入、设计编译、仿真验证、时序分析、器件编程等基本操作。

四、实验基本原理与电路原理图

设计一个计时范围为0.01秒~1小时的数字秒表,首先需要获得一个比较精确的计时基准信号,这里是周期为1/100秒的计时脉冲。其次,除了对每一计数器需设置清零信号输入外,还需在六个计数器设置时钟使能信号,即计时允许信号,以便作为秒表的计时起、停控制开关。因此数字秒表可由一个分频器、四个十进制计数器(分别按1/100秒、1/10秒、1秒、1分的周期进行计数)以及两个六进制计数器(分别按10秒、10分的周期进行计数)组

verilog类实验文档

成,如图1.1所示。六个计数器中的每一计数器的4位输出,通过外设的BCD译码器输出显示。图1.1中六个4位二进制计数输出的最小显示值分别为:dout[3:0] 1/100秒、dout[7:4] 1/10秒、dout[11:8] 1秒、dout[15:12] 10秒、dout[19:16] 1分、dout[23:20] 10分。 实验原理图如下图1.1

clkgen

图1.1 数字秒表电路逻辑图

五、实验步骤

1、erilog HDL源程序

1) 3 MHz→100 Hz分频器的源程序clkgen.v module clkgen(clk, newclk); input clk; output newclk; reg newclk; integer cnt=0;

always @(posedge clk) begin

//if(cnt1<29999) //实际系统分频值 if(cnt < 29) //仿真时的分频值 begin

newclk <= 1'b0; cnt = cnt + 1; end else begin

newclk <= 1'b1; cnt = 0; end end

endmodule

2) 六进制计数器的源程序cnt6.v module cnt6(clk,clr,ena,cq,co);

verilog类实验文档

input clk, clr, ena; output [3:0] cq; output co; reg [3:0] cnt; reg co;

always @(posedge clk or posedge clr) begin

if (clr) cnt <= 4'b0;

else if (ena)

if (cnt==4'h5) cnt <= 4'h0; else

cnt <= cnt + 1; end

assign cq = cnt;

always @(posedge clk ) begin

if (cnt==4'h5) co = 4'h1; else

co= 4'h0; end endmodule

3)十进制计数器源程序cnt10.v module cnt6(clk,clr,ena,cq,co); input clk, clr, ena; output [3:0] cq; output co; reg [3:0] cnt; reg co;

always @(posedge clk or posedge clr) begin

if (clr) cnt <= 4'b0;

else if (ena)

if (cnt==4'h5) cnt <= 4'h0; else

cnt <= cnt + 1; end

assign cq = cnt;

verilog类实验文档

always @(posedge clk ) begin

if (cnt==4'h5) co = 4'h1; else

co= 4'h0; end endmodule

4)数字秒表的源程序times.v

module times(clk, clr, ena, dout); input clk, clr, ena; output [23:0] dout; wire clk, clr, ena; wire [23:0] dout;

wire s0, s1, s2, s3, s4, s5, s6, s7, s8; clkgen u0 (.clk(clk), .newclk(s0));

cnt10 u1 ( .clk(s0), .clr(clr),.ena(ena), .cq (dout[3:0]),.co (s1)); cnt10 u2 ( .clk(s1), .clr(clr),.ena(ena), .cq (dout[7:4]),.co (s2)); cnt10 u3 ( .clk(s2), .clr(clr),.ena(ena), .cq (dout[11:8]),.co (s3)); cnt6 u4 ( .clk(s3), .clr(clr),.ena(ena), .cq (dout[15:12]),.co (s4)); cnt10 u5 ( .clk(s4), .clr(clr),.ena(ena), .cq (dout[19:16]),.co (s5)); cnt6 u6 ( .clk(s5), .clr(clr),.ena(ena), .cq (dout[23:20]),.co ( )); endmodule

2

、序方针和管脚锁定

图1.2使用注释的方法进行程序的有关仿真参数的调整

1)下图1.3和14分别为使用Quartus II 8.0对clkgen和times的时序仿真的结果

verilog类实验文档

图1.3clkgen的时序仿真结果图(分频常数改为30)

图1.4times的时序仿真结果

3

、管脚锁定

图1.5管脚锁定

4.硬件逻辑验证

若使用GW48-CK EDA实验开发系统进行硬件逻辑验证,可选择实验电路结构图1.1和图1.4锁定。时钟信号clk可接CLOCK0,计数清零信号接键3,计数使能信号接键4,数码管1~数码管6分别显示以1/100 秒、1/10 秒、1 秒、10 秒、1 分、10分为计时基准的计数值。 进行硬件验证时方法如下:选择实验模式0,时钟信号clk与CLOCK0信号组中的3 MHz信号相接,键3和键4分别为计数清零信号和计数使能信号,计数开始后时间显示在六个数码管上。

verilog类实验文档

六、总结

这是第一个VerilogHDL版实验,在这次试验中在编写程序时由于自己的粗心导致输入有错误,经过软件调试,发现错误经过修改,最终调试成功,在硬件验证时需要修改相关参数,分频值需要修改为29999,通过本次实验对verilogHDL语言程序编写有了进一步的掌握。

verilog类实验文档

实验二 SOPC设计的基本应用

一、实验 …… 此处隐藏:3116字,全部文档内容请下载后查看。喜欢就下载吧 ……

湖南工业大学EDA实验报告.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219