- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
可编程逻辑器件及应用.ppt
可编程逻辑器件及应用 唐英杰 第四章 Verilog HDL 语言(一) 3、时间尺度`timescale 用来说明跟在该命令后的模块的时间单位和时间精度。使用`timescale命令可以在同一个设计里包含采用了不同的时间单位的模块。 格式: `timescale时间单位时间精度 第四章 Verilog HDL 语言(一) 常用语法总结 【例1】填空题 module AOI(A,B,C,D,F) input A,B,C,D output F assign F=(AB)(CD) endmodule 第四章 Verilog HDL 语言(一) 【例2】填空题 第四章 Verilog HDL 语言(一) 第四章 Verilog HDL 语言(一) 第四章 Verilog HDL 语言(一) 第四章 Verilog HDL 语言(一) 第四章 Verilog HDL 语言(一) 第四章 Verilog HDL 语言(一) begin out = 0; n = 0; repeat(size) begin out =out ^ a[n]; n = n+1; end end endmodule 注意:MAX+plusII软件不支持repeat语句,但synplify软件支持。 第四章 Verilog HDL 语言(一) 4. while语句 语法格式为 While (表达式) begin 语句; end 第四章 Verilog HDL 语言(一) 六、 结构说明语句 在verilog语言中的任何过程模块都从属以下4种结构的说明语句: 1、initial语句 2、always语句 3、task语句 4、function语句 一个程序模块可以有多个initial和always过程块,每个initial和always在仿真一开始立即同时执行。 initial只执行一次,而always则是不断重复活动(看触发条件是否满足),直到仿真结束。 第四章 Verilog HDL 语言(一) 1、Initial语句 格式: initial begin 语句1; 语句2: …… 语句N; end 第四章 Verilog HDL 语言(一) 【例】 initial begin areg = 0; for(index = 0; indexsize;index = index+1) memory[index]=0; end Initial在仿真开始时对各变量进行初始化,注意这个过程不需要任何时间 第四章 Verilog HDL 语言(一) 【例】 initial begin out = b0000000; #10 out = b0000001; #10 out = b0000010; #10 out = b0000100; #10 out = b0001000; #10 out = b0010000; end 可以用initial语句生成激励波形作为电路的测试仿真信号 第四章 Verilog HDL 语言(一) 2、always语句 always语句在仿真过程中是不断重复执行的,但always语句后跟着的过程块是否执行,则要看它的触发条件是否满足,如满足则运行块一次,如不断满足,则循环执行 格式: always 时序控制 语句 注意: always语句由于其不断重复执行特性,只有和一定的时序控制结合在一起才有用,如果一个always语句没有时序控制,则这个always语句将回生成一个仿真死锁。如: always areg = ~areg; always # half_period areg = ~areg;??? 第四章 Verilog HDL 语言(一) 【例】 reg[7:0] counter reg tick always @(posedge areg) begin tick = ~tick; counter = counter +1; end always 的时间控制可以是边沿触发也可以是电平触发,可以是单信号也可以是多个信号,用关键字OR连
文档评论(0)