第2章EDA_Verilog语言.ppt

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

sl; 2) 寄存器(reg)类型 数据储存单元的抽象。 默认初始值为X 常用行为语句结构来给寄存器类型的变量赋值。用来表示always块内的指定信号 ; 格式: reg[n-1:0] 数据名1,数据名2,……,数据名i; 或 reg[n:1] 数据名1,数据名2,……,数据名i; 例: reg rega; reg[3:0] regb,regc; 可以赋正值也可以赋负值,但当一个reg型数据是一个表达式 中的操作数时,它的值被当作无符号值,即正值。 如regb被赋值为-1,在表达式中被认为是?? ;例:寄存器的声明和使用 reg reset; initial begin reset=1`b1; #100 reset=1`b0; end ; 3) 整数、实数和时间寄存器类型 integer(通用寄存器数据类型,用于对数量进行操作) 例: integer counter;//一般用途,做为计数器 inital counter=-1; real 实常量和实寄存器数??类型使用,默认值为0 例:real delta; initial begin delta=4e10; delta=2.13; end integer i; initial i=delta; //i的值为2 ; time 保存仿真时间,通过系统函数$time可以得到当前的仿真时间 ;向量域选择 对上例中向量,可以指定它的某一位或若干个相邻位 ;Verilog语言; 5) 数组;count[5]=0; chk_point[100]=0; port_id[3]=0; matrix [1][0]=33559; //第1行第0列的整数型单元置为33559 array_4d[0][0][0][0][15:0]=0; //把四维数组中索引号为[0][0][0][0]的寄存 器型单元的0~15位置为0 port_id=0; //非法 matrix[1]=0; //非法; 6) memory类型 通过扩展reg型数据的地址范围生成格式: reg[n-1:0] 存储器名[m-1:0]; 或者 reg[n-1:0] 存储器名[m:1]; 例: reg[7:0] memea[255:0]; ;注意: reg[n-1:0] rega; reg mema[n-1:0]; rega=0; 等于 mema=0; ?? mema[3]=0;正确?? ; 7) 参数; 参数值的改写(方法之一) 举例说明: module mod ( out, ina, inb); … parameter cycle = 8, real_constant=2.039, file = “/user1/jmdong/design/mem_file.dat”; … endmodule module test; … mod mk(out,ina,inb); defparam mk.cycle=6, mk.file=“../my_mem.dat”; … endmodule ; 参数值的改写(方法之二) 举例说明: module mod ( out, ina, inb); … parameter cycle = 8, real_constant=2.039, file = “/user1/jmdong/design/mem_file.dat”; … endmodule module test; … mod # (5, 3.20, “../my_mem.dat”) mk(out,ina,inb); … endmodule;模块DUT的边界;输入口(input) 对于模块内部,必须为线网类型;从模块外部看,可以为线网或reg型 输出口 (output) 从模块内部看,可以是线网或reg型;从外部

文档评论(0)

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

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

1亿VIP精品文档

相关文档