FPGA中的五个级别和五种仿真

自己查的一些资料,整理记录一下。

五个级别:

        Verilog 模型可以是实际电路不同级别的抽象。所谓不同的抽象级别,实际上是指同一个物理电路,可以在不同的层次上用 Verilog 语言来描述它, 如果只从行为和功能的角度来描述某一电路模块,就称为行为模块;如果从电路结构的角度来描述该电路模块,就称为结构模块。抽象的级别和它们对应的模块类型常可以分为以下 5 种:

系统级:对整个系统进行描述,只考虑输入和输出,可以理解为一个黑盒子模型。

行为级:Behavior,指的是仅仅描述电路的功能而可以采用任何verilog语法的描述方式,可以理解为黑盒子里的具体算法。

RTL级:Regiser Transfer Level,指的是用寄存器这一级别的描述方式来描述电路的数据流方式,可以理解为数学算法的物理实现。

门级:与门、或门、非门、异或门......等逻辑门级别的描述。一个逻辑网络是由许多逻辑门和开关所组成,因此用逻辑门的模型来描述逻辑网络是最直观的。

开关级:

(从行为和结构上看,红色为行为级,紫色为结构级)

五种仿真:

        基于 xilinx 的 EDA 软件 vivado 而言,其他 EDA 软件也类似,仿真可以分为以下五种:

behavioral simulation ----- 行为级仿真,通常称为功能仿真。
post-synthesis function simulation ----- 综合后的功能仿真。
post-synthesis timing simulation ----- 综合后带时序信息的仿真,综合后带时序信息的仿真比较接近于真实的时序。
post-implementation function simulation ----- 布局布线后的功能仿真。
post-implementation timing simulation ----- 布局布线执行后的时序仿真,该仿真时最接近真实的时序波形。

一、行为级仿真
        在大部分设计中执行的第一个仿真将是 RTL 行为级仿真。这个阶段的仿真可以用来检查代码中的语法错误以及代码行为的正确性,其中不包括延时信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。因此在设计的初期阶段不使用特殊底层元件即可以提高代码的可读性、可维护性,又可以提高仿真效率,且容易被重用。(绝大部分设计人员将这个阶段的仿真叫功能仿真!)

二、综合后门级功能仿真 (前仿真)
        一般在设计流程中的第二个仿真是综合后门级功能仿真。绝大多数的综合工具除了可以输出一个标准网表文件以外,还可以输出 Verilog 或者 VHDL 网表,其中标准网表文件是用来在各个工具之间传递设计数据的,并不能用来做仿真使用,而输出的 Verilog 或者 VHDL 网表可以用来仿真,之所以叫门级仿真是因为综合工具给出的仿真网表已经是与生产厂家的器件的底层元件模型对应起来了,所以为了进行综合后仿真必须在仿真过程中加入厂家的器件库,对仿真器进行一些必要的配置,不然仿真器并不认识其中的底层元件,无法进行仿真。Xilinx 公司的集成开发环境 ISE 中并不支持综合后仿真,而是使用映射前门级仿真代替,对于 Xilinx 开发环境来说,这两个仿真之间差异很小。

三、时序仿真 (后仿真)
        在设计流程中的最后一个仿真是时序仿真。在设计布局布线完成以后可以提供一个时序仿真模型,这种模型中也包括了器件的一些信息,同时还会提供一个SDF时序标注文件 (Standard Delay format Timing Anotation) 。SDF 时序标注最初使用在 Verilog 语言的设计中,现在 VHDL 语言的设计中也引用了这个概念。对于一般的设计者来说并不需知道 SDF 。

总结
        行为级仿真是必须的,它能够确保你所设计功能是正确的。综合后时序仿真是有必要的,能够排除大部分的时序问题。至于后仿真,只能是解决疑难杂症时再采取的大招,非常费时间,一般不建议做后仿真

摘抄自:xilinx vivado的五种仿真模式和区别

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以回答这个问题。VHDL 是一种硬件描述语言,用于描述数字电路的行为和结构。FPGA 是一种可编程逻辑器件,可以通过编程来实现各种数字电路的功能仿真是一种验证设计的方法,通过模拟电路的行为来检查其正确性。在 FPGA 设计,VHDL 仿真可以帮助设计者在实际硬件实现之前验证其设计的正确性。 ### 回答2: VHDL是硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language)的缩写,用于描述数字电路。FPGA(Field Programmable Gate Array)是一种可编程的逻辑芯片,可以根据用户的需求进行不同的逻辑实现。FPGA仿真是通过在计算机上运行专门的仿真软件,对VHDL代码进行仿真和验证的过程。 在进行VHDL FPGA仿真时,首先需要编写VHDL代码来描述所需的逻辑电路。VHDL代码可以使用文本编辑器编写,并遵循VHDL语法规则和结构。VHDL代码包括实体(entity)和体(architecture)两个部分,实体部分定义了电路的端口和名称,体部分定义了电路的内部结构和行为。 完成VHDL代码编写后,下一步是进行仿真仿真软件通常提供了图形界面,可以方便地加载VHDL代码并设置仿真参数。通过仿真软件,可以对设计的电路进行波形仿真和时序仿真,以验证电路的正确性和性能。 在进行仿真过程,可以通过向电路输入不同的输入数据,观察输出结果和电路的行为。如果仿真结果符合预期,说明设计的电路工作正常;如果存在问题,则需要对VHDL代码进行调试和修改,重新进行仿真。 通过VHDL FPGA仿真,可以在实际制造和硬件实现之前,对电路进行全面的测试和验证。这有助于提前发现设计错误和性能问题,节省产品开发时间和成本。 总结来说,VHDL FPGA仿真是使用VHDL语言编写电路描述代码,通过仿真软件对代码进行测试和验证的过程。它是数字电路设计和FPGA开发不可或缺的一环,可以提高设计的可靠性和效率。 ### 回答3: VHDL是一种硬件描述语言,广泛应用于集成电路设计和FPGA(现场可编程逻辑门阵列)编程。在FPGA设计仿真是一个重要的步骤,用于验证和调试设计的正确性。 FPGA仿真是指在计算机上运行VHDL代码来模拟FPGA设计的行为和功能。通过仿真,我们可以在实际部署之前检查设计的逻辑是否正确,以及设计是否符合预期需求。VHDL仿真引擎通常能够提供周期级仿真,允许我们在时钟周期级别进行设计分析。 在进行FPGA仿真之前,我们需要首先编写VHDL代码,描述FPGA设计的功能和行为。代码通常包括组件的结构和相应的数据流。一旦代码编写完成,我们可以使用VHDL仿真工具(如ModelSim、Xilinx ISim等)加载代码并运行仿真。 在仿真过程,我们可以通过设置仿真波形来观察信号的变化,调试设计的逻辑错误。通过信号的波形图,我们可以验证设计在各个时钟周期内的状态变化是否按照预期进行。如果在仿真发现错误,我们可以通过调整代码进行修复,并重新进行仿真。这个过程可以帮助我们确保设计在实际部署之前是正确的。 FPGA仿真不仅可以帮助我们验证设计的正确性,还可以帮助我们评估设计的性能和功耗。在仿真过程,我们可以通过测量信号的路径延迟和功耗消耗来评估设计的性能和功耗。这样,我们可以在实际部署之前进行必要的优化和调整。 总而言之,VHDL FPGA仿真是一种重要的工具,用于验证FPGA设计的正确性、性能和功耗。通过仿真,我们可以实现快速、准确和可靠地开发和调试FPGA设计,从而提高设计质量和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值