ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:15.84KB ,
资源ID:478709      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-478709.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Verilog HDL 6位数码管扫描驱动汇总.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

Verilog HDL 6位数码管扫描驱动汇总.docx

1、Verilog HDL 6位数码管扫描驱动汇总Verilog HDL 6位数码管扫描驱动生成0-999999的数字用于显示 module DIGIT_CREATE_MODULE(CLK,RST,Number);input CLK,RST;output19:0 Number;reg22:0 rCLK_DIV;reg19:0 rNumber;always (posedge CLK or negedge RST)if(!RST)beginrCLK_DIV=22D0;rNumber=20D0;endelse if(rCLK_DIV=22D4999999)beginrCLK_DIV=22D0;if(rN

2、umber=20D999999) rNumber=20D0; else rNumber=rNumber+1B1;endelserCLK_DIV=rCLK_DIV+1B1;assign Number=rNumber;endmodule数码管驱动module DIGIT_MODULE(CLK,RST,DIG,SEL,BCD0,BCD1,BCD2,BCD3,BCD4,BCD5);input CLK,RST;output7:0 DIG;output5:0 SEL;input3:0 BCD0,BCD1,BCD2,BCD3,BCD4,BCD5;parameter N0 = 8B11000000, N1 =

3、 8b11111001, N2 = 8b10100100, N3 = 8b10110000, N4 = 8b10011001,N5 = 8B10010010, N6 = 8b10000010, N7 = 8b11111000, N8 = 8b10000000, N9 = 8b10010000;reg7:0 rD0,rD1,rD2,rD3,rD4,rD5;always (posedge CLK or negedge RST)if(!RST)beginrD0=N0;rD1=N0;rD2=N0;rD3=N0;rD4=N0;rD5=N0;endelsebegincase(BCD0)4D0: rD0=N

4、0;4D1: rD0=N1;4D2: rD0=N2;4D3: rD0=N3;4D4: rD0=N4;4D5: rD0=N5;4D6: rD0=N6;4D7: rD0=N7;4D8: rD0=N8;4D9: rD0=N9;default: rD0=N0;endcase;case(BCD1)4D0: rD1=N0;4D1: rD1=N1;4D2: rD1=N2;4D3: rD1=N3;4D4: rD1=N4;4D5: rD1=N5;4D6: rD1=N6;4D7: rD1=N7;4D8: rD1=N8;4D9: rD1=N9;default: rD1=N0;endcase;case(BCD2)4D

5、0: rD2=N0;4D1: rD2=N1;4D2: rD2=N2;4D3: rD2=N3;4D4: rD2=N4;4D5: rD2=N5;4D6: rD2=N6;4D7: rD2=N7;4D8: rD2=N8;4D9: rD2=N9;default: rD2=N0;endcase;case(BCD3)4D0: rD3=N0;4D1: rD3=N1;4D2: rD3=N2;4D3: rD3=N3;4D4: rD3=N4;4D5: rD3=N5;4D6: rD3=N6;4D7: rD3=N7;4D8: rD3=N8;4D9: rD3=N9;default: rD3=N0;endcase;case

6、(BCD4)4D0: rD4=N0;4D1: rD4=N1;4D2: rD4=N2;4D3: rD4=N3;4D4: rD4=N4;4D5: rD4=N5;4D6: rD4=N6;4D7: rD4=N7;4D8: rD4=N8;4D9: rD4=N9;default: rD4=N0;endcase;case(BCD5)4D0: rD5=N0;4D1: rD5=N1;4D2: rD5=N2;4D3: rD5=N3;4D4: rD5=N4;4D5: rD5=N5;4D6: rD5=N6;4D7: rD5=N7;4D8: rD5=N8;4D9: rD5=N9;default: rD5=N0;endc

7、ase;endreg11:0 rCLK_DIV;always (negedge CLK or negedge RST)if(!RST)rCLK_DIV=12D0;else if(rCLK_DIV=12D3599)rCLK_DIV=12D0;elserCLK_DIV=rCLK_DIV+1B1;reg5:0 rSEL;reg7:0 rDIG;always (negedge CLK or negedge RST)if(!RST)beginrSEL=6B111111;rDIG=N0;endelse if(rCLK_DIV=12D0)beginrSEL=6B111110;rDIG=rD5;endelse

8、 if(rCLK_DIV=12D600)beginrSEL=6B111101;rDIG=rD4;endelse if(rCLK_DIV=12D1200)beginrSEL=6B111011;rDIG=rD3;endelse if(rCLK_DIV=12D1800)beginrSEL=6B110111;rDIG=rD2;endelse if(rCLK_DIV=12D2400)beginrSEL=6B101111;rDIG=rD1;endelse if(rCLK_DIV=12D3000)beginrSEL=6B011111;rDIG=rD0;endassign DIG=rDIG;assign SE

9、L=rSEL;endmodule20bit二进制转BCD码module BIN_TO_BCD_MODULE(BIN,BCD0,BCD1,BCD2,BCD3,BCD4,BCD5);parameter BIT_WIDTH=20;input BIT_WIDTH-1:0 BIN;output 3:0 BCD0,BCD1,BCD2,BCD3,BCD4,BCD5;function3:0 LSA3;input 3:0 IN;case (IN)4B0000: LSA3 = 4B0000;4B0001: LSA3 = 4B0001;4B0010: LSA3 = 4B0010;4B0011: LSA3 = 4B0

10、011;4B0100: LSA3 = 4B0100;4B0101: LSA3 = 4B1000;4B0110: LSA3 = 4B1001;4B0111: LSA3 = 4B1010;4B1000: LSA3 = 4B1011;4B1001: LSA3 = 4B1100;default: LSA3 = 4B0000;endcaseendfunctionwire 3:0 wA1:BIT_WIDTH-3;wire 3:0 wB1:BIT_WIDTH-3;assign wA1=1B0,BINBIT_WIDTH-1:BIT_WIDTH-3;assign wB1=LSA3(wA1);genvar gB;

11、generate for(gB=2;gB=BIT_WIDTH-3;gB=gB+1)begin : CAassign wAgB=wBgB-12:0,BINBIT_WIDTH-gB-2;assign wBgB=LSA3(wAgB);endendgeneratewire 3:0 wC1:BIT_WIDTH-6;wire 3:0 wD1:BIT_WIDTH-6;assign wC1=1B0,wB13,wB23,wB33;assign wD1=LSA3(wC1);genvar gD;generate for(gD=2;gD=BIT_WIDTH-6;gD=gD+1)begin : CBassign wCg

12、D=wDgD-12:0,wBgD+23;assign wDgD=LSA3(wCgD);endendgeneratewire 3:0 wE1:BIT_WIDTH-9;wire 3:0 wF1:BIT_WIDTH-9;assign wE1=1B0,wD13,wD23,wD33;assign wF1=LSA3(wE1);genvar gF;generate for(gF=2;gF=BIT_WIDTH-9;gF=gF+1)begin :CCassign wEgF=wFgF-12:0,wDgF+23;assign wFgF=LSA3(wEgF);endendgeneratewire 3:0 wG1:BI

13、T_WIDTH-12;wire 3:0 wH1:BIT_WIDTH-12;assign wG1=1B0,wF13,wF23,wF33;assign wH1=LSA3(wG1);genvar gH;generate for(gH=2;gH=BIT_WIDTH-12;gH=gH+1)begin :CDassign wGgH=wHgH-12:0,wFgH+23;assign wHgH=LSA3(wGgH);endendgeneratewire 3:0 wI1:BIT_WIDTH-15;wire 3:0 wJ1:BIT_WIDTH-15;assign wI1=1B0,wH13,wH23,wH33;as

14、sign wJ1=LSA3(wI1);genvar gJ;generate for(gJ=2;gJ=BIT_WIDTH-15;gJ=gJ+1)begin :CEassign wIgJ=wJgJ-12:0,wHgJ+23;assign wJgJ=LSA3(wIgJ);endendgeneratewire 3:0 wK1:BIT_WIDTH-18;wire 3:0 wL1:BIT_WIDTH-18;assign wK1=1B0,wJ13,wJ23,wJ33;assign wL1=LSA3(wK1);genvar gL;generate for(gL=2;gL=BIT_WIDTH-18;gL=gL+

15、1)begin :CFassign wKgL=wLgL-12:0,wJgL+23;assign wLgL=LSA3(wKgL);endendgenerateassign BCD0=wBBIT_WIDTH-32:0,BIN0;assign BCD1=wDBIT_WIDTH-62:0,wBBIT_WIDTH-33;assign BCD2=wFBIT_WIDTH-92:0,wDBIT_WIDTH-63;assign BCD3=wHBIT_WIDTH-122:0,wFBIT_WIDTH-93;assign BCD4=wJBIT_WIDTH-152:0,wHBIT_WIDTH-123;assign BCD5=wLBIT_WIDTH-182:0,wJBIT_WIDTH-153;endmodule

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2