数字电压表的verilog程序

数字电压表的verilog程序

ID:19712484

大小:47.50 KB

页数:6页

时间:2018-10-05

数字电压表的verilog程序_第1页
数字电压表的verilog程序_第2页
数字电压表的verilog程序_第3页
数字电压表的verilog程序_第4页
数字电压表的verilog程序_第5页
资源描述:

《数字电压表的verilog程序》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、//*********************************************************//**TLC549控制程序//*********************************************************moduleTLC549(clk,reset,sdata,cs,adc_clk,data_out);inputclk,reset,sdata;outputcs,adc_clk;output[7:0]data_out;regcs;reg[7:0]data_out;reg[7:0]data_out_r;reg[7:0]c

2、ount_clk;regadc_clk_r;regclk_r;regmark;//标识八位数据regflag;//标识八位数据接收完reg[3:0]cnt;//标识八位数的个数parameters0=0,s1=1,s2=2;reg[2:0]c_st;reg[5:0]temp;//1.4us的计数assignadc_clk=adc_clk_r;//assignadc_clk_r=~clk_r;always@(posedgeclk)beginif(count_clk<119)count_clk=count_clk+1;elsebegincount_clk<=0;clk_r=~cl

3、k_r;endendalways@(posedgeclk)beginadc_clk_r=~clk_r;endalways@(posedgeclk_rornegedgereset)beginif(!reset)c_st<=s0;elsecase(c_st)s0:begincs<=1;mark<=0;if(temp==3)beginc_st<=s1;temp<=0;endelsebegintemp<=temp+1;c_st<=s0;endends1:begincs<=0;mark<=1;c_st<=s2;ends2:begincs<=0;mark<=1;if(flag==1)c_

4、st<=s0;elsec_st<=s2;enddefault:c_st<=s0;endcaseendalways@(posedgeadc_clk_r)beginif(mark==1)beginif(flag==1)data_out<=data_out_r;elsebegindata_out_r<={data_out_r[6:0],sdata};endendendalways@(posedgeadc_clk_r)beginif(mark==1)beginif(cnt==8)begincnt<=0;flag<=1;endelsebegincnt<=cnt+1;flag<=0;en

5、dendendendmodule//*********************************************************//**10进制加法器//*********************************************************modulecnt10(V1,V2,q,c_in,c_out);input[3:0]V1,V2;inputc_in;output[3:0]q;outputc_out;reg[3:0]q;rega,b;regc_out;always@(V1,V2)beginif((V1[3:0]+V2[3:0

6、]>9)

7、

8、((V1[3:0]>=8)&&(V2[3:0]>=8))

9、

10、((V1[3:0]>=9)&&(V2[3:0]>=7))

11、

12、((V1[3:0]>=7)&&(V2[3:0]>=9)))a=1;elsea=0;if(V1[3:0]+V2[3:0]==9)b=1;elseb=0;endalways@(V1,V2,c_in,a)beginif(a==1&&c_in==1&&b==0)q[3:0]<=V1[3:0]+V2[3:0]+7;elseif(a==1&&c_in==0&&b==0)q[3:0]<=V1[3:0]+V2[3:0]+6;elseif(a==0&&c_in==

13、1&&b==0)q[3:0]<=V1[3:0]+V2[3:0]+1;elseif(a==0&&c_in==1&&b==1)q[3:0]<=V1[3:0]+V2[3:0]+7;elseq[3:0]<=V1[3:0]+V2[3:0];endalways@(a,V1,V2,c_in)beginif(a==1

14、

15、(V1[3:0]+V2[3:0]==9&&c_in==1))c_out=1;elsec_out=0;endendmodule//*************************************

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

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

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