- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
两类语句在模块中的使用 一个模块可以包含多条always语句和多条initial语句。 每条语句启动一个单独的控制流。 各语句在0时刻开始并行执行。 module TestXorBehavior; reg Sa, Sb, Zeus; initial begin Sa = 0; Sb = 0; #5 Sb = 1; #5 Sa = 1; #5 Sb = 0; end always @ (Sa or Sb ) Zeus = Sa ^ Sb; always @ (Zeus) $display ( At time %t, Sa = %d, Sb = %d, Zeus = %b, $time, Sa, Sb, Zeus) ; endmodule At time 5, Sa = 0, Sb = 1, Zeus = 1 At time 10, Sa = 1, Sb = 1, Zeus = 0 At time 15, Sa = 1, Sb = 0, Zeus = 1 always/initial 块小结 时序控制 时序控制与过程语句关联。有2种时序控制形式: 1) 时延控制 2) 事件控制 时延控制 #delay procedural_statement #2 Tx = Rx - 5 ; initial begin #3 Wave = b0111; #6 Wave = b1100; #7 Wave = b0000; end end 时延控制 #delay; always begin # 3; RefClk = 0; # 5; RefClk = 1; end 时延可以是任意表达式 # Strobe Compare = TX^ask ; #(PERIOD/2) Clock = ~Clock; 如果时延表达式的值为0,则称之为显式零时延。 显式零时延促发一个等待,等待所有其它在当前模拟时间被执行的事件执行完毕后,才将其唤醒;模拟时间不前进。 如果时延表达式的值为x或z,其与零时延等效。如果时延表达式计算结果为负值,那么其二进制的补码值被作为时延。 事件控制 在事件控制中,always的过程语句基于事件执行。有两种类型的事件控制方式: 1) 边沿触发事件控制 2) 电平敏感事件控制 敏感表 always @(sensitivity_list) begin -- Statement #1 -- … … … … .. -- Statement #N end 过程块在敏感表中任何信号发生变化后执行 上升沿触发事件 @ event procedural_statement @(posedge Clock) Curr_State = Next_State; 上升沿 0 - x 0 - z 0 - 1 x - 1 z - 1 下降延触发事件 @ (negedge Reset) Count = 0; 下降沿 1 - x 1 - z 1 - 0 x - 0 z - 0 time RiseEdge, OnDelay; initial begin / /等待,直到在时钟上发生正边沿: @ (posedge ClockA) ; RiseEdge = $tim e; / /等待,直到在时钟上发生负边沿: @ (negedge ClockA) ; OnDelay = $time - RiseEdge; $display (The on-period of clock is %t., Delay) ; end 多事件触发 @ (posedge Clear or negedge Reset) Q = 0; @ (Ctrl_A o r Ctrl_B) Dbus = bz; 电平敏感事件控制 wait (Condition) procedural_statement 过程语句只有在条件为真时才执行。 如果执行到该语句时条件已经为真,那么过程语句立即执行。 在上面的表示形式中,过程语句是可选的。 不可综合 wait (Sum 22) Sum = 0; wait (DataReady) Data = Bus; wait (Preset) ; 两种类型过程 组合过程 敏感表所有输入用于组合逻辑 always @(a or b or sel) 时序过程 对时钟或控制信号敏感 always @(posedge clk or negedge clr) 语句块 语句块提供将两条或更多条语句组合成语法结构上相当于一条语句的机制。 顺序语句块(begin ... end):语句块中的语句按给定次序顺序执行。 并行语句块(fork ... join):语句块中的语句并行执行。 语句块的标识符 语句块的标识符是可选的,如果有标识符,寄存器变量可在语句块内部声明。
您可能关注的文档
- 数字电路第6章12.ppt
- 数字电路第8章(免费阅读).ppt
- 数字电路第8章AD转换.ppt
- 12循环系统2.ppt
- 数字电路第三章2.ppt
- 数字电路第一章基础知识.ppt
- 数字电路第五版(康华光)5锁存器和触发器.ppt
- 数字电路第7章半导体存储器(免费阅读).ppt
- 数字电路第五版(康华光)8脉冲波形的变换与产生.ppt
- 12独立性检验的思想及应用.ppt
- 2026届高考数学总复习(第1轮)基础版第50讲 直线的方程.pptx
- 《关于组织开展能源领域氢能试点工作的通知》解读及对策.docx
- 二年级数学奇妙的动物世界跨学科项目化学习设计.docx
- 高一美术传承与创新中国近现代美术思政融合课教学设计.docx
- 2025年湖北省省直辖行政单位选调生考试(行政职业能力测验)综合能力测试题带答案.docx
- 2025年温州医科大学仁济学院单招语文测试模拟题库附答案.docx
- 2025年清远职业技术学院单招(语文)测试模拟题库附答案.docx
- 2025年湖北省咸宁市事业单位招聘考试(职业能力倾向测验)题库及答案1套.docx
- 2025年温州大学单招语文测试题库有答案.docx
- 2025年湖北省荆州市单招语文测试模拟题库a4版.docx
文档评论(0)