随笔分类 -  SV for design

学习systemverilog设计
摘要:7.1 新操作符 verilog中循环递增要写成i=i+1,SV开始允许i++,i--,++i,--i,都属于阻塞赋值,在时序逻辑中慎用,容易出下竞争。 在时序和锁存逻辑块中,如果变量不会被过程块外部语句读取,则可以使用++,--操作符 i++; //可综合 if(--i); //不可综合 sum 阅读全文
posted @ 2022-04-13 17:48 骑猪上树的少年 阅读(64) 评论(0) 推荐(0) 编辑
摘要:6.1 verilog通用目的always过程块 always begin wait(reset_n == 0) //电平敏感的延迟 @(negedge clock) //边沿敏感的延迟 #2 t <= d ; //基于时间的延迟 @(posedge clock) #1.5 q <= t ; end 阅读全文
posted @ 2022-04-13 15:17 骑猪上树的少年 阅读(216) 评论(0) 推荐(0) 编辑
摘要:数组、结构体和联合结构体 结构体 结构体是对一些相关信号进行分组的最方便办法。 struct{ int a,b ; opcode_t opcode ; logic [23:0] address ; bit error ; }instruction_word; assign instruction_w 阅读全文
posted @ 2022-02-25 15:52 骑猪上树的少年 阅读(491) 评论(0) 推荐(0) 编辑
摘要:用户自定义和枚举数据类型 用户自定义数据类型在保证正确性和可综合性的前提下,允许在更高的抽象级上进行复杂的设计。 用户自定义数据类型 typedef int unsigned unit ; unit a,b ;//自定义的32位无符号整数 typedef定义位置 模块内部:只有这个模块能访问,其他模 阅读全文
posted @ 2022-02-24 15:25 骑猪上树的少年 阅读(109) 评论(0) 推荐(0) 编辑
摘要:文本值和数据类型 文本赋值增强 parameter SIZE=64; reg [SIZE-1:0] data ; data = 0; data = 'bz ; data = 'bx ; verilog可以为变量赋全0,全z和全x,但对赋全1很不方便。只能写成如下形式 assign data = 16 阅读全文
posted @ 2022-02-24 10:42 骑猪上树的少年 阅读(154) 评论(0) 推荐(0) 编辑
摘要:包的使用 package definitions; parameter VERSION="1.1" ; typedef enum{ADD,SUB,MUL} opcodes_t; typedef struct{ logic [31:0] a,b; opcodes_t opcode }instructi 阅读全文
posted @ 2022-02-23 16:13 骑猪上树的少年 阅读(100) 评论(0) 推荐(0) 编辑

回到顶部
点击右上角即可分享
微信分享提示