eda课设附录程序及仿真

eda课设附录程序及仿真

ID:39548210

大小:104.50 KB

页数:6页

时间:2019-07-06

eda课设附录程序及仿真_第1页
eda课设附录程序及仿真_第2页
eda课设附录程序及仿真_第3页
eda课设附录程序及仿真_第4页
eda课设附录程序及仿真_第5页
资源描述:

《eda课设附录程序及仿真》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、附录一分频模块及源程序moduleclk(clk_25M,clk1,reset);//端口的定义inputclk_25M,reset;//总的时钟是25Moutputclk1;//分频后输的时钟regclk1;reg[31:0]count;//32位的计数器always@(posedgeclk_25Mornegedgereset)//异步复位beginif(!reset)beginclk1<='d0;count=32'd0;endelseif(count==32'd12500_000)//判断计时器记到了12500_000吗begi

2、ncount<=32'd0;//计到12500_000计数器清零clk1<=~clk1;//输出的时钟取反end//endbeginelsecount<=count+1'd1;//没计到25000_000计数器加一end//endalwaysendmodule//结束分频模块附录二计程部分计程模块从波形图可以看出在时钟的控制下,当reset为高电平且start为高电平的时候distance开始计数,当计到大于三的时候输出了distance_enable为高电平。准备对第4公里以后的脉冲进行加计费。modulejicheng(clk1

3、,start,reset,distance,distance_enable);inputclk1,start,reset;output[11:0]distance;reg[11:0]distance;outputdistance_enable;wiredistance_enable;always@(posedgeclk1ornegedgereset)beginif(!reset)begindistance<=11'd0;endelseif(start)beginif(distance[3:0]==9)begindistance[3:

4、0]<=4'd0;if(distance[7:4]==9)begindistance[7:4]<=4'd0;if(distance[11:8]==9)distance[11:8]<=4'd0;elsedistance[11:8]<=distance[11:8]+1'd1;endelsedistance[7:4]<=distance[7:4]+1'd1;endelsedistance[3:0]<=distance[3:0]+1'd1;endendassigndistance_enable=((((distance[3:0]==0)

5、

6、

7、(distance[3:0]==5))&&(distance[7:4]>=5))

8、

9、((distance[11:8]!=0)&&((distance[3:0]==0)

10、

11、(distance[3:0]==5))))?1'd1:1'd0;Endmodule附录三计时部分计时模块从波形图可以看出在clk的控制下当start为低电平reset为高电平的时候时间计数,当时间大于二分钟的时候,time_enable为输出高电平,每60s产生一个计费脉冲modulejishi(clk2,reset,start,s,m,time_enable);i

12、nputclk2,reset,start;output[7:0]s;output[7:0]m;outputtime_enable;reg[7:0]s;reg[7:0]m;wiretime_enable;always@(posedgeclk2ornegedgereset)beginif(!reset)begins<=8'd0;m<=8'd0;endelseif(!start)beginif(s[3:0]==9)begins[3:0]<=4'd0;if(s[7:4]==5)begins[7:4]<=4'd0;if(m[3:0]==9)b

13、eginm[3:0]<=4'd0;if(m[7:4]==9)m[7:4]<=4'd0;elsem[7:4]<=m[7:4]+1'd1;endelsem[3:0]<=m[3:0]+1'd1;endelses[7:4]<=s[7:4]+1'd1;endelses[3:0]<=s[3:0]+1'd1;endendassigntime_enable=((m[7:0]>8'd0)&&(s[7:0]==8'd0))?1'd1:1'd0;endmodule附录四计费部分计费模块从波形图可以看出reset用于将费用计数器复位为起步价8.0元;由于本

14、仿真select_clk信号并非是系统选择出来的公里脉冲和计时脉冲,通过认为设定,不影响其观察功能效果。modulejifei(select_clk,reset,fei);inputselect_clk,reset;output[11

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

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

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