Verilog代码规范_2.pptVIP

  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文档。上传文档
查看更多
Verilog代码规范_2

* 文件包含命令可以: 1)节省程序设计人员的重复劳动。将一些常用的宏定义命令或任务(task)组成一个文件,然后用`include命令将这些宏定义包含到自己所写的源文件中,相当于工业上的标准元件拿来使用。 2)一个源文件可能经常要用到另外几个源文件中的模块,遇到这种情况即可用`include命令将所需模块的源文件包含进来。 * 一个`include只能包含一个文件,如果要包含多个文件,需要写多个`include命令。 * 如果源文件top.v包含sourse1,而soruse1.v又需要用到sourse2.v的内容,则可以将soruse1.v和sourse2.v用`include包含到源文件中,但是,sourse2.v应出现在sourse1.v之前。 `include “sourse2.v” `include “sourse1.v” 等价于 * 时间尺度命令 `timescale 使用`timescale命令将单位时间与实际时间相关联。用于定义仿真时间、延迟时间的单位和时延精度。 格式:`timescale 时间单位/ 时间精度 * 时间单位是指时间和延迟的测量单位,时间精度是指仿真过程中延迟值进位取整的精度,时间精度应该小于等于时间单位。 * timescale 1ns/100ps   //表示时间单位为1ns,时间精度为100ps module testbench(); … initial begin // 在0时刻,a=0,b=0 a=0;b=0; //在0+10*1=10ns时,a=4;b=2 #10 begin a=4;b=2; end //在0+10+20*1=30ns时,a=2;b=3; #20 begin a=2;b=3; end end endmodule * 例:`timescale 10ns/1ns module test; reg set; parameter d=1.55; initial begin #d set=0; #d set=1; end endmodule * 根据时间精度,参数d值被从1.55取整为1.6。 16ns 时,set=0 32ns时,set=1 * 说明: 1) (a)为文件File1.v,它有一个`include “File2.v”命令,还有其它的内容(以A表示)。 2) (b)为另一个文件File2.v,文件的内容以B表示。 3) 在编译预处理时,要对`include命令进行“文件包含”预处理:将File2.v的全部内容复制插入到 `include “File2.v”命令出现的地方,即File2.v 被包含到File1.v中,得到图(c)所示的结果。 4)在接着往下进行的编译中,将“包含”以后的File1.v作为一个源文件单位进行编译。 * for语句 语句格式: for(表达式1;表达式2;表达式3) 语句; * 初始条件表达式 循环终止条件 改变循环控制变量的赋值语句 语句执行过程 例3-44:用for语句对存储器组进行初始化。 reg[7:0] my_memory[511:0]; integer i; initial begin for(i=0; i512; i=i+1) my_memory[i]= 8’b0; end * 例: initial begin for(i=0;i32;i=i+2) stage[i] = 0; for(i=1;i32;i=i+2) state[i]=1; end * 实现了: 所有偶元素初始化为0 所有奇元素初始化为1 for 循环一般用于具有固定开始和结束条件的循环,如果只有一个执行循环的条件,最好还是用while循环 * while语句 语句格式: while(条件表达式) 语句 语句执行过程 先求解条件表达式的值,如果值为真(等于1),执行内嵌的执行语句(组),否则结束循环。 如果一开始就不满足条件表达式,则循环 不执行。 * 例3-45:用while语句求从1加到100的值,加法完成后打印结果 module count(clk, data_out); input clk; output[12:0] data_out; reg [12:0] data_out; integer j; initial //data_out和 j赋初值为0 begin data_out = 0; j = 0; end always @ (posedge clk) begin while(j=100) begin da

文档评论(0)

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

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

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档