verilog HDL基础程序

verilog HDL基础程序

ID:40575170

大小:231.00 KB

页数:44页

时间:2019-08-04

verilog HDL基础程序_第1页
verilog HDL基础程序_第2页
verilog HDL基础程序_第3页
verilog HDL基础程序_第4页
verilog HDL基础程序_第5页
资源描述:

《verilog HDL基础程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、涉及到需要时间的并且在不同的时间执行程序时就要用到分频计数器至于需要分频多少看需要执行多少次,也就是需要用到的时间有多少次。3-8译码器//学习38译码器的原理,//拨码开关的123作为输入//本实验采用拨码开关来作为输入,LED作为状态显示//当然如果你的学习板没有拨码开关,可以用key1key2key3作为数据输入。moduledecoder_38(out,key_in);output[7:0]out;//38译码器输出有8钟状态,所以要8个LED灯。input[2:0]key_in;//(123)key1key2

2、key3作为数据输入reg[7:0]out;always@(key_in)begincase(key_in)3'd0:out=8'b11111110;//LED作为状态显示,低电平有效3'd1:out=8'b11111101;3'd2:out=8'b11111011;3'd3:out=8'b11110111;3'd4:out=8'b11101111;3'd5:out=8'b11011111;3'd6:out=8'b10111111;3'd7:out=8'b01111111;endcaseendendmodule1位数码

3、管动态显示//一位数码管试验//利用分频计数器得到数码管,效果moduleSMG_LED(clk_50M,rst,led_bit,dataout);inputclk_50M,rst;//系统时钟50M输入从12脚输入。output[7:0]dataout;//我们这里用数码管,outputled_bit;//一位数码管的位选择reg[7:0]dataout;regled_bit;reg[27:0]count;//分频计数器//分频计数器always@(posedgeclk_50M)begincount<=count+1

4、;//计数器自加endalways@(posedgeclk_50Mornegedgerst)beginled_bit<='b0;//是数码管的位选择处于导通状态case(count[27:24])//case(count[27:24])这一句希望初学者看明白,//也是分频的关键//在数码管上面显示0到F0:dataout<=8'b11000000;//01:dataout<=8'b11111001;2:dataout<=8'b10100100;3:dataout<=8'b10110000;4:dataout<=8'b1

5、0011001;5:dataout<=8'b10010010;6:dataout<=8'b10000010;7:dataout<=8'b11111000;8:dataout<=8'b10000000;9:dataout<=8'b10010000;10:dataout<=8'b10001000;11:dataout<=8'b10000011;12:dataout<=8'b11000110;13:dataout<=8'b10100001;14:dataout<=8'b10000110;15:dataout<=8'b1000

6、1110;//fendcaseendendmodule7段数码管静态显示//本实验就是学习单个数码管的显示moduleSMG_LED(clk_50M,led_bit,dataout);inputclk_50M;//系统时钟50M输入从12脚输入。output[7:0]dataout;//我们这里用数码管,outputled_bit;//一位数码管的位选择reg[7:0]dataout;regled_bit;always@(posedgeclk_50M)beginled_bit<='b0;//是数码管的位选择处于导通状态

7、dataout<=8'b11000000;//修改7段码,可以显示不同的字符//本实验初始是在数码管显示0end数码管静态显示0到7//7段数码管测试实验:以动态扫描方式在8位数码管//“同时”显示0--7//实验的目的是向用户介绍多个数码管动态显示的方法。//动态显示的方法是,按一定的频率轮流向各个数码管的COM端送出低电平//,同时送出对应的数据给各段moduleled_0_7(clk,rst,dataout,en);inputclk,rst;//系统时钟50M输入从12脚输入。output[7:0]dataout

8、;//数码管的段码输出output[7:0]en;//数码管的位选使能输出reg[7:0]dataout;reg[7:0]en;reg[15:0]cnt_scan;//扫描频率计数器reg[4:0]dataout_buf;always@(posedgeclkornegedgerst)beginif(!rst)begincnt_sc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。