`
FPGA_学渣
  • 浏览: 8010 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

明德扬至简设计法--verilog综合器和仿真器

    博客分类:
  • FPGA
阅读更多


Verilg是硬件描述语言,顾名思义,就是用代码的形式描述硬件的功能。而我们最终是要在电路上实现该功能的。当Verilog描述出硬件功能后,我们需要综合器对Verilog代码进行解释,将代码转化成实际的电路来表示,最终实际的电路,我们称之为网表。这种将Verilog代码转成网表的工具,就是综合器。上图左上角是一份verilog代码,该代码描述了一个加法器功能。该代码经过综合器解释后,转化成一个加法器电路。QUARTUS、ISE和VIVADO都是综合器,集成电路常用的综合器是DC。

我们在FPGA设计的过程中,不可避免会出现各种BUG。如果我们编写好代码,综合成电路,烧写到FPGA后,才看到问题,此时去定位问题就会非常地困难了。在综合前,我们可以在电脑里对代码进行仿真测试一下,把BUG找出来解决,最后才烧写进FPGA。我们可以认为,没有经过仿真验证的代码,一定是存在BUG的。

为了模拟真实的情况,我们需要编写测试文件。该文件也是用verilog编写的,描述了仿真对象的输入激励情况。该激励力求模仿最真实的情况,产生最将近的激励信号,将该信号的波形输入给仿真对象,查看仿真对象的输出是否与预期一致。

为了做仿真验证,我们编写了测试文件。将测试文件和被测试对象加入到仿真器中。仿真器对测试文件和被测试对象的代码进行解释。根据测试文件,产生测试激励,输入给被测试对象;根据补测试对象的代码,产生被测试对象的输出。需要注意的是,在仿真过程中,没有将代码转成电路,仿真器只是对代码进行仿真验证。至于该电路是否可转成电路,仿真器是不关心的。

常用的仿真器是MODELSIM和VCS等。

由此可见,verilog的代码不仅可以描述电路,还可以用于测试。事实上,Verilog定义的语法非常之多,但绝大部分都是为了仿真测试来使用的。只有少部分才是用于电路设计,详细可以参考本书的“可综合逻辑设计”一节。

Verilog中用于设计的语法,才是学习的重点。掌握好设计的语法,熟练应用于各种复杂的项目,这是技能的核心。其他测试用的语法,需要时查找和参考就已经足够了。

本书着重点,是用于本科、研究生的教学用途,因此将重点讲解设计用的语法。

在本章讲解Verilg时,将从综合器和仿真器角度,解释语法的用途,读者可以明白要学习的关键内容。

  • 大小: 22.6 KB
分享到:
评论

相关推荐

    FPGA至简设计原理与应用_v3.3_v1(含大纲).pdf

    ##### 第四章:FPGA至简设计法规范 - **波形图规则**:制定了一套波形图的绘制标准,方便设计人员理解和交流。 - **计数器规范**:规定了计数器设计的原则和最佳实践。 - **状态机规范**:定义了状态机设计的标准...

    基于至简设计法的万年历设计_FPGA万年历设计_

    本项目“基于至简设计法的万年历设计”聚焦于利用FPGA实现一个功能完备、易于操作的万年历,其设计目标是提供一个能够显示并调整日期和时间的实用工具。以下是关于这个项目的详细知识点: 1. **FPGA基础**:FPGA是...

    risc-v core Verilog源码

    RISC-V(Reduced Instruction Set Computer - Version V)是一种开放源代码指令集架构(ISA),设计目的是成为一种通用、低功耗的处理器架构,...此外,这也对系统级集成、SoC设计和硬件仿真等领域有重要的参考价值。

    串并转换(串入并出、并入串出、移位寄存器法和计数器法-verilog代码-Testbench-仿真结果)

    本压缩包文件提供了关于串入并出(Serial-In Parallel-Out, SISO)、并入串出(Parallel-In Serial-Out, PISO)、移位寄存器法和计数器法的 Verilog 实现代码,以及相应的 Testbench 和仿真结果。 1. **串入并出...

    matrix-inversion-verilog-master_inversion_verilog_matrixinverse_

    在电子设计自动化(EDA)领域,Verilog是一种广泛使用的硬件描述语言,用于设计、建模和验证数字系统,包括微处理器、FPGA和ASIC等。本项目“matrix-inversion-verilog-master”专注于实现一个Verilog模块,该模块能...

    Experiment-37-verilog-program.rar_verilog 实验

    Verilog是一种广泛应用于硬件描述语言(HDL)的编程语言,它被用来设计和验证数字电子系统的逻辑。在“Experiment-37-verilog-program.rar”这个压缩包中,你将找到37个不同的Verilog实验程序,每个都代表了一个特定...

    用verilog实现除法器(两种方法)

    【知识点详解】 ...综上所述,本文提供了使用Verilog语言设计除法器的方法,包括减法算法的实现、Testbench的编写、功能仿真以及综合过程。这个过程对于理解数字逻辑设计和Verilog编程具有很好的实践意义。

    DIV16 - 副本_除法器_16位高速硬件除法器VHDL_高速除法器vhdl_高速除法器_DIV16-副本

    在数字系统设计中,高速除法器是一种关键的硬件组件,尤其在高性能计算、嵌入式系统和微处理器设计中。本项目关注的是一个16位的高速硬件除法器,它采用VHDL(Very High Speed Integrated Circuit Hardware ...

    rtliol.zip_5TS_Verilog代码_verilog 除法器_除法器_除法器verilog

    本压缩包"rtliol.zip_5TS_Verilog代码_verilog 除法器_除法器_除法器verilog"中包含的5TS Verilog代码正是实现除法器的源码,对于理解Verilog编程和除法器工作原理极具价值。 首先,5TS(5-Stage)通常指的是除法器...

    NC-Verilog Help

    NC-Verilog是Cadence Design Systems公司开发的一款高性能Verilog仿真器,用于帮助工程师进行数字电路的设计和验证。该版本的产品为8.2版,发布于2008年11月。作为一款专业的EDA工具,NC-Verilog被广泛应用于半导体...

    verilog 除法器

    总之,Verilog除法器是一个复杂的数字逻辑设计,涉及到硬件级别的计算和控制。理解和实现这样的设计需要扎实的数字逻辑基础和Verilog编程技能。在调试和优化过程中,需要考虑性能、功耗和面积等多方面因素,以满足...

    verilog 两种方法实现 除法器

    本设计将基于 Modelsim 和 Synplify Pro 软件进行仿真和综合,以验证除法器的正确性。 一、 实验目的与要求 本实验的目的是使用 Verilog 语言编写一个除法器的代码,并在 Modelsim 环境下进行功能仿真,最后在 ...

    Vivado下verilog除法器(较少资源占用)

    在FPGA设计中,高效的...总之,设计一个在Vivado下运行且资源占用较少的32位整数除法器是一项挑战,需要结合Verilog编程技巧和FPGA设计经验。通过优化算法和利用Vivado工具,我们可以实现高效且节省资源的硬件实现。

    计算机原理与设计:Verilog HDL版 李亚民著

    计算机加、减、乘、除及开方的各种算法(包括Wallace Tree快速乘法器和Newton-Raphson及Goldschmidt除法和开方算法)及其VerilogHDL实现;指令系统结构和ALU及多端口寄存器堆的 Verilog HDL 设计;单周期、多周期和...

    M25P16仿真模型(M25P16-Verilog-Sim-model)

    为了便于设计者在系统开发过程中对M25P16进行验证和测试,ST公司提供了基于Verilog语言的仿真模型——M25P16_Verilog_Sim_model。 Verilog是一种硬件描述语言(HDL),用于描述数字系统的结构和行为。在M25P16的...

    32位除法器设计Verilog代码.zip

    综上所述,32位除法器的Verilog代码实现涉及到数字逻辑设计、硬件描述语言、算法应用以及综合和验证等多个方面的知识。通过学习和理解这样的代码,开发者能够深入掌握数字系统设计的基础,并具备开发更复杂电路的...

    FPGA 64位除法器(Verilog)

    使用诸如Xilinx ISE、Vivado或Intel Quartus等FPGA开发工具,我们可以将Verilog代码综合为硬件描述,然后在仿真环境中测试其功能和性能。一旦验证无误,代码可以下载到FPGA设备上进行实际运行。 总的来说,64位除法...

    基于Paper-Pencil Division Algorithm的除法器IP设计 - verilog

    基于"Paper-Pencil Division Algorithm"的除法器IP设计是将传统的手动除法方法转化为硬件描述语言Verilog实现的过程。这个设计允许实现对有无符号定点数的除法运算,具有高度的灵活性和可配置性,适用于集成电路(IC...

Global site tag (gtag.js) - Google Analytics