- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 结构语句、系统任务、函数语句和显示系统任务 ; 随着电路设计复杂度的不断提升,我们需要从整体结构和算法层次上对硬件电路进行抽象和描述。这种描述是比数据流描述更高层级的描述,称为行为级或算法级建模。;6.1结构化过程语句;1、initial语句 //initial语句的格式如下: initial begin 语句1; 语句2; ...... 语句n; end;[例1]: initial begin areg=0; //初始化寄存器areg memory[index]=0; end 在这个例子中用initial语句在仿真开始时对各变量进行初始化。 ;[例2]: initial begin inputs = b000000; //初始时刻为0 #10 inputs = b011001; #10 inputs = b011011; #10 inputs = b011000; #10 inputs = b001000; end;[例3]: module stimulus; reg x,y,a,b,m; initial m =1’b0; initial begin #5 a = 1’b1; #25 b =1’b0; end;initial块常用于测试文件和虚拟模块的编写,用来产生仿真测试信号和设置信号记录等仿真环境。 ;2、always语句: 其声明格式如下: always 时序控制 语句 always语句包括的所有行为语句构成了一个always块。该块从仿真0时刻开始顺序执行其中的语句。在仿真过程中不断重复执行的。 ? always语句由于其不断重复执行的特性,只有和一定的时序控制结合在一起才有用。如果一个always语句没有时序控制,则这个always语句将会成为 一个仿真死锁。 [例]:always areg = ~areg;? 这个always语句将会生成一个0延迟的无限循环跳变过程,这时会发生仿真死锁。 ;如果加上时序控制,则这个always语句将变为一条非常有用的描述语句。见下例:? [例]:always #half_period areg = ~areg; 这个例子生成了一个周期为:period(=2*half_period) 的无限延续的信号波形,常用这种方法来描述时钟信号,作为激励信号来测试所设计的电路。 Verilog提供三种时序控制方法:基于延迟的时序控制、基于事件的时序控制和电平敏感的时序控制。 ;[例]: reg[7:0] counter; reg tick; always @(posedge areg) begin tick = ~tick; counter = counter + 1; end 这个例子中,每当areg信号的上升沿出现时把tick信号反相,并且把counter增加1。这种时间控制是always语句最常用的。;always 的时序控制可以是沿触发也可以是电平触发的,可以单个信号也可以多个信号,中间需要用关键字 or 连接,如: ? always @(posedge clock or posedge reset) //由两个沿触发的always块 begin …… end always @( a or b or c ) //由多个电平触发的always块 begin …… end;沿触发的always块常常描述时序逻辑,如果符合可综合风格要求可用综合工具自动转换为表示时序逻辑的寄存器组和门级逻辑,而电平触发的always块常常用来描述组合逻辑和锁存器,如果符合可综合风格要求可转换为表示组合逻辑的门级逻辑或锁存器。一个模块中可以有多个always块,它们都是并行运行的。 ; 如同高级程序设计语言中的过程和子程序,verilog语言提供了任务和函数来完成类似的功能。利用任务和函数可以把一个很大的程序模块分解成许多较小的任务和函数便于理解和调试。输入、输出和总线信号的值可以传入、传出任务和函数。任务和函数往往还是大的程序模块中在不同地点多次用到的相同的程序段。学会使用task和function语句可以简化程序的结构,使程序明白易懂,在编写较大的测试程序时可以节省大量的时间。 ;task和function的相同点和不同点? 不同点
您可能关注的文档
- 西安医学院第一附属医院呼吸系统疾病课件 支气管扩张.ppt
- 西安医学院第一附属医院泌尿系统疾病课件 慢性肾衰竭.ppt
- 西安医学院第一附属医院泌尿系统疾病课件 泌尿系统疾病总论.ppt
- 西安医学院第一附属医院泌尿系统疾病课件 尿路感染.ppt
- 西安医学院第一附属医院泌尿系统疾病课件 肾病综合征.ppt
- 西安医学院第一附属医院泌尿系统疾病课件 肾小球肾炎.ppt
- 西安医学院第一附属医院内分泌及代谢疾病课件 甲状腺功能亢进症.ppt
- 西安医学院第一附属医院内分泌及代谢疾病课件 内分泌总论.ppt
- 西安医学院第一附属医院内分泌及代谢疾病课件 皮质醇增多症.ppt
- 西安医学院第一附属医院内分泌及代谢疾病课件 肾上腺皮质功能减退症.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第7章.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第8章.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第9章.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第10章.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第11章.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第12章.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第14章.ppt
- 西安邮电大学电子工程学院基于Verilog HDL的FPGA设计基础课件 第15章.ppt
- 西安邮电大学电子工程学院数字电路与逻辑设计课件 第八章.ppt
- 西安邮电大学电子工程学院数字电路与逻辑设计课件 第二章.ppt
最近下载
- 2025年公安辅警综合基础知识题库及答案解析.docx VIP
- 十年(2016-2025)高考数学真题分类汇编(全国通用)-专题10 数列解答题综合一(等差、等比通项公式及数列求和,46题).docx VIP
- 标准图集-06D401-1 吊车供电线路安装.pdf
- 王正龙先生的灸法直论.doc VIP
- 【各类建筑及案例分析】快题课-05 泡泡图 图书馆类建筑 DaveChen.ppt VIP
- 【各类建筑及案例分析】快题课-07 泡泡图 文化馆类建筑 davechen.ppt VIP
- 【各类建筑及案例分析】快题课-03 泡泡图 旅馆类建筑 DaveChen.ppt VIP
- 【各类建筑及案例分析】快题课-07 泡泡图 幼儿园类建筑 DaveChen.ppt VIP
- 王正龙回阳药小结.doc VIP
- 特食界保健食品考核题目及答案.docx VIP
文档评论(0)