Systemverilog for design 笔记(一)】的更多相关文章

转载请标明出处 第一章 接口(interface) 1.1.    接口的概念 接口允许许多信号合成一组由一个端口表示. 1.2.    接口声明 //接口定义 Interface main_bus (input logicsig_a, sig_b);         //sig_a , sig_b是接口的输入 Wire sig_c ; Logic sig_d; … Endinterface //顶层网表 module top (input logic clock, resetN, test_m…
转载请标明出处 第一章 有限状态机建模(FSM,finite state machine) 1.1.    使用枚举类型建立状态机模型 l  三过程块建模风格:三个过程块分别实现: a.状态转换(always_ff) b.产生下一状态(always_comb) c.产生状态输出值(always_comb) l  使用枚举类型表示状态编码:通过定义enum类型决定状态位数;可显示指定label value l  使用枚举类型的反向case语句:对应ont-hot编码模式,条件选项是状态编码的某一位…
转载请标明出处 第一章 System Verilog过程块.任务和函数 1.1.    verilog通用目的always过程块(procedural block)(可综合) always过程块的综合指导方针: 组合逻辑 1.关键词always后必须跟一个边沿敏感的事件控制(@符号) 2.事件控制的敏感表中不能包含posedge和negedge限定词 3.敏感表必须列出过程块的所有输入,所谓输入是指在该块读入并且在块外赋值的信号 4.过程块中不能包括其他的事件控制 5.所有在过程块中赋值的变量必…
转载请标明出处 数组.结构体和联合体 1. 结构体(struct) 1.1. 结构体声明 结构体默认是变量,也可以声明为线网 var struct { // 通过var进行结构体变量声明 logic [31:0] a, b; logic [ 7:0] opcode;} Instruction_Word_var; wire struct { //结构体线网声明,定义为线网类型时,结构体的所有成员必须都是四态类型的 logic [31:0] a, b; logic [ 7:0] opcode;} I…
转载请标明出处 用户自定义和枚举数据类型 1. 用户自定义类型(typedef) 局部typedef定义:只用于设计的特定部分时,typedef的定义可在module或interface中 共享typedef定义:当在多个模型中使用时,typedef的定义可在包中进行,             module,interface,program block可以通过导入包子项来使用typedef定义 Eg: package chip_types; `ifdef TWO_STATE typedef b…
转载请标明出处 1. System Verilog文本值和数据类型 1.1. 增强的文本值赋值 相对于verilog,SV在文本值赋值时可以1.无需指定进制    2.赋值可以是逻辑1 用法: reg [63:0] data; data = '0 //fills all bits on the left-hand side with 0 按位赋值 data = '1; // fills all bits on the left-hand side with 1 data = 'x(z); //…
转载请标明出处 一.     System Verilog 声明的位置 1.       包(packages) Verilog要求局部声明: variables, nets, tasks and functions的声明需要在模块内部的module...endmodule关键词之间 System Verilog 增加了用户定义类型typedef i.              包的定义 包在packageand endpackage.之间定义. 包中可以包含的可综合的结构有:         …
Spring Cloud 微服务实战笔记 微服务知识 传统开发所有业务逻辑都在一个应用中, 开发,测试,部署随着需求增加会不断为单个项目增加不同业务模块:前端展现也不局限于html视图模板的形式,后端向前端支持需要更多的接口模块. 随着需求增多,项目变大,单体系统部署在一个进程内部,往往修改很小的功能,为了部署上线也会影响其他功能.后期维护成本会变得越来越大,难以控制. 微服务架构中不同模块拆分成不同服务,都能独立部署和扩展,运行在自己的进程内,有稳定的边界,更新也不会影响其他服务运营.而且由于…
system verilog中新加了很多幅值语句,虽然都只适用于阻塞幅值,但是在某些场合中非常实用. 下面是一段有意思的代码,覆盖了一些用法. package definitions; typedef enum logic [:] {ADD,SUB,MULT,DIV,SL,SR} opcode_t; typedef enum logic {UNSIGNED, SIGNED} operand_type_t; typedef union packed { logic [:] u_data; logi…
一些笔记. strategy : facilitates the switch of the different but related algorithms/behaviors observer proxy : controls the access to the real subject ; shares the common interface with the real subject and sometimes provides a subset of the operations i…