Synopsys EDA数字设计与仿真

这篇具有很好参考价值的文章主要介绍了Synopsys EDA数字设计与仿真。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

搭建EDA环境

参考如下博文安装Synopsys EDA开发工具

https://blog.csdn.net/tugouxp/article/details/132255002?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132255002%22%2C%22source%22%3A%22tugouxp%22%7D

Synopsys EDA工具的结构

Synopsys EDA数字设计与仿真,EDA,嵌入式系统,处理器ISA,fpga开发

下面使用Synopsys的EDA数字综合仿真工具直观感受以下数字设计的基本流程:

数字模块设计&仿真

counter_tb.v

`include "timescale.v"
module counter_tb;
  reg irst = 0;
  reg iclk = 0;
  wire [3:0] ocnt;
  initial begin
    irst = 1; #100;
    irst = 0; #300;
    $stop;
    #1000;
    $finish;
  end
  always begin #5 iclk = !iclk; end
  counter counter_test(
    .irst(irst),
    .iclk(iclk),
    .ocnt(ocnt)
  );
  initial
  $monitor("At time %t, ocnt = %d", $time, ocnt);
  initial
  begin
    //$dumpfile("counter_test.vcd");  //$dumpvars(0, counter_test);
    $fsdbDumpfile("counter_tb.fsdb"); //testbench的名字       
    $fsdbDumpvars();
    $fsdbDumpSVA();
    $fsdbDumpMDA();
  end
endmodule

timescale.v

`timescale 1ns/1ps

counter.v

`include "timescale.v"
module counter(irst, iclk, ocnt );
  input irst, iclk;
  output reg [3:0] ocnt;
  always @ (posedge iclk)
    if(irst)
      ocnt <= 4'b0000;
    else
      ocnt <= ocnt + 1'b1;
endmodule

Makefile

all:
	iverilog -o counter_test $(notdir $(wildcard ./*.v))
	vvp -n counter_test -lxt2
	cp counter_test.vcd counter_test.lxt

sim:
	gtkwave counter_test.lxt

vcs:
	vcs -R -full64 -timescale=1ns/1ns -fsdb -f file.l

verdi:
	verdi -f file.l -ssf counter_tb.fsdb

clean:
	rm -fr *.lxt *.vcd
	rm -fr counter_test

file.l 是verilog源码清单文件:

counter_tb.v
counter.v
timescale.v

VCS编译&综合,执行make vcs:

vcs -R -full64 -timescale=1ns/1ns -fsdb -f file.l

Synopsys EDA数字设计与仿真,EDA,嵌入式系统,处理器ISA,fpga开发

verdi查看波形,q退出ucli%,执行make verdi,实际上是执行如下命令查看波形: 

verdi -f file.l -ssf counter_tb.fsdb

Unified Command Line Interface (uCLi) 提供了与VCS交互仿真的控制命令,即与VCS的命令行输入接口。uCLi的命令是基于Tcl脚本语言进行编写的,也就是说可以编写Tcl脚本来实现:

  • 控制仿真
  • dump fsdb或者vpd波形文件
  • 保存或恢复仿真状态
  • force或release某个信号
  • 使用breakpoints或scope以及内建宏等信息对设计进行调试

因此可以很灵活的进行调试和仿真控制。

Synopsys EDA数字设计与仿真,EDA,嵌入式系统,处理器ISA,fpga开发

波形和GTKWAVE得到的波形是一样的:

Synopsys EDA数字设计与仿真,EDA,嵌入式系统,处理器ISA,fpga开发

FSDB全称是Fast Signal DataBase,是 Verdi 支持的波形文件,一般较小,使用较为广泛。

fsdb文件是verdi使用一种专用的数据格式,类似于VCD(Value Change Dump),但是它是只提出了仿真过程中信号的有用信息,除去了VCD中信息冗余,就像对VCD数据进行了一次huffman编码。因此fsdb数据量小,而且会提高仿真速度。VCD文件是文本格式的文件,它是使用verilog内置的系统函数来实现的,是 Verilog HDL语言标准的一部分,因此所有的verilog的仿真器都能够查看该文件,允许用户在verilog代码中通过系统函数来dump VCD文件。

使用VCS提供的工具fsdb2vcd可以将fsdb格式的波形文件转换为VCD格式,之后再用gtkwave查看,转换命令如下,下图是FSDB转换为VCD格式的波形文件后的显示效果:

fsdb2vcd counter_tb.fsdb | tee a.vcd

Synopsys EDA数字设计与仿真,EDA,嵌入式系统,处理器ISA,fpga开发

参考资料

https://www.cnblogs.com/lzhj/p/15719777.html文章来源地址https://www.toymoban.com/news/detail-657296.html


结束

到了这里,关于Synopsys EDA数字设计与仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式系统课程设计报告

    嵌入式系统课程设计报告 题目7(序号) 学生成绩查询系统(题目)              专    业:       软件工程          班    级:       软件二班                  姓    名:          xx                 学    号:             2019320100   

    2024年02月13日
    浏览(46)
  • 【嵌入式开发-8051】详细:基于AT89C52单片机设计的温控风扇(Proteus仿真设计-含设计原理图、程序源码)

    1、本设计是基于AT89C51/52单片机为核心的温控风扇系统,使用Proteus进行仿真分析。 2、由于上传后图片压缩,可以私信联系获取清晰图片。 3、本次为本人结课设计,整体比较简单,如有疑问欢迎大家交流讨论!   目录 【嵌入式开发-8051】详细:基于AT89C52单片机设计的温控风

    2024年02月07日
    浏览(60)
  • 2022嵌入式芯片与系统设计竞赛

    2022嵌入式芯片与系统设计竞赛 这是我们第一次参加相关的学科竞赛,基本上算是摸着石头过河,尽管有老师和同学的帮助但是还是走了不少的弯路。我们属于中部赛区,选的是芯片应用赛道,使用的是赤菟CH32V307开发板。 我们的项目是:基于(CH32V307VCT6)的智能配送小车 该

    2023年04月09日
    浏览(42)
  • 【新版】系统架构设计师 - 嵌入式技术

    个人总结,仅供参考,欢迎加好友一起讨论 嵌入式系统概述(★) 嵌入式系统开发与设计(★) 嵌入式硬件(★★) 嵌入式操作系统(★★★★) 嵌入式数据库(★) 嵌入式系统是一种以应用为中心,以计算机技术为基础,可以适应不同应用对功能、可靠性、成本、体积

    2024年02月09日
    浏览(224)
  • ARM简单程序设计【嵌入式系统】

    2023-4-6 20:26:54 以下内容源自《【嵌入式系统】》 仅供学习交流使用 Keil 4 安装教程及简单使用【嵌入式系统】 新建工程xxx 芯片:ARM7 (Little Endian) 设置工程属性 Build结果必须是0Error的 如果是下图看配置是否正确 注意这个: 1.每一次修改代码就需要重写Build 2.READWRITE区变量初始

    2023年04月20日
    浏览(70)
  • 嵌入式系统课程设计——温度记录仪

    课程设计目录 一、嵌入式系统基础实验  二、项目需求分析 三、实验方案设计 四、实验程序设计  五、成本核算情况 八、完成情况与问题分析 九、学习心得 一、嵌入式系统基础实验 1.1实验平台的使用 图1 建立新工程图片 图2 选择lpc1114芯片图片 图3 选择头文件图片 图4 编

    2024年02月10日
    浏览(47)
  • 嵌入式系统项目设计——电子琴(完整代码)

    内容摘自上学期嵌入式系统课程设计最终的实验报告,我作为小组组长负责代码部分的编写,与上一个实验相比,使用了相同的硬件,所以硬件示意图完全相同,实现的功能不同但原理类似。因为CSDN不支持上传word资料,所以我就摘录下来写进文章里了,希望可以帮助到你。

    2024年02月08日
    浏览(52)
  • 嵌入式室内环境参数监控系统设计

    本次课设要求学生们掌握四个方面,第一是文献检索及实验研究方法,第二是室内环境监控系统一般组成; 第三是掌握技术方案比选方法;最后是掌握STM32 ADC使用,同时本次课设需要做到以下几个方面: 了解国内室内环境参数监控系统组成及技术架构; 设计室内环境参数监

    2024年01月18日
    浏览(46)
  • 毕业设计 嵌入式 扫地机器人系统

    Hi,大家好,学长今天向大家介绍一个 单片机项目,大家可用于 课程设计 或 毕业设计 基于stm32的智能扫地机器人设计与实现 随着人口老龄化的到来和人民对提升生活品质的需要, 人们对在现实生活场景中取代人力的服务机器人有着迫切的需要。 同时, 机电、 自动控制、

    2024年02月11日
    浏览(52)
  • 嵌入式实时操作系统的设计与开发

    在RTOS中,时钟具有非常重要的作用,通过时钟可实现延时任务、周期性触发任务执行、任务有限等待的计时。 大多数嵌入式系统有两种时钟源,分别为实时时钟RTC(Real-Time Clock)和定时器/计数器。 实时时钟一般是靠电池供电,即使系统断电,也可以维持日期和时间。由于实

    2024年02月11日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包