Verilog_HDL(教学PPT).pptVIP

  1. 1、本文档共228页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Verilog_HDL(教学PPT)

Verilog HDL 复杂数字系统设计;例1-1:11111010000序列检测器 module shift(q,s,d,clk); output[11:0] q; output s; input d; input clk; reg[11:0] q; reg s; always @(posedge clk) begin q=q1; q[0]=d; end always @(posedge clk) if(q==12b 11111010000) s=1; else s=0; endmodule ;例1-2列信号发生器。 module generator (out,clk); output[2:0] state; output out; input clk; reg[2:0] state ; reg out; always @(posedge clk) begin state=state+1 ; case(state) 3’b000:out=1; 3’b001:out=1; 3’b010:out=0; 3’b011:out=1; 3’b100:out=0; 3’b101:out=1; 3’b110:out=0; 3’b111:out=0; default: out=0; endcase end endmodule;例1-3:设计一个容量为1kB的RAM。 module memory (d,a,we,rd); inout[7:0] d; input[9:0] addr; input we,rd; wire[7:0] q ; assign d= rd ? q: 8’hzz; lpm_ram_dp0 ram0(d ,a , a ,we,rd,q); endmodule ;第一章 先进先出数据缓冲器设计;;;1.2 状态转换图 采用同步时序 状态机: 3个状态;1.3 FIFO模型设计之一 //FIFO //Size:255Bytes module fifo(clk,nreset,pe,ph,fifo_in,fifo_out,fifo_wr,fifo_rd, busy,empty,full,state,wr,rd); input clk,nreset,fifo_wr,fifo_rd;// input[7:0] fifo_in; output[1:0] state; output empty,full,wr,rd,busy;// output[7:0] fifo_out,pe,ph; reg[1:0] state; reg[7:0] fifo_out; reg wr,rd,empty,full;//fifo write , read ,empty , full reg[7:0]pe,ph; //fifo point:P_end,P_head parameter write=1,read=2,stop=0;;always@(posedge clk) if (nreset==0) begin pe=0;ph=0; end else case(state) stop: if( fifo_wr==1 pe+1!==ph) //write start begin rd=0; wr=1;state=write;busy=1; end else if(fifo_rd==1 pe!==ph) //read start begin wr=0;rd=1;state=read;busy=1; end else begin wr=0;rd=0;state=stop;busy=0; if(ph==pe) empty=1; else if(pe+1==ph) full=1; else begin empty=0; full=0; end end ; write: if( fifo_wr==0 ) //end of write begin pe=pe+1;wr=0;rd=0;stat

文档评论(0)

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

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

1亿VIP精品文档

相关文档