自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

iKUNqa的博客

升级升级

  • 博客(74)
  • 收藏
  • 关注

原创 有符号除法 & 简单的带小数计算及权重约束_2024年10月7日

非符号位:将被除数赋值于余数,检查余数是否大于或等于除数,如果是则从余数中减去除数,并将商自加1。如果余数小于除数,则停止while循环。被除数为 8bit整数,除数为 8bit整数,输出 8bit 商和 8bit 余数,所有输入输出都是有符号数。(最高位 1 代表负数,0 代表正数)

2024-10-29 21:32:31 254

原创 跨时钟域处理(多bit)_2024年10月21日

在快时钟域下单周期变化的数据是无法同步到慢时钟域下的(需使用异步fifo缓存)用一个单比特的控制信号(如数据有效信号)来同步多比特的数据信号。必须慢时钟域到快时钟域(快到慢必会丢失数据)

2024-10-29 15:31:17 252

原创 UVM的tc case_2024年10月26日

发送接收case寄存器检查case复位case中断case改变配置case

2024-10-26 16:45:16 273

原创 断言 & 创建随机约束类 & C实现寄存器写值(杭州研极三道笔试题)_2024年10月24日

请设计一个断言进行如下时序检查:当信号A或者B有一个发生了从低到离跳变,接下来2~4个时钟周期内,信号C应为低电平。请使用Syslem verilog编写一段程序,利用随机变量及约束产生单调递增的激励数据,要求。2)使用包含15个元素的数组。4)首尾两端数据差为80。3)每个数据单调递增。

2024-10-25 10:46:54 164

原创 跨时钟域处理(单bit)_2024年10月21日

在快时钟域clk下对慢时钟域信号进行打拍。

2024-10-21 15:12:03 379

原创 driver,sequencer,sequence之间的握手关系_2024年10月3日

sequencer :将事务(sequence items)从 sequence 发送到 driver,并将 driver 的响应反馈给 sequence 的组件。会对同时尝试访问 driver 以激励设计接口的多个 sequences 进行仲裁。sequence 和 sequencer 在事务级抽象,driver 在信号级对设计接口进行驱动。driver :根据接口协议将事务转换为一组信号级切换的组件。

2024-10-03 22:28:42 246

原创 乒乓buffer(国科微笔试填空)_2024年9月26日

当sel拉高时,a、b模块在wren和rden有效时分别写和读;当sel拉低时,a、b模块在rdenwren有效时分别读和写。乒乓buffer是否提高了并行度?流水线式处理,提高并行度。

2024-09-26 15:30:02 284

原创 状态机序列检测(记忆科技笔试题)_2024年9月2日

记忆科技笔试题:检测出11011在下一个时钟周期输出一个高脉冲(宽度为一个时钟周期),检测到……11011011……认为检测到两次再输出一个高脉冲。插入寄存器打拍处理,可以在不同的时钟周期内对信号进行同步,从而减少亚稳态的风险。发送模块循环发送0-7,在每个数据传输完成后,间隔5个clk,发送下一个。

2024-09-21 15:28:57 428

原创 同步fifo(SV专栏) & 使用格雷码的异步fifo_2024年9月18日

【代码】同步fifo(SV专栏) & 使用格雷码的异步fifo_2024年9月18日。

2024-09-19 21:43:18 178

原创 音频左右声道数据传输_2024年9月6日

I2S master model 用clk的上升沿送数,I2S slave model用clk的下降沿采数。43、44和55行:从左到右,从高到低,在最低两位补0,将一个多bit位数据作为串行数据送出去,高位先送。I2S slave将I2S master发送来的左右声道的串行数据DATA转变为16bit的并行数据。WS为左右声道选择信号,WS高代表左声道,WS低代表右声道;WS为高和为低都持续18个周期,前面16个周期用来传输数据。如下为音频数据传输标准I2S总线的基本时序图。

2024-09-17 13:46:49 572

原创 可置位计数器 & 游戏机计费程序 (牛客网)_2024年8月9日

【代码】可置位计数器 & 游戏机计费程序 (牛客网)_2024年8月9日。

2024-08-11 15:10:35 154

原创 流水线乘法器 & 交通灯 (牛客网)_2024年8月8日

【代码】流水线乘法器 & 交通灯 (牛客网)_2024年8月8日。

2024-08-11 13:21:37 291

原创 【占空比50%的奇数时钟分频器 & 任意小数分频_2024年8月6日】

小数分频:以0.87为例:(大计数器里包小计数器:最后一个大计数器单独列为一种情况用于完成最后一个小计数器并归零大计数器)

2024-08-06 23:21:05 346

原创 verilog水仙花数 & RAM实现_2024年8月5日

tb只要给一下clk和rst_n即可。

2024-08-06 13:31:59 234

原创 uart_diver与uart_monitor的写法_2024年8月4日

【代码】uart_diver与uart_monitor的写法_2024年8月4日。

2024-08-04 14:14:40 163

原创 【I2C读写数据(按键消抖code及tb)/2023年8月14日】

实现功能:按键按一次加一写入数据,ila读出加的数据所用芯片:EEPROM24LC04 的设备地址为 0xA0所用I2C总线包含两根总线:I2C_SCL和I2C_SDApullup();上拉电阻空闲状态:SDA,SCL都为高起始位SCL为高时,SDA出现一个下降沿停止位:SCL为高时,SDA出现一个上升沿数据位传送:SCL为低时,SDA数据发生变化应答信号:ACK=0 NACK=1三态门输入时,输出使能关闭,A无法传到AB,AB传到B。

2024-08-01 11:01:53 317

原创 【信号发生器 & 位宽转换(含联发科笔试题)_2024年8月1日】

与例题的区别在于,前面的数据还需要在后面输出。

2024-05-15 14:25:08 362

原创 【UVM_event_pool & UVM_coverage & RAL & TLM_2024.03.18】

用于同步或者通信,由object派生。

2024-03-22 14:15:59 478

原创 【sequence进阶 & config_db & message_2024.03.14】

sequence需根据driver对transaction的反应决定接下来发送数据→在sequence中使用get_response,在driver中使用put_reponse。solution:用response_handler,调用函数use_response_handler(1),此值默认是0。若为uvm_test_top.apb_env* 则env下的component,包括env都能get到该interface。整合需要配置的变量,放置到一个uvm_object中,再使用其在验证环境中传递。

2024-03-18 15:59:38 1125

原创 【UVM_transaction & sequence & do_2024.03.12】

uvm_transaction继承uvm_objection的所有方法外,增加了timing和recording接口:transaction组成:域 & filed_automation & 约束:sequencelocal::关键字的用法当sequence中定义的变量与transaction中变量同名时,需用local::来指定sequence中的变量启动sequence的方法①start任务启动②default_sequence启动,自动设置seq.starting_phase

2024-03-12 11:53:17 579

原创 【UVM_phase & objection_2024.03.08

棕色:function phase 不消耗仿真时间绿色:task phase 消耗仿真时间。

2024-03-10 22:50:05 616

原创 【UVM_Scoreboard & Agent & Env & Test_2024.03.06】

参考模型(c等语言写的)的输出与DUT的输出进行比对两条路:driver驱动monitor采样给reference modeldriver驱动dut,monitor采样传给scoreboard。

2024-03-06 12:02:47 484

原创 【APB协议 & UVM_Sequencer & Driver & Monitor_2024.03.04】

充当激励环节的路由器作用,管理sequence,也传递数据,仲裁某一时刻传递哪个sequence的数据。

2024-03-04 15:59:42 777 2

原创 【UVM_Introduction & Factory_2024.02.28】

提供一套标准的类库,减轻环境构建的负担,更多的投入制定验证计划和创建测试场景。蓝色不用加this,蓝色橙色用create,绿色用new。通用验证方法学UVM(2014年1.2版本延续至今)降低验证工程复杂度,保证验证可靠性,提升验证效率。elab.log看编译文件路径。

2024-02-28 18:56:30 424

原创 【验证步骤 & sv项目-异步fifo_2024.02.25】

功能验证DUT(待测试的设计代码)设计人员介绍DUT→验证人员讲述对DUT的理解。

2024-02-28 12:24:52 1409

原创 【SV的面向对象 & SV的类_2024.01.02】

Class类:包含变量和子程序的基本构建块Object对象:类的一个实例Handle句柄:指向对象的指针Property属性:存储数据的变量;在V中,可以是wire或reg类型Method方法:类中可以使用task或者function来定义方法以便处理自身或者外部传入的数据;在V中可在module中定义task或function,也可以使用initial或always处理数据 (SV中不可,initial和always仿真就执行,class使用时才调用)

2024-02-19 19:09:59 925

原创 【DPI直接编程接口(Direct Programming Interface)_2024.02.01】

DPI接口:实现SV与C的交互。

2024-02-02 15:26:26 507

原创 【Error记录】

files.f中类一定要放在例化该类文件的前面编译。不是该文件的问题,是编译的上一个文件有语法错误。virtual不是vitual。

2024-01-30 21:13:23 1308

原创 【覆盖率采样 & 交叉覆盖率_2024.01.29】

记录每个数值被捕捉到的次数,衡量功能覆盖率的基本单位。域:可能数值的个数覆盖率:采样值的数目除以bin的数目若采样变量的域范围过大而又未指定bin,则系统默认分配64个bin,将值域范围平均分配给64个bin。

2024-01-30 20:04:30 440

原创 【SVA断言_2024.01.24】

在RTL设计中,仿真时查看异常情况,异常出现时,断言会报警,断言占整个设计的比例应不少于30%

2024-01-26 19:27:53 491

原创 【覆盖率类型 & 覆盖策略覆盖组_2024.01.26】

覆盖率:衡量设计验证的完备性。

2024-01-26 18:24:08 399

原创 【随机化约束控制 & 解的概率_2024.01.19】

1.constraint_mode(0)关闭约束,再用randomize()with{}重新约束。2.子类extends父类,再定义同名约束覆盖父类约束。每一次结果都不同,缺点:不知道种子号。优先级:randc>rand。执行多次是一样的,伪随机。解决方法:随机化种子。

2024-01-19 20:53:55 479

原创 【随机化约束的种类_2024.01.17】

rand(抓完放回)/randc(抓完不放回)进行随机,通过constraint {}约束块。约束块不像自上而下执行的程序性代码,为声明性的代码,是并行执行的;按{}中的内容分为:范围、权重、条件约束。约束表达式同时有效,取交集。对某一变量采用不同约束。

2024-01-17 16:31:18 471

原创 【包和线程的使用 & 多线程通信_2024.01.16】

对于硬件的过程块,不同逻辑/时序块之间的通信或者同步,实际是通过信号的变化来完成的。

2024-01-16 14:17:56 400

原创 【SV的虚接口_2024.01.11】

interface简化了模块之间的连接,但无法很好的适用于基于oop的测试平台,无法在program,class中进行实例化,故引入virtual interface。消除绝对路径,尽可能的减少验证代码的大面积修改。本质是指针,指向interface的指针。virtual interface是可在class中实例化的数据类型,使用virtual interface可与DUT进行间接地通信,而无需使用层次结构引用。

2024-01-11 15:44:15 576

原创 SV接口的驱动和采样_2023.12.27】

使用cloking block进行信号的同步在cloking block,所有信号的采样和驱动,都是和时钟同步的。

2023-12-29 18:34:03 691

原创 【SV的激励时序与接口_2023.12.26】

竞争:由于每条途径延迟时间不同冒险:竞争有先有后产生毛刺。

2023-12-27 21:30:16 512

原创 【SV的过程语句和子程序_2023.12.25】

硬件世界:module,interface软件世界:program,class(不会综合成硬件电路)SV拓展:always -ff触发器和always -comb组合逻辑。

2023-12-27 17:19:40 564

原创 【验证概括 & SV的数据类型_2023.12.18】

声明变量一定要放在initia块前面。

2023-12-26 13:57:55 1323

原创 【加法减法选择计数器_2023.12.15】

【代码】【加法减法选择计数器_2023.12.15】

2023-12-15 17:09:47 444

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除