摘要: 阅读全文
posted @ 2022-04-30 15:03 程序媛莫可可 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 这几天一直在忙着面试,在面的过程中发现自己之前的学习只是局限于verilog,SV的语法还有UVM验证方法学等验证工具上面,缺乏对整个芯片设计流程的视角和大局观。 初学者对前仿、后仿、功能验证、形式验证、综合、时序分析这些名词感觉比较陌生,因此我整理了一下SoC的设计流程,分别是根据时间线(从提出i 阅读全文
posted @ 2022-04-30 14:58 程序媛莫可可 阅读(763) 评论(0) 推荐(0) 编辑
摘要: 结构体的声明、赋值和打印 查看代码 module tb; struct{ string fruit; int count; byte expiry; } st_fruit; initial begin st_fruit = '{"apple",4,15}; $display("st_fruit=%p 阅读全文
posted @ 2022-04-01 10:57 程序媛莫可可 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 查看代码 module tb; int q1[$]={1,2,3,4,5}; int q2[$]; int tmp; initial begin tmp = q1[0]; #1; tmp = q1[$]; #1; q2 = q1; #1; q2 = {}; #1; q2[0] = 15; #1; q 阅读全文
posted @ 2022-03-31 20:45 程序媛莫可可 阅读(555) 评论(0) 推荐(0) 编辑
摘要: class Register ; string name; rand bit [3:0] rank; rand bit [3:0] pages; function new(string name); this.name = name; endfunction function void print( 阅读全文
posted @ 2022-03-31 19:59 程序媛莫可可 阅读(234) 评论(0) 推荐(0) 编辑
摘要: SV支持对数组内变量的 定位locator、排序ordering 和缩位 reduction (1) 定位 find with, find_first with, find_last with 找的是数组内元素 find_index with, find_first_index with , fin 阅读全文
posted @ 2022-03-31 15:19 程序媛莫可可 阅读(1322) 评论(0) 推荐(0) 编辑
摘要: 联合数组,associative arrays, 为了充分利用内存的零散空间🔍 语法格式: data_type associative_array_name [index data type] ; 查看代码 module assoc_array; int assoc1 [string] ; int 阅读全文
posted @ 2022-03-31 14:20 程序媛莫可可 阅读(704) 评论(0) 推荐(0) 编辑
摘要: (3)Arrays SV的数组类型: 合并数组,非合并数组,动态数组,联合数组,队列 根据数组大小是否固定,可分为固定数组(静态数组)和动态数组 1. 合并数组 packed arrays 存储方式是连续的,中间没有闲置空间 例如,32bit的寄存器,可以看成是4个8bit的数据,或者也可以看成是1 阅读全文
posted @ 2022-03-30 22:57 程序媛莫可可 阅读(871) 评论(0) 推荐(0) 编辑
摘要: (2) Enumeration 枚举类型,类似状态机 写了三个例子,包含枚举的声明、变量类型以及一些操作。 自定义一个枚举类型(traffic_lights),然后例化一个状态变量,monitor函数监控变量变化的时间($time)、变量名(.name),变量值 module enumeration 阅读全文
posted @ 2022-03-29 22:22 程序媛莫可可 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 除去 logic, bit, byte, int, shortint, longint 等基本变量外,还有下列数据类型 (1) 字符串 string 字符串的声明,大小,打印操作 module string_basic; string dialog = "helloworld" ; initial 阅读全文
posted @ 2022-03-29 19:56 程序媛莫可可 阅读(749) 评论(0) 推荐(0) 编辑