为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

EDA程序

2019-05-07 13页 doc 25KB 52阅读

用户头像

is_682974

暂无简介

举报
EDA程序1、分频器的设计 奇数y分频:(式中y为我们所要分频的数,而x取只要小于y就行,尽量取中间点的值) module jifenpin(clk,q,reset); input clk,reset; output q; reg[3:0] i; reg q; always@(posedge clk) if(!reset) begin q<=1; i<=0; end else if(i==x) begin q<=~q; i<=i+1; end else if(i==y) begin q<=~q;...
EDA程序
1、分频器的设计 奇数y分频:(式中y为我们所要分频的数,而x取只要小于y就行,尽量取中间点的值) module jifenpin(clk,q,reset); input clk,reset; output q; reg[3:0] i; reg q; always@(posedge clk) if(!reset) begin q<=1; i<=0; end else if(i==x) begin q<=~q; i<=i+1; end else if(i==y) begin q<=~q; i<=0; end else i<=i+1; endmodule 偶数n分频 module erfenpin (q,clk,reset); input reset,clk; output q; reg q; reg [4:0]i; always @ (posedge clk ) if(!reset) begin q<=1'b1; i<=0; end else if(i==n/2) begin q<=~q; i<=0; end else i<=i+1; endmodule 2、频率计 module pinlvji(clk,fin,en,reset,load,reg32b); input clk,fin; output en,reset,load,reg32b; reg en; reg[5:0] i,j,reg32b; always @(posedge clk) en<=~en; assign reset=~(en|clk); assign load=~en; always @(posedge fin) begin if(reset) i=0; else if(en) i=i+1; j=i; end always @(posedge load) if(en==0) reg32b=j; endmodule 3、交通灯(状态机) module jiaotongdeng(clk,reset,sensor1,sensor2,red1,red2,yellow1 ,yellow2,green1,green2); input clk,reset,sensor1; input [2:0]sensor2; output red1,red2,yellow1,yellow2,green1,green2; reg red1,red2,yellow1,yellow2,green1,green2; reg [2:0]state; always @(posedge clk) if(!reset) begin state<=1; red1<=0; red2<=0; yellow1<=0; yellow2<=0; green1<=0; green2<=0; end else case(state) 0:begin if(sensor1==0) begin state<=1; green1<=1; red2<=1; end end 1:begin if(sensor1==0&&sensor2[2]==1) begin state<=2; red2<=1; yellow1<=1; end else if(sensor1==1) begin red1<=1; red2<=1; state<=0; end else state=1; end 2:begin if(sensor1==0&&sensor2[1]==1) begin state<=3; red1<=1; green2<=1; end else if(sensor1==1) begin red1=1; red2=1; state<=0; end else state=2; end 3:begin if(sensor1==0&&sensor2[0]==1) begin state<=4; red1<=1; yellow2<=1; end else if(sensor1==1) begin red1=1; red2=1; state<=0; end else state=3; end 4:begin if(sensor1==0&&sensor2[1]==1) begin state<=1; red2<=1; green1<=1; end else if(sensor1==1) begin red1=1; red2=1; state<=0; end else state=4; end endcase endmodule 4、数字时钟 module shizhong(clk,s,m,h); input clk; output[5:0] s,m,h; reg[5:0] s,m,h; reg mt,ht; wire mtclk,htclk; always@(posedge clk) begin if(s==59) begin s<=0; mt<=1; end else begin s<=s+1; mt<=0; end end assign mtclk=mt; always@(posedge mtclk) begin if(m==59) begin m<=0; ht<=1; end else begin m<=m+1; ht<=0; end end assign htclk=ht; always@(posedge htclk) begin if(h==23) h<=0; else h<=h+1; end endmodule 5、组合逻辑(数字时钟) module digit_clock(s,m,h,clk,clr,en); output [7:0] s,m; output [7:0] h; input clk,clr,en; wire clk,clr,en; wire[7:0] s,m,h; wire count_s,count_m,count_h; count_60 u0(s[7:4],s[3:0],count_s,clk,clr,en); count_60 u1(m[7:4],m[3:0],count_m,clk,clr,count_s); count_24 u2(h[7:4],h[3:0],count_h,clk,clr,count_m); endmodule
/
本文档为【EDA程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索