首页 > 其他分享 >verdi仿真的简单使用

verdi仿真的简单使用

时间:2023-11-19 12:23:56浏览次数:41  
标签:仿真 文件 rtl fsdb 简单 com verdi

  对于IC的从业人员来说,Verdi是使用频率很高的工具,这也是Synopsys(新思科技)的EDA工具。笔者之前都是使用vivado或者modelsim进行代码仿真,当然modelsim是使用最多的,后面接触了IC并且使用过verdi进行仿真后,觉得Verdi更好用,效率更高。当然笔者是做设计的仿真工具只是为了确保代码的功能及逻辑正确,verdi对于验证工程师来说可能更加重要。

  笔者也没对verdi进行深入了研究,就简单的能跑仿真,看波形信号。下面就简单介绍如何使用verdi进行仿真

  首先是先写好逻辑代码,激励文件等。然后新建在文件目录下新建如下几个文件,其中rtl文件夹中存放的是设计代码,tb存放测试激励,makefile作为运行脚本,rtl.f是文件列表。

  rtl.f文件就是把需要添加到仿真工程的文件都列出来

  接着就是编写makefile

 1 all: clean com sim verdi
 2 
 3 clean:
 4     rm -rf
 5     
 6 com:
 7     vcs -full64              \
 8     -f rtl.f -R +v2k         \
 9     -debug_access+all        \
10     -timescale=1ns/100ps     \
11     -fsdb +define+FSDB       \
12     -l com.log
13     
14 sim:
15     ./simv -l sim.log
16     
17 verdi:
18     verdi -f rtl.f -ssf *.fsdb -nologo &

  vcs -full64      使用EDA逻辑仿真工具编译源代码

  -f rtl.f        读取文件列表中的文件

  +v2k        支持verilog2001标准

  -debug_access+all  保存debug过程中生产的各种文件

  -timescale=1ns\100ps  定义仿真时间单位

  -fsdb +define+FSDB    添加fsdb的宏定义

  -l com.log      保存日志文件com.log

  ./simv -l sim.log     仿真并保存仿真日志

  verdi -f rtl.f -ssf *.fsdb -nologo &   打开verdi并打开对应的波形文件及代码

  准备就绪就可以运行指令:make all

   运行没报错之后便自动打开verdi,然后根据需要添加波形信号即可进行仿真分析。

 

标签:仿真,文件,rtl,fsdb,简单,com,verdi
From: https://www.cnblogs.com/WenGalois123/p/17841823.html

相关文章

  • 简单选择排序
    目录基本原理举例示例代码总结简单选择排序VS堆排序简单选择排序VS冒泡排序本文主要介绍简单选择排序的基本原理、具体例子,以及代码实现。基本原理简单选择排序的基本原理是:在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)......
  • Docker部署Excalidraw | 一个功能齐全、操作简单的画板
    一、介绍界面简洁,交互细致,上手简单,操作习惯和大部分制图软件相似免注册,支持中文界面,打开浏览器就能开始画图支持众多键盘快捷键操作,配合鼠标能快速画图(适配触摸屏)内容安全受保护,Excalidraw采用端到端加密,绘图内容不会上传到服务器支持通过网页链接共享协作二、部署Excalid......
  • Docker部署Excalidraw | 一个功能齐全、操作简单的画板
    一、介绍界面简洁,交互细致,上手简单,操作习惯和大部分制图软件相似免注册,支持中文界面,打开浏览器就能开始画图支持众多键盘快捷键操作,配合鼠标能快速画图(适配触摸屏)内容安全受保护,Excalidraw采用端到端加密,绘图内容不会上传到服务器支持通过网页链接共享协作二、部署Excalid......
  • 简单神经网络(py)
    1importnumpy2#激活函数库3importscipy.special45importmatplotlib.pyplot67#neutralnetworkclassdefinition8classneutralNetwork:9def__init__(self,inputnodes,hiddennodes,outputnodes,learningrate):10#定义各个......
  • Halo2简单示例
    Halo2简介[[Halo2]]是使用[[Rust]]语言开发,基于[[PLANK算法]]的,一款开源交互式([[STARKs]]),[[零知识证明(ZKP)]]的[[证明系统]]。GitHub仓库地址:halo2不同于普通的开发框架,Halo2中的功能开发称为电路(Circuit)开发,电路开发使用表格来设计并记录运算,并包含一系列的约束来验证......
  • 路由简单入门
     1地址和视图函数的映射关系---urls.py文件#urlpatterns列表,列表内放了url函数的执行结果#使用很简单,复制一行,改一下第一个参数(正则表达式),第二个参数是视图函数内存地址urlpatterns=[url(r'^admin/',admin.site.urls),#在内部,请求来了,路径匹配成功,内部自动调用......
  • 视图简单入门
    1视图函数views.py函数(可以不放在views中,但是通常放在里面)2视图函数之请求对象 -#1请求方式(GET,POST)浏览器地址栏中发出的请求都是get请求 print(request.method)-#2请求参数get请求这种形式:http://127.0.0.1/index?name=lqz&age=18print(request.G......
  • Dockerfile及docker简单使用
    Dockerfile个人使用总结Dockerfile的编写FROMpython#从基础镜像开始构建COPY./app#复制文件到镜像层WORKDIR/app#指定工作目录EXPOSE80#暴露端口供外部使用RUNpipinstall-rrequirements.txt#构建镜像时的命令,一个RUN构建一层,因此......
  • 简单的用Python实现一下JS逆向解密,采集空气质量数据
    最近天气降温厉害,咱们用Python来分析一下空气质量如何~话不多说,我们直接开始上手。环境以及模块环境使用Python3.8Pycharmnodejs模块使用importrequestsimportexecjsimportjsonrequests和execjs都是第三方模块,需要手动安装,直接pipinstall......
  • 一个简单案例的Vue2.0源码
    本文学习vue2.0源码,主要从newVue()时发生了什么和页面的响应式更新2个维度了解Vue.js的原理。以一个简单的vue代码为例,介绍了这个代码编译运行的流程,在流程中原始DOM的信息会被解析转换,存在不同的对象中。其中关键的对象有el、template、ast、code、render、renderfunction和vno......