实验六 - 数字频率计的Verilog - HDL语言实现(2)

2020-05-04 16:01

五、心得体会

虽然我以前上了Verilog HDL语言,但是这都实习中还是碰到了一些问题,通过向老师,向同学寻求帮助和在网上,在图书馆查找相关的资料来一点点解决遇到的问题,从中感觉自己对VHDL语言的理解又进了一步!对硬件描述语言和纯元件语言,如c语言之间的差别又有了更深一层次的理解,不过自我感觉想要对VHDL语言要很熟练的掌握的话,还需要多多的联系才行的。

六、思考题

1、本设计的测量结果在6个数码管上显示,若采用静态显示的方式,每位 显

示需4根输出线,共需24根据输出线;若用动态扫描方式,只需6+7=13根线。什么叫动态扫描显示方式?你能写出动态扫描输出显示的程序吗?

定顺序(从左至右或从右至左)进行点亮,当点亮的频率(即扫描频率)不大时,我们看到的是数码管一个个的点亮,然而,当点亮频率足够大时,我们看到的不再是一个一个的点亮,而是全部同时显示(点亮),与传统方

答: 动态数码扫描显示方式是利用了人眼的视觉暂留效应,把6个数码管按一

式得到的视觉效果完全一样。 动态扫描输出显示的程序如下:

module led_dong(seg,sl,clk); //静态模块显示 output [7:0] seg; //定义数码管段输出引脚 output[3:0] sl; //定义数码管位(选择)输出引脚 input clk; //定义输入时钟引脚

reg [7:0] seg_reg; //定义数码管段输出寄存器 reg [5:0] sl_reg; //定义数码管位输出寄存器 reg [5:0] disp_dat; //定义显示数据寄存器 reg [29:0] count; //定义计数器寄存器

always@(posedge clk) //定义clk信号下降延触发 begin

count=count+1; //计数器加1 end

always@(count[18:17]) //定义显示数据触发事件 begin

case(count[18:17]) //定义扫描显示数据 3'b000:disp_dat=6'b100000; //显示十万位数 3'b001:disp_dat=6'b010000; //显示万位数 3'b010:disp_dat=6'b001000; //显示千位数 3'b011:disp_dat=6'b000100; //显示百位数 3'b100:disp_dat=6'b000010; //显示十位数 3'b101:disp_dat=6'b000001; //显示个位数

endcase

case(count[19:17]) //选择数码管显示位 3'b000:sl_reg=6'b100000;; //选择个位数码管 3'b001:sl_reg=6'b010000;; //选择十位数码管 3'b010:sl_reg=6'b001000;; //选择百位数码管 3'b011:sl_reg=6'b000100;; //选择千位数码管 3'b100:sl_reg=6'b000010;; //选择万位数码管 3'b101:sl_reg=6'b000001;; //选择十万位数码管 endcase end

always@(disp_dat) //显示译码输出 begin

case(disp_dat) //选择输出数据 6'h0:seg_reg=8'hc0; //显示0 6'h1:seg_reg=8'hf9; //显示1 6'h2:seg_reg=8'ha4; //显示2 6'h3:seg_reg=8'hb0; //显示3 6'h4:seg_reg=8'h99; //显示4 6'h5:seg_reg=8'h92; //显示5 6'h6:seg_reg=8'h82; //显示6 6'h7:seg_reg=8'hf8; //显示7 6'h8:seg_reg=8'h80; //显示8 6'h9:seg_reg=8'h90; //显示9 6'ha:seg_reg=8'h88; //显示a 6'hb:seg_reg=8'h83; //显示b 6'hc:seg_reg=8'hc6; //显示c 6'hd:seg_reg=8'ha1; //显示d 6'he:seg_reg=8'h86; //显示e 6'hf:seg_reg=8'h8e; //显示f endcase end

assign seg=seg_reg; //输出数码管译码结果 assign sl=sl_reg; //输出数码管选择 endmodule

2、本设计与教材《数字系统设计与Verilog HDL语言》实验三的设计有何不同?

答:书上设计输入采用层次化设计,学习混合输入设计方法,即部分底层模块用Verilog HDL实现。而本设计全部采用Verilog HDL实现上述要求的频率计。


实验六 - 数字频率计的Verilog - HDL语言实现(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:在全区收入分配制度改革工作会议上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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