System Verilog
强迫症高级患者
这个作者很懒,什么都没留下…
展开
-
SV timing region
https://zhuanlan.zhihu.com/p/98773154原创 2020-05-09 22:28:50 · 672 阅读 · 0 评论 -
数字IC笔试
数字IC笔试1.什么是亚稳态吗,怎么解决亚稳态:时钟有效沿到来时,被采的数据处于变化当中,输出的数据不是稳定的解决方案a.降低时钟频率b.用反应更快的FFc.引入同步机制,防止亚稳态的传播d.改善时钟质量,用边沿变化快速的时钟信号引入同步机制--两级DFF原理两级触发器同步机制.png第一级采集Reg1_q是震荡不稳定的亚稳态,最终趋于平稳,,第二级触发器在有效时钟...转载 2019-09-17 20:06:06 · 585 阅读 · 0 评论 -
数字IC设计工程师笔试面试经典100题
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...转载 2019-09-17 20:11:06 · 14613 阅读 · 0 评论 -
常见数字IC设计,FPGA面试问题总结
...转载 2019-09-17 20:16:01 · 953 阅读 · 0 评论 -
大疆2019校招FPGA笔试总结
...转载 2019-09-17 20:42:21 · 1105 阅读 · 0 评论 -
寒武纪2019秋招SOC岗笔试
module Syn...转载 2019-09-17 20:45:11 · 325 阅读 · 0 评论 -
调用System Verilog 任务的C 任务
下面是System Verilog 内存模型的代码//readFile.c#include <stdio.h>extern void memBuild(int);extern void memRead(int addr, int *data);extern void memWrite(int addr, int data);int readFile(char *fname...原创 2019-09-18 22:21:43 · 1047 阅读 · 1 评论 -
System Verilog——C语言调用SV对象中的方法
本文接上一篇文章,即调用System Verilog 任务的C 任务,简介如下https://blog.csdn.net/qq_31348733/article/details/101000399如何在C语言中调用SV方法呢,显然定义在类中的方法我们无法直接调用,因为当SV编译器编译代码时,对象还不存在。为了解决这个问题,我们可以在SV和C之间传递一个对象引用。但是跟C指针不同的是,SV句柄不...原创 2019-09-19 19:32:58 · 3183 阅读 · 0 评论 -
System Verilog 上下文context的含义以及设置导入函数的作用域
1. 上下文(context)的含义导入函数的上下文是该函数定义所在的位置,比如$unit 、模块、program或者package作用域(scope),这一点跟普通的sv方法是一样的。如果你把一个函数导入到两个不用的作用域,对应的C代码会依据import语句所在位置的上下文执行。这类似于在SV的两个不同模块中分别定义一个run()任务,每个任务都会明确地访问自己所在模块的内部变量。下面是C方...原创 2019-09-20 11:35:27 · 2470 阅读 · 0 评论 -
数字IC笔试题 ——Cadence前端设计2018
...转载 2019-09-17 20:01:22 · 311 阅读 · 0 评论 -
modelsim+win环境下systemverilog调用c函数
转载至:https://www.bbsmax.com/A/1O5EpR7GJ7/最近为了验证一个ip,需要将ip的输出数据与c model的数据比对,之前采用的是将仿真结果输出,用perl读取结果,与c的输出结果比对,这样做也可以,但是在做遍历测试时,由于数据量较大,就显得不方便了。因此想要在testbench里调用c函数,直接对结果进行测试,如果两边结果不一致再报错。操作系统是win10,m...转载 2019-09-10 20:12:56 · 1749 阅读 · 3 评论 -
System Verilog——接口
我们在进行模块与模块之间的连接时,需要将信号与端口进行连接,所有的这些连接都是极易出错的,因为一个信号可能流经几个设计层次,它必须一遍一遍地被声明和连接。最糟糕的是如果你将添加一个新的信号,它必须在多个文件中定义和连接。使用System Verilog接口可以解决这些的问题。例:仲裁器的简单接口interface arb_if(input bit clk); logic [1:0] gran...原创 2019-08-26 17:20:17 · 1465 阅读 · 0 评论 -
System Verilog $root
全局声明和语句在Verilog中,除了一个模块可以作为模块实例引用其他模块外,并不存在一个全局空间。另外,Verilog允许任意数目的顶层模块,因此会产生毫无关联的层次树。SystemVeriog增加了一个被称为$root的隐含的顶级层次。任何在模块边界之外的声明和语句都存在于root空间中。所有的模块,无论它处于哪一个设计层次,都可以引用root中声明的名字。这样,如果某些变量、函数或其它信...原创 2019-08-28 20:36:36 · 1882 阅读 · 0 评论 -
System Verilog ref参数
SystemVerilog提供了一个ref关键字作为函数参数的前缀。当使用ref时,表明参数是使用引用传递,'ref’语法类似C++中的引用。有两种情况下使用’ref’做参数比较有意义:第一种情况:由于函数只能有一个返回值(不考虑传统Verilog上的input/output参数端口声明),任务没有返回值。当函数需要返回多个值或者任务需要返回一个以上值的时候,通过引用传递就用得上。第二种情况...原创 2019-08-29 10:17:37 · 7058 阅读 · 1 评论 -
System Verilog 流操作符
在SV中,流操作符>>和<<用在赋值表达式的右边,后面带表达式、结构或数组。流操作符用于把气候的数据打包成一个比特流。操作符>>把数据从左至右变成流,而<<则把数据从右至左变成流。你也可以制定一个片段宽度,把源数据按照这个宽度分段以后再转变成流。不能将比特流结果直接赋给非合并数据,而应该在赋值表达式的左边使用流操作符把比特流拆分到非合并数组中。如下面...原创 2019-09-02 20:45:31 · 11828 阅读 · 11 评论 -
System Verilog中fork...join、join_none和join_none的用法和解析
标准的Verilog对语句有两种分组方式——使用begin…end或fork…join,begin…end中的语句以顺序方式执行,而fork…join中的语句则以并发方式执行。后者的不足是必须等fork…join内的所有语句都执行完以后才能继续块内后续的处理。因此,在Verilog的测试平台中很少用到它。System Verilog引入了两种新的创建线程的方法——使用fork…join_none...原创 2019-09-02 21:20:10 · 25097 阅读 · 8 评论 -
System Verilog 使用信箱和事件来实现线程的同步
下面代码是使用事件实现同步的生产方和消费方program automatic mbx_evt; mailbox mbx; event handshake; class Producer; task run; for(int i=1; i<4; i++)begin $display("Producer: before put (%0d)", i); mbx.p...原创 2019-09-04 21:27:00 · 1286 阅读 · 0 评论 -
使用两个信箱来实现线程的同步
对两个线程进行同步的另一种方式是再使用一个信箱把消费方的完成信息发回给生产方。如下面代码所示:program automatic mbx_mbx2 mailbox mbx, rtn; class Producer; task run(); int k; for(int i=1; i<4; i++)begin $display("Producer: before ...原创 2019-09-04 21:37:39 · 370 阅读 · 1 评论 -
Modelsim 简单的覆盖率测试
本文介绍了使用Modelsim SE-64 10.2c进行简单的覆盖率测试。测试代码:module tb_top;//=====================================================================\// ********** Define Parameter and Internal Signals *************...原创 2019-09-07 22:15:24 · 4144 阅读 · 0 评论 -
System Verilog——局部数据存储
1.自动存储在System Verilog中,模块(module)和 program块中的子程序缺省情况下任然使用静态存储。如果要使用自动存储,则必须在程序语句中加入automatic关键词。如:program automatic test;…endprogrammodule automatic test;…endmodule2.变量的初始化program initializa...原创 2019-08-26 16:00:58 · 1102 阅读 · 0 评论