第10章数字vlsi系统设计基础内容摘要:

符号数 ,例如 : time Events[0:31]。 //时间值数组。 time CurrTime。 //CurrTime存储一个时间值。 东南大学 无线电工程系 射频与光电集成电路研究所 34/935 (4) real寄存器和 realtime寄存器类型 说明方式: real real_reg1, real_reg2, . . ., real_regN。 实数时间说明: realtime realtime_reg1,realtime_reg2,...,realtime_regN。 realtime与 real类型完全相同 ,例如 : real Swing, Top。 realtime CurrTime。 real说明的变量的缺省值为 0。 不允许对 real声明值域、位界限或字节界限。 当将值 x和 z赋予 real类型寄存器时,这些值作 0处理。 real RamCnt。 ... RamCnt= 39。 b01x1Z。 RamCnt在赋值后的值为 39。 b01010。 东南大学 无线电工程系 射频与光电集成电路研究所 35/935 位选择从连线向量或寄存器向量中抽取特定的位, 形式如下: 对象名 [选择表达式 ] State[1] amp。 amp。 State [4] //寄存器位选择。 Prt[0] | Bbq //连线位选择。 选择表达式的值为 x、 z或越界,则位选择的值为 x, 例如: S[x]值为 x。 部分选择是选择连线或寄存器向量中的连续序列, 形式如下: 对象名 [常数表达式 1 : 常数表达式 2] State [1:4] //寄存器部分选择。 Prt[1:3] //线网部分选择。 选择范围越界或为 x 、 z时,部分选择的值为 x。 位选择和部分选择 东南大学 无线电工程系 射频与光电集成电路研究所 36/935 参数是一个常量,常用于定义时延和变量的宽度。 说明形式: parameter 参数 1=表达式 1, 参数 2=表达式 2,…, 参数 n=表达式 n; 实例: parameter LOAD=12; parameter LINELENGTH=132, ALL_X_S= 1639。 bx。 parameter BIT=1, BYTE = 8, PI =。 parameter STROBE_DELAY=(BYTE+BIT)/2。 parameter TQ_FILE=/home/bhasker/TEST/。 参数 东南大学 无线电工程系 射频与光电集成电路研究所 37/935 表达式与操作符 常数、 参数、 连线、 寄存器、 位选择、 部分选择、 存储器单元、 函数调用。 算术操作符 关系操作符、 相等操作符、 逻辑操作符; 按位操作符; 归约操作符; 移位操作符; 条件操作符; 连接和复制操作符。 表达式 ::==操作数 +操作符; 操作数 操作符 东南大学 无线电工程系 射频与光电集成电路研究所 38/935 操作符的优先级: 高 低 相同 东南大学 无线电工程系 射频与光电集成电路研究所 39/935 可用圆扩号改变优先级的顺序: 1+2*44/6=1+80=9 ( 1+2) *44/6=12 +/- (一元和二元加 /减 )、 *(乘 )、 /(除 )、 %(取模 )。 算术表达式结果的长度由最长的操作数决定。 例: wire[4:1]B,D。 wire[1:5]C。 wire[1:6]P。 wire[1:8]A。 ... assign A=(B+C)+(D+P)。 表达式左端的操作数长为 8,所有的加操作 使用 8位进行。 东南大学 无线电工程系 射频与光电集成电路研究所 40/935 执行算术操作时,须区分无符号数和有符号数。 无符号数 存储在:线网、寄存器和基数格式的 整数中。 有符号数 存储在:整数寄存器和十进制形式的 整数中。 reg [0:5] B。 integer T。 ... B= 439。 d12。 // B值为 110100, B是无符号数。 T= 4‗d12。 //T值为 110100(即 12),是有符号数。 东南大学 无线电工程系 射频与光电集成电路研究所 41/935 (大于 )、 (小于 )、 =(不小于 )、 =(不大于 )。 关系操作符的结果为真( 1 )或假( 0 )。 如果操作数中有一位为 X 或 Z ,那么结果为 X。 例: 23 45,结果为假; 52 839。 hxFF,结果为 x。 如果操作数长度不同,长度较短的操作数从左方 开始添 0补齐。 例: 39。 b1000 = 39。 b01110 等价于: 39。 b01000 = 39。 b01110,结果为假。 东南大学 无线电工程系 射频与光电集成电路研究所 42/935 3. 相等关系操作符 = =(逻辑相等 ) 、 ! = (逻辑不等 )、 = = =(全等 )、 != =(非全等 ) 逻辑比较:操作数包含 x 或 z ,结果为未知。 全等比较:严格按位比较。 不进行解释, 结果一定可知。 例 : D=39。 b11x0; A=39。 b11x0; 那么: D = =A的值为 x, D = = =A的值为 1。 东南大学 无线电工程系 射频与光电集成电路研究所 43/935 如果操作数的长度不相等,长度较小的操作数 在左侧添 0补位,例如: 239。 b10 = = 439。 b0010 与下面的表达式相同: 439。 b0010 = = 439。 b0010 结果为真( 1 )。 东南大学 无线电工程系 射频与光电集成电路研究所 44/935 4. 逻辑操作符 amp。 amp。 (逻辑与 )、 ||(逻辑或 )、。 (逻辑非 ) 操作符在逻辑值 0或 1上操作,操作结果为 0或 1。 若操作数包含 x,则结果为 x。 !x 结果为 x C=39。 b0。 //0 为假 D=39。 b1。 //1 为真 C amp。 amp。 D 结果为 0 (假 ) C || D 结果为 1 (真 )。 D 结果为 0 (假 ) 对于向量操作 ,非 0向量作为 1处理。 A=39。 b0110。 B=39。 b0100。 A||B。 结果为 1 Aamp。 amp。 B。 结果为 1 !A,!B。 结果均为 0。 东南大学 无线电工程系 射频与光电集成电路研究所 45/935 5. 按位操作符 ~(一元非 ) 、 amp。 (二元与 )、 |(二元或 )、 ^(二元异或 )、^~(二元异或非 ) 东南大学 无线电工程系 射频与光电集成电路研究所 46/935 5. 按位操作符 ~(一元非 ) 、 amp。 (二元与 )、 |(二元或 )、 ^(二元异或 )、 ^~(二元异或非 ) 假定 : A = 39。 b0110。 B = 39。 b0100。 那么 : A | B 结果为 0 1 1 0 A amp。 B 结果为 0 1 0 0 如果操作数长度不等 , 长度较小的操作数在 左侧补 0: 39。 b0110 ^ 39。 b10000 39。 b00110 ^ 39。 b10000 结果为 : 39。 b10110。 东南大学 无线电工程系 射频与光电集成电路研究所 47/935 6. 归约操作符 在单一操作数所有位上操作,产生 1位结果。 • amp。 (归约与 ) 如果存在位值为 0,那么结果为 0; • ~amp。 (归约与非 ), 与 amp。 相反。 • | (归约或 ) 如果存在位值为 1,那么结果为 1; • ~| (归约或非 ), 与 |相反。 • ^(归约异或 ) 如果操作数中有偶数个 1, 结果为 0 ;否则结果 为 1。 • ~^(归约异或非 ), 与 ^相反。 如果存在位值为 x或 z,则结果为 x。 归约异或操作符用于决定向量中是否有位为 x。 假定 : A = 39。 b0110。 B = 39。 b0100。 C=39。 b01x0, 则 : ^C 结果为 x。 |B 结果为 1 amp。 B 结果为 0 ~^A 结果为 1 东南大学 无线电工程系 射频与光电集成电路研究所 48/935 7. 移位操作符 移位操作符有: (左移 ), (右移 )。 移位操作的格式: 变量 移位次数、 变量 移位次数。 例如: reg [0:7] Q; Q=839。 b00000111。 那么: Q2是 839。 b00000001 东南大学 无线电工程系 射频与光电集成电路研究所 49/935 8. 条件操作符 条件操作符根据条件表达式的值选择表达式: 条件表达式 ? 表达式 1 :表达式 2 如果条件表达式为真,选择表达式 1;否则选择表达式 2。 例: wire [0:2] S= M18 ? A : C。 Ctr= (Ctr!=25) ? (Ctr+1) : 5。 always 5 Ctr = (Ctr!=25) ? (Ctr+1) : 5。 东南大学 无线电工程系 射频与光电集成电路研究所 50/935 9. 连接操作 将短表达式合并成长表达式的操作 : {。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。