先放结论: 枚举可以直接赋值给logic, logic赋值给枚举需要做类型转换 测试代码如下 typedef enum logic [1:0] { TYPEA = 2'd0, TYPEB = 2'd1, TYPEC = 2'd2, TYPED = 2'd3 } enum_type_t; module top_module; enum_type_t enum_val1 = TYPEA; enum_type_t enum_val2 = TYPEB; logic ...
enum logic [1:0] { IDLE = 2’b00, READ = 2’b01, WRITE = 2’b10, RMW = 2’b11, ILLEGAL = ‘x } current_state,next_state; 因为类型是“logic”,所以可以将未知的('x)值分配给enum成员。这样的'x赋值对于仿真比较非常有用,而对于综合工具而言就进行合适的优化。该枚举可以在状态机编码中使...
一、内建数据类型 1. 逻辑(logic)类型 logic类型是对reg类型的改进,使得它除了作为一个变量以外,还可以被连续赋值、门单元和模块驱动。任何使用线网的地方都可以使用logic,但要求logic不能有多个结构性驱动,如在双向总线建模时,不能使用logic。 2. 双状态数据类型 (1)最简单的双状态数据类型是bit,他是无符号的。
enumlogic[1:0] { IDLE = 2’b00, READ= 2’b01, WRITE= 2’b10, RMW = 2’b11, ILLEGAL = ‘x } current_state,next_state; 因为类型是“logic”,所以可以将未知的('x)值分配给enum成员。这样的'x赋值对于仿真比较非常有用,而对于综合工具而言就进行合适的优化。该枚举可以在状态机编码中使用,如...
SystemVerilog的logic数据类型比Verilog的线网和寄存器数据类型更加灵活,它使得在任何抽象层次上建模硬件都更加容易。logic类型能够以下面的任何一种方法赋值: l 通过任意数目的过程赋值语句赋值,能够替代Verilog的reg类型; l 通过单一的连续赋值语句赋值,能够有限制地替代Verilog的wire类型; ...
typedefenum{IDLE,STATE1,STETE2} state_e; state_e state;//声明一个生成随机数的类initialbeginstate = IDLE;$display("%s",state.name); state = STATE1;$display("%s",state.name);$finish;end 使用接口 interfacetest(inputbitclk);logic[1:0] a,b;logicrst;endinterface//使用时如下moduletest_m...
SystemVerilog logic数据类型是Verilogreg数据类型的同义词。它解决了自RTL 综合开始以来困扰新Verilog用户的术语问题。reg关键字似乎意味着“寄存器”,这似乎意味着每个地方都使用reg数据类型,需要硬件寄存器。 凭借经验,Verilog用户了解到这种暗示是错误的。reg数据类型只是一个编程变量。使用变量的上下文决定了是否需要硬件...
typedef enum{ADD,SUB,MUL} opcodes_t; typedef struct{ logic [31:0] a,b; opcodes_t opcode; }instruction_t; function automatic [31:0] multiplier(input [31:0] a,b); //用户定义的32位乘法 return a*b; endfunction endpackage 1. ...
typedef enum {FETCH,WRITE,ADD,SUB ,MULT,DIV,SHIFT,NOP } instr_t; Endpackage import chip_types : :* ; //将包的定义导入到$unit里 module controller (output logic read, write ,input instr_t instruction,input wire clock , resetN) ;#自定义类型instr_t instruction ...
SystemVerilog的logic数据类型比Verilog的线网和寄存器数据类型更加灵活,它使得在任何抽象层次上建模硬件都更加容易。logic类型能够以下面的任何一种方法赋值: l 通过任意数目的过程赋值语句赋值,能够替代Verilog的reg类型; l 通过单一的连续赋值语句赋值,能够有限制地替代Verilog的wire类型; ...