欢迎来到天天文库
浏览记录
ID:52228669
大小:873.00 KB
页数:34页
时间:2020-04-03
《硬件描述语言.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、硬件描述语言及其在数字系统中的应用主讲:谢跃雷 (副教授)9/6/20211GUETSchoolofInformation&Communications第四讲 数据流建模连续赋值语句表达式、操作符数据流建模实例9/6/20212GUETSchoolofInformation&Communications门级建模特点:优点:直接简洁在电路规模较小时,对于有数字逻辑电路基础的设计来说,门级建模简单直观。缺点:电路规模较大时,繁琐易错,需要考虑高层次建模数据流(dataflow)建模:描述数据在寄存器间的流动和处理过程。当今设计公司已经
2、不在从门级结构角度进行设计,而是从更高的抽象层次设计,典型的是RTL(RegisterTransferLevel)设计,通常指的是数据流建模和行为建模的结合。9/6/20213GUETSchoolofInformation&Communications4.1连续赋值语句连续赋值语句是verilog数据流建模的基本语句,用于对线网进行赋值。它等价于门级描述,然而是从更高的抽象角度来对电路进行描述。连续赋值语句必须以关键词assign开始,其语法如下:assign[delay]target=expression;连续赋值语句的左值必须
3、是一个标量或向量线网,或者是标量或向量线网的拼接,而不能是标量或向量寄存器连续赋值语句特点:1.连续赋值语句9/6/20214GUETSchoolofInformation&Communications连续赋值语句总是处于激活状态。只要任意一个操作数发生变化,表达式就会被立即重新计算,并且将结果赋给等号左边的线网;操作数可以是标量或向量的线网或寄存器,也可以是函数调用;赋值延迟用于控制对线网赋予新值的时间,根据仿真时间单位进行说明。赋值延迟类似于门延迟.对于描述实际电路中的时序是非常有用的。//连续赋值语句,out是线网,i1和i
4、2也是线网wireout,i1,i2;assignout=i1&i2;//连续赋值语句,adr是线网,adr1_bits和adr2_bits是寄存器assignadr[15:0]=adr1_bits[15:0]^adr2_bits[15:0];9/6/20215GUETSchoolofInformation&Communications//连接操作,左边是一个标量线网和一个向量线网拼接assign{c_out,sum[3:0]}=a[3:0]+b[3:0]+c_in;隐式连续赋值//连续赋值语句,out是线网,i1和i2也是线网w
5、ireout;assignout=i1&i2;//隐式连续赋值语句wireout=i1&i2;等价//连续赋值语句,i1和i2也是线网wirei1,i2;assignout=i1&i2;//out被自动认为是线网类型9/6/20216GUETSchoolofInformation&Communications2.延迟连续赋值语句中的延迟用于控制任一操作数发生变化到语句左值被赋予新值之间的时间间隔指定赋值延迟的方法有三种:隐式赋值延迟和线网声明延迟。普通赋值延迟://连续赋值语句,out是线网,in1和in2也是线网wireout,
6、in1,in2;assign#10out=in1&in2;in1和in2任一发生变化,计算in1&in2新值赋于左边,会有10个单位延迟。在10单位延迟期间,若in1和in2再次变化,则取in1和in2当前值计算。也就是说,小于延迟的输入脉冲不影响输出9/6/20217GUETSchoolofInformation&Communications隐式连续赋值延迟://隐式连续赋值语句wire#10out=i1&i2;线网声明延迟://连续赋值语句,out是线网,i1和i2也是线网Wire#10out;assignout=i1&i2;
7、//连续赋值语句,out是线网,i1和i2也是线网wireout,i1,i2;assign#10out=i1&i2;9/6/20218GUETSchoolofInformation&Communications4.2表达式、操作符和操作数数据流建模使用表达式而不是门级原语来描述设计。表达式、操作符和操作数构成了数据流建模的基础。表达式:由操作符和操作数构成,目的是根据操作符计算出一个值。操作数:可以是定义过的任何数据类型,有时要根据操作符的要求限制。操作符:对操作数进行运算并产生一个结果。9/6/20219GUETSchoolof
8、Information&Communications1.操作符类型下表以优先级顺序列出了Verilog操作符。注意“与”操作符的优先级总是比相同类型的“或”操作符高。操作符类型符号连接及复制操作符一元操作符算术操作符逻辑移位操作符关系操作符相等操作
此文档下载收益归作者所有