HDL抽象等级 仿真模型 网表 delay speicfy与sdf

这篇具有很好参考价值的文章主要介绍了HDL抽象等级 仿真模型 网表 delay speicfy与sdf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.HDL 硬件描述语言 抽象分级

HDL这里主要说verilog 在描述硬件电路时分为三个抽象级别

行为级模型:主要用于test bench,着重系统行为和算法,不在于电路实现,不可综合(常用描述有initial,fork/join,task,function,repeat,wait,event,while等)。

•RTL级模型:主要用于集成电路的设计(ASIC,SOC或FPGA等),重点在于电路实现,在于如何在timing,area和power中做出平衡。可综合出门级电路。(常用描述有module,always,case,assign等)。

•门级模型:主要用于后端的物理实现,它是实际电路的逻辑实现通常由RTL级模型综合出来的,(常用描述有逻辑门,UDP,线网等),门级模型还用于开发小规模的元件。

        我们常见的门级模型的verilog有 stdcell的仿真模型(即 .v文件), mem的仿真模型,第三方IP的gate_level级仿真模型因为第三方IP常常会提供rtl级和gate-level级两种仿真模型。RTL级仿真模型用来功能仿真,gate-level用来前防(zero-delay)和后防(带延时仿真)】。

        门级模型 的verilog module都是用 和工艺无关的最小单元来描述电路。比如常用的

not
and
or
xor
buff
bufif1
bufif0
notif0
notif0

是看不到寄存器的,因为寄存器也是由这些基本单元构成的。下面两张图就是简单的门级module的例子。其实翻开stdcell的verilog模型,代码也是和下面一样的。

HDL抽象等级 仿真模型 网表 delay speicfy与sdf

module and4(
   output       out,
   input        a, b, c, d);

   specify
      (a,b *> out) = 2.5 ;
      (c,d *> out) = 3.5 ;
   endspecify

   wire         an1, an2 ;
   and          (an1, a, b);
   and          (an2, c, d);
   and          (out, an1, an2);
endmodule

2.仿真中怎么带延时信息

        仿真带延时信息就需要 verilog的module中有specify--end specify,有了specify sdf才能正确反标。sdf只是后端收完timing之后 更准确的延迟信息。反标就是反标在有specify的地方。sdf与specify的延迟不一致时以sdf为准,没有sdf的地方使用specify的延迟信息。

3.为什么我们常写的RTL代码没有specify

        这是因为RTL都是寄存器级的描述,而寄存器并不是最小的电路单元,很难将延时下到pin上,而且也不统一,比如说一个逻辑与“&&”,只能看到信号而看不到pin,相当于每一个“&&” 都要写一遍specify。寄存器也是一样的 都是同样的DFF,rtl写起来千差万别,不好加specify。 当我们先把RTL级代码翻译成gate_level的verilog,然后再map到标准单元库,最终输出map到标准单元库的netlist。然后netlist调用stdcell的gate-level级仿真模型,就可以带上所有的延迟信息。

        所以我们看到的netlist是需要调用stdcell的仿真模型。而所有的非net延迟信息都包含在了stdcell的module中。

        综合netlist可以说并不是一个gate-level的代码,它只是包含了stdcell的例化和连线关系的一个描述文件,stdcell的仿真模型才认为是gate-level的代码。

        第三方提供的gate-level代码 同时包含了netlist(常常是不可综合的)和调用的gate-level级cell module,这些cell不是工艺相关的stdcell,而是通用的cell描述。

可参考另一篇文章:

sdf与timingCheck和后仿真_cy413026的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-489601.html

到了这里,关于HDL抽象等级 仿真模型 网表 delay speicfy与sdf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【Qt6】列表模型——抽象基类

    列表模型(Item Model),老周没有翻译为“项目模型”,因为 Project 和 Item 都可以翻译为“项目”,容易出现歧义。干脆叫列表模型。这个模型也确实是为数据列表准备的,它以 MVC 的概念为基础,在原始数据和用户界面视图之间搭建桥梁,使两者可以传递数据(提取、修改)

    2024年02月09日
    浏览(29)
  • 【人工智能】大模型的本质是这个世界抽象出来的函数

    模型是机器学习中的一个重要概念,它是指对数据进行学习和预测的数学模型。在机器学习中,模型的本质是函数,本文将从函数的角度出发,对模型的本质进行展开讲解。

    2024年02月06日
    浏览(33)
  • 解密prompt系列26. 人类思考vs模型思考:抽象和发散思维

    在Chain of Thought出来后,出现过许多的优化方案例如Tree of thought, Graph of Thought, Algorithm of Thought等等,不过这些优化的出发点都更加\\\"Machine Like\\\",而非\\\"Human Like\\\", 哈哈不是说机器化不好,仅仅是对AGI的一些个人偏好而已。 所以如果我们从人类思考的角度出发,能否把当前模型的思

    2024年03月10日
    浏览(31)
  • ARMv8-AArch64 的异常处理模型详解之异常等级、执行状态以及安全状态

    在了解AArch64异常等级模型之前,有必要先理解特权的概念。现代软件被开发成不同的模块,每个模块对系统和处理器资源有不同的访问级别。比如操作系统内核和用户应用程序的划分。操作系统内核需要高级别的权限来访问系统资源,然而应用程序应当被限制其配置系统的能

    2024年02月03日
    浏览(34)
  • Vivado生成网表文件

    仅供个人纪录!!! 在vivado中执行综合后即可生成网表文件,简单来说网表文件是对电路设计逻辑结构的描述,如网表由单元(cell)、引脚(pin)、端口(port)和网络(Net)构成。 综合之后Open Synthesis Design可以看到这样一个窗口,这就是记录了电路的网表信息。 如要导出

    2023年04月08日
    浏览(24)
  • vivado生成网表文件edf

    1.将目标模块设为顶层文件 2.进行综合 3.Open Synthesized Design 4.在TCL Console输入命令 write_verilog -mode synth_stub D:/design_name.v  write_edif -security_mode all D:/design_name.edf   5.生成的.v和.edf就可以替换之前的 模块及其子模块啦   详细操作可以参考以下文章 【划水】Vivado生成网表文件是怎么

    2024年02月11日
    浏览(34)
  • SDF文件【简要说明】

    SDF (Standard Delay Format),标准延时格式文件,常用延迟反标注。该文件包含了仿真用到的所有 IOPATH,INTERCONNECT的延时。 线延时: 表示 fsm_block/U27/Q端口到fsm_block/U41/C端口的连线延时最小是0.002,最大是0.002。典型值在sdf中没有说明。因此在Modelsim里反标sdf延时时,要指定-sdfmin或

    2024年02月11日
    浏览(28)
  • Cadence学习之路(七)PCB创建与网表导入

    1.创建brd文件放入工程文件夹的pcb文件夹下面  2.设置框图的大小(400 x 400) 以及左下角坐标(-200,-200) 可以看出我们PCB只有top与bottom两层,再添加两层, 步骤:setup - Cross-section打开如下视图,在TOP上右击选择,即可新建 两个内建层 GND层与电源POWER层 位于TOP之下,BOTTOM底

    2024年02月05日
    浏览(32)
  • Implicit隐式渲染入门 SDF SphereTracing

    何为隐式?隐式(Implicit)的是显式(explicit)的反义词。 explicit可以简单理解为用网格等信息描述的几何形状,网格信息是离散的,信息量越大描述越精准。Implicit则不需要顶点等显式信息,用方程,或者说 有符号距离场 (Signed Distance Field) 即SDF,表示几何形状的数学模型。

    2024年02月02日
    浏览(31)
  • 【FPGA】Quartus18.1打包封装网表文件(.qxp)详细教程

    当我们在做项目的过程中,编写的底层Verilog代码不想交给甲方时怎么办呢?此时可以将源代码打包封装成网表文件(.qxp)进行加密,并且在工程中进行调用。 Quartus II的.qxp文件为QuartusII Exported Partition,用于创建综合或者PAR之后的网表文件。 在QuartusII的Project Navigator中选中欲

    2024年04月12日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包