北航 夏宇闻 Verilog HDL语法具体讲解.ppt

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

语法详细讲解 强制激励; #20 deassign top.dut.fsml.state_reg; end force 和 release 用于寄存器类型和网络连接类型(例如:门级扫描寄存器的输出)的强制赋值,强制改写其它地方的赋值。 initial begin # 10 force top.dut.counter.scan_reg.q=0; # 20 release top.dut.counter.scan_reg.q; end 在以上两个例子中,在10到20 这个时间段内,网络或寄存器类型的信号被强制赋值,而别处对该变量的赋值均无效。 force的赋值优先级高于assign。 如果先使用assign,再使用force对同一信号赋值,则信号的值为force所赋 的值, ;语法详细讲解 强制激励;语法详细讲解 建立时钟 ;[例2]简单的带延迟的对称方波时钟:;语法详细讲解 建立时钟 ;语法详细讲解 怎样使用任务;语法详细讲解 怎样使用任务;语法详细讲解 怎样使用任务;语法详细讲解 存储建模;存储设备建模必须注意以下两个方面的问题: 声明存储容量的大小。 提供对内容的访问权限,例如: 只读 读写 同步读写 多次读,同时进行一次写 多次同步读写,同时提供一些方法保证一致性 ;myrom.v `timescale 1ns/10ps module myrom(read_data,addr,read_en_); input read_en_; input [3:0] addr; output [3:0] read_data; reg [3:0] read_data; reg [3:0] mem [0:15]; initial $readmemb(“my_rom_data”,mem); always @ (addr or read_en_) if(!read_en_) read_data=mem[addr]; endmodule ;语法详细讲解 简单ROM建模;语法详细讲解 简单RAM建模; 上述模型是可综合的,但是许多工具只产生一系列的寄存器,这一般就需要更大的空间,从而比实际的存储器的价格更昂贵。;例: module scalable_ROM(mem_word,address); parameter addr_bits=8; //size of address bus parameter wordsize=8; //width of a word parameter words=(1addr_bits); //size of mem output [wordsize:1] mem_word; //word of memory input [addr_bits:1] address; //address bus reg [wordsize:1] mem [0:words-1]; //mem declaration //output one word of memory wire [wordsize:1] mem_word=mem[address]; endmodule;语法详细讲解 容量可变的存储器建模; 可以通过使用一个循环或系统任务来载入存有数据的整个存储器。 使用循环把值赋给存储数组。 for(i=0;imemsize;i=i+i) // initialize memory mema[i]={wordsize{1’b1}}; 调用$readmem系统任务。 //load memory data form a file $readmemb(“mem_fi

文档评论(0)

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

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

1亿VIP精品文档

相关文档