时序实验设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE PAGE # 时序实验设计1 :用verilog语言描用D触发器 设计电路如下: do ut~reg0 PRE D Q ENA CLR Y reg1~0 rec 1~reg0 PRE D Q U elk 1 T) JJ丿 ENA CLR reset 1—■— i H din ■ Verilog语言的描述如下: timescale 1ns/100ps module ddff_ (clk,din,reset,reg1,dout); input din,clk,reset; output dout,reg1; reg reg1,dout; wire din,clk,reset; always@(posedge clk,negedge reset) begin if(reset==0) begin dout=0; reg1=0; end else begin reg1=dinAdout; dout=reg1Adout; end end endmodule 设计说明:D触发器采用异步复位,输入为reset, clk , din ,输出为reg1,dout,时钟的上升沿有效。且 reg1=dinAdout,dout=reg1Adout 。 时序实验设计2:流水灯的设计(移位寄存器) 设计电路如下: Verilog语言的描述如下: timescale 1ns/100ps module liushuiding(reset,clk,led); input clk,reset; output [7:0]led; reg[31:0] count; reg [7:0]led; always@(negedge reset,posedge clk) begin if(!reset) begin Ied=8 count=32b0; end else begin if(countv) begin count=count+1; end else begin led[7:0]={led[6:0],led[7]}; count=32b0; end end end endmodule 移位寄存器采用异步复位, 当reset信号有效时最右侧的led点亮,当reset信号无效情况下,每隔一秒钟依次左移,时 钟信号为 50mhz的elk,计数器通过计数 elk的上升沿来确定一秒的时间,左移操作通过拼接完成。 设计电路如下: Verilog语言的描述代码如下: timescale 1ns/100ps else if(b9) ocom=4b1110; module begin data=a; count_show(reset,key,clk,seg,ocom); b=b+1; end input reset; a=0; else if(state==S1) input key; end begin input clk; else if(c9) ocom=4b1101; output [7:0]seg; begin data=b; output [3:0]ocom; c=c+1; end reg[31:0]count1; b=0;a=0; else if(state==S2) reg[31:0]count2; end begin reg [7:0] seg; else if(d9) ocom=4b1011; reg [3:0]ocom; begin data=c; reg clk1; d=d+1;c=0; end reg[3:0]a,b,c,d,data; b=0;a=0; else parameter[1:0] S0 = 2b00, S1 = 2b01, S2 end begin =2b10,S3=2b11; else ocom=4b0111; reg [1:0] state, next_state; begin data=d; always@(posedge clk) a=0;b=0;c=0;d=0; end begin end end if(count1100000) end always@(data) begin end begin count1=count1+1; always@(posedge clk1) case(data) clk1=0; begin 4b0000:seg=8b;//0,90 end state = next_state; 4b0001:seg=8b;//1,9f else case (state) 4b0010:seg=8//2,58 begin S0: next_state = S1; 4b0011:seg=8//3,19 clk1=1;

文档评论(0)

cooldemon0601 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档