第4节-verilog 基础三.ppt

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4节-verilog 基础三

* * Function(续) 函数调用 Func_id(expr1,expr2,…,exprN) 参数必须是寄存器型 顺序一致 函数调用是表达式的一部分。 e.g. ... reg [0:1] a,b; reg [0:2] sum_ab; sum_ab = sum(a,b); * * 2 关键的系统任务和系统函数 显示任务(display task) 文件输入/输出任务(file I/O task) 时间标度任务(timescale task) 模拟控制任务(simulation control task) 时序验证任务(timing check task) 实数变化函数(conversion functions for real) 概率分布函数(probabilistic distribution function) * * 1.显示任务: $display $write 和c中的printf一样。 * * 2 探测任务 $strobe 与$display的区别 * * E.g. `timescale 1ns/100ps module test2; reg [0:1] a; initial begin a = 2b0; $strobe(%d,a); a = 2b11; a = 2b10; #1; $strobe(%d,a); a = 2b11; a = 2b01; end endmodule What display: * * 3 系统监控任务 $monitor(p1,p2,pn) e.g.1 initial begin a = 5d10; $display (“ %d,a); $monitor($time,“ %d,a); #5; a= 5d12; #10; a= 5d13; end What will display? * * 4 仿真控制任务 $finish; 退出仿真器 $stop; 暂停当前的仿真 * * 5随机函数 $random $random % num; {$random }% num; * * 6 初始化memory $readmemb,$readmemh e.g1 reg [0:15] ram1 [0:1024]; initial $readmemh(“mem.dat”,ram1); * * 7 系统时间 $time 西北工业大学 计算机学院 huangxp_nwpu@ 西北工业大学 计算机学院 Huangxp_nwpu@ * * Verilog 语言基础三 * * 1 行为建模 initial always task function * * initial语句 语法 initial begin end initial 中的变量是reg型 initial 语句执行一次 所有的initial 在0时刻并行执行 不可综合,用于构造测试激励 激励中可有多个initial * * E.g:复位信号建模 … reg rst_n; initial begin rst_n = 1’b1; #20; rst_n = 1’b0; #20; rst_n =1’b1; end * * always @ (敏感信号表) begin end 变量是reg型 重复执行 敏感信号表完整 逻辑电路中的输入信号 敏感信号完整,多个之间使用or 连接 组合逻辑:所有右边表达式中的变量以及if或者case的条件 时序逻辑:时钟的边沿与复位信号的边沿的组合 多个always语句并行执行,与编写顺序无关 一个变量只能在一个always中赋值 建模组合逻辑时使用阻塞赋值 建模时序逻辑时使用非阻塞赋值 always 语句 * * Eg1 reg c ; always @(a or b or d or e) begin if(a b) c =d; else c = e; end always建模组合逻辑 * * always建模组合逻辑(续) No complete sensitive list E.g.2 reg c ; always @(a or b or d ) begin if(a b) c =d; else c = e; end 1:综合时出现警告 2:仿真出现错误 Wa

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档