- 博客(17)
- 资源 (1)
- 收藏
- 关注
原创 SV之操作符和表达式
目录Assignment operators 赋值操作Wild equality and wild inequality 不定值的比较struct expressions 结构体表达式Streamingoperators 流操作符inside 操作符Assignment operators 赋值操作+= -= *= /= %= &= ...
2019-06-27 16:27:34 15490
原创 UVM TestBench 举例
DUT为一个可读可写的存储器,RTL代码如下://------------------------------------------------------------------------// Memory Model RTL - www.verificationguide.com//----------------------------------------------...
2019-06-23 20:46:29 2326 1
转载 IC设计中不断增加的功耗挑战
在之前的IC设计中,关注的参数主要是性能(timing)和面积(area)。 EDA工具在满足性能要求的情况下,最小化面积。功耗是一个不怎么关心的问题。 CMOS工艺在相对较低的时钟频率下具有相当低的功耗,漏电流可忽略不计。然而,近年来,随着晶体管密度和时钟频率的显著增加,功耗也极大地增加。同时,随着电源电压和晶体管阈值电压降低,漏电流成为一个很大的问题。 结果就是,功耗已达到不可接受的限度,...
2019-06-19 10:58:12 2289
转载 存储器设计思想——冯诺依曼结构和哈佛结构
冯诺依曼结构冯诺依曼结构,也叫普林斯顿结构,指令和数据是不加区别地混合存储在同一个存储器中的,共享数据总线。指令和数据地址指向同一个存储器的不同物理位置,指令和数据的宽度相同。由于指令和数据放在同一个存储器中,因此冯诺依曼结构中不能同时获取指令和数据。又由于存储器的速度远低于CPU的速度,从而使CPU与存储器交换数据成了影响高速计算和系统性能的瓶颈。ARM7,80x86等都是冯诺依曼结构...
2019-06-19 10:13:00 3410
转载 乐鑫科技数字芯片2017
1.setup time、hold time含义,并说明setup time和hold time会出现负值的原因setup time是指在触发器的时钟信号触发之前,数据需要稳定不变的时间hold time是指在触发器的时钟信号触发之后,数据需要稳定不变的时间在考虑时钟skew的情况下,setup time和holdtime需要满足:T + Tskew >Ts...
2019-06-19 10:01:28 1790
原创 Introduction
什么是静态时序分析?在介绍什么是STA之前,我们需要了解为什么需要进行时序分析:(1)时序约束 timing constraint验证我们的设计是否达到了时序要求,也就是验证设计是否达到了我们所需要的时钟频率;通常我们会在限定的芯片速度、面积和功耗之间做出取舍,但是芯片必须满足时序约束以在所需的时钟频率工作,所以时序约束是最重要的约束.(2)操作环境我们应该确保芯片在任何操...
2019-06-17 09:31:35 2203
原创 Callback
SV中的回调(callback)明确了定义方法的规则,并且指定了一个方法用来回调已经定义的该方法;简而言之就是,被调用的方法就是回调方法(callback method),调用回调方法的方法称为回调勾(callback hook),回调方法一般是虚方法(dummy method),一般通过继承来进行覆盖重写.我们来看回调方法是如何工作的:在上面的图中,temp()方法就是回调勾,ca...
2019-06-13 21:02:28 790
转载 寒武纪2019秋招SOC岗笔试
module Syn_DFF(clk, rst_n,Din,Dout);input clk,rst_n,Din;output Dout;reg Dout;always@(posedge clk) begin if(!rst_n) Dout <= 1'b0; else Dout <= Din...
2019-06-12 00:22:36 2393
原创 数字IC笔试题 ——Nvidia前端设计2018
4、Asyncfifo design using Verilogmodule asyn_fifo( input wclk , input rst_n , input wr_en , input [7 : 0] data_in , output full , input rclk , input rd_en , output reg ...
2019-06-10 20:29:04 6485
转载 数字IC笔试题 ——汇顶设计验证2018
在逻辑综合时,一般有4中path group:Input to reg :输入端口到寄存器,通过set_input_delay设置输入端口外的延时,来约束组合逻辑延时Tclk – T1 – Tinput_delay – Tsetup > 0我们设置 Tclk和Tinput_delay,从.lib/.db库里面读入Tsetup,工具就会约束优化T1组合逻辑...
2019-06-10 19:31:44 10661 4
转载 数字IC笔试题 ——全志科技数字前端
DB、施密特触发C、方波列出所有情况A[3:0] = 4’b0000 ~ 4’b1111即可rst_n为异步复位,然后在每个clk上升沿进行触发器状态更新时钟路径:0.8ns数据路径:1+1.2+2.2=4.4ns 时钟周期T=4ns建立检查:数据要求最晚到达时间为 0.8+4-Tsu=4.2ns<4.4 所以建立时间违例保持...
2019-06-10 17:07:17 6777 4
原创 Register Layer
目录IntroductionRegister ModelRegister EnvironmentConnecting register envUVM Register Model ExampleUVM Register Backdoor AccessIntroductionUVM中的寄存器层类(Register Layer class)是用来创建高层次(h...
2019-06-08 15:00:28 1272
原创 UVM TLM
目录TLM通信概述单向、双向及多向通信通信管道应用TLM SocketsTLM通信概述TLM(transaction level modeling)用于建立各组件和系统之间的抽象传输模型。在这个模型中,数据是以传输类(transaction,这个类中包含了各种随机变量)的形式流通于各个组件之间,各个组件之间的接口称为TLM端口。UVM提供了一系列的TLM...
2019-06-03 21:52:39 2859
原创 Sequences
目录新手上路Sequence itemcreate and use a sequence使用`uvm_do_*宏来运行sequence item通过start()方法来运行sequence通过`uvm_do_*来运行sequenceSequence action macros for pre-existing itemsVirtual SequenceU...
2019-06-03 17:19:06 2662
原创 Misc
目录Using factory overridesHow to use uvm_printerReporting FunctionsSetting policy using uvm_comparerHDL access routinesUVM PoolUsing factory overrides在SV中我们是通过new()来创建类的对象的,这种方法也可以在...
2019-06-02 16:05:12 734
verilog新手入门资料
2017-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人