Verilog 实现不同类型的RAM

本文为个人的学习笔记,内容均为网络资料总结,价值有限~ 参考资料附在文后 RAM分类 RAM 按照功能可以分为 单端口RAM(SP),简单双端口RAM(SDP),真双端口RAM(TDP)。 按照底层实现可以分为 分布式RAM(DRAM),块RAM(BRAM),寄存器RAM(REG),有些器件也可以用

VSCode 配置Verilog 代码片段联想

个人笔记,没有参考价值~ 输入ctrl+shift+P,输入代码,选择插入代码片段。 选择verilog: 编辑json文件,以下为参考代码,可以根据自己需要修改: { "Verilog Module with Clock and Configurable Reset (Postedge Defa

《UVM实战》运行第一个验证平台 STEP7

本篇为验证平台的最后一个环节,step by step 的最后一步,给平台添加测试用例。 项目地址:https://github.com/shirainbown/UVM-Step-by-Step/tree/master 我们理论上已经将平台完整搭建出来了,不过还存在一个问题,虽然平台能够发送激励并且

《UVM实战》运行第一个验证平台 STEP6

本文为验证平台添加了 sequence和sequencer两个组件,整个验证平台基本成型,文中并没有选择《UVM实战》2.4.3中的default_sequence 的方式,因为我在工作中也没有采用这种方式。 https://github.com/shirainbown/UVM-Step-by-St

《UVM实战》运行第一个验证平台 STEP5

本篇文章在已有的基础上,继续给验证平台添加reference model 和scoreboard组件。 https://github.com/shirainbown/UVM-Step-by-Step/tree/master 1. reference model reference model 用于接

《UVM实战》运行第一个验证平台 STEP4

上篇文章讲了如何添加interface,用于充当DUT 和验证平台之间的数据接口,可以避免使用绝对路径来对数据进行驱动。这篇文章尝试搭建一个较为完整的UVM平台,实现数据的驱动和采集,添加transaction,monitor,agent,env等组件。 https://github.com/shi

《UVM实战》运行第一个验证平台 STEP3

driver 会生成DUT 所需要的激励信号,通过top_tb传递给DUT 的输入接口,在之前的代码里面都是直接在driver里面给top_tb的信号赋值,然后连接到DUT 的输入输出端口,本节给出规范的连接方法。 https://github.com/shirainbown/UVM-Step-by

《UVM实战》运行第一个验证平台 STEP2

上文试图运行了第一个UVM平台,但实际上和真正的验证平台相差甚远,本文试图补充一些组件内容,同时解读一下书中的代码。 https://github.com/shirainbown/UVM-Step-by-Step/tree/master 我们从第一个实例可以发现,一个最基础的UVM 平台至少是需要有

《UVM实战》运行第一个验证平台 STEP1

本文作为一个入门的指导吧,当时自己刚刚接触UVM 的时候一头雾水,虽然能够看明白代码但是始终没有自己运行起来。 https://github.com/shirainbown/UVM-Step-by-Step/tree/master 接上文的UVM 环境配置,按照这个配置好之后可以按照本文运行第一个U

MATLAB HDL Coder 环境准备

1. Synthesis Tool Path Setup 本节主要介绍了在MATLAB中配置常见的第三方综合工具路径, 使用hdlsetuptoolpath Function,配置vivado路径 hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPa