Verilog——综合和防真

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

2.1综合

        Verilog 是硬件描述语言,顾名思义,就是用代码的形式描述硬件的功能,最终在硬件电路上实 现该功能。在Verilog描述出硬件功能后需要使用综合器对Verilog代码进行解释并将代码转化成实际 的电路来表示,最终产生实际的电路,也被称为网表。这种将Verilog代码转成网表的工具就是综合 器。

Verilog——综合和防真,硬件描述语言Verilog,fpga开发,Verilog

        上图左上角是一段Verilog代码,该代码实现了一个加法器的功能。在经过综合器解释后该代码 被转化成一个加法器电路。QUARTUS、ISE和VIVADO等FPGA开发工具都是综合器,而在集成电 路设计领域常用的综合器是DC。

2.2仿真

        在FPGA设计的过程中,不可避免会出现各种BUG。如果在编写好代码、综合成电路、烧写到 FPGA后才发现问题,此时再去定位问题就会非常地困难。而在综合前,设计师可以在电脑里通过仿 真软件对代码进行仿真测试,检测出BUG并将其解决,最后再将程序烧写进FPGA。一般情况下可 以认为没有经过仿真验证的代码,一定是存在BUG的。 

Verilog——综合和防真,硬件描述语言Verilog,fpga开发,Verilog

        为了模拟真实的情况,需要编写测试文件。该文件也是用Verilog编写的,其描述了仿真对象的 输入激励情况。该激励力求模仿最真实的情况,产生最接近的激励信号,将该信号的波形输入给仿真 对象,查看仿真对象的输出是否与预期一致。需要注意的是:在仿真过程中没有将代码转成电路,仿真器只是对代码进行仿真验证。至于该代码是否可转成电路,仿真器并不关心。

        由此可见,Verilog的代码不仅可以描述电路,还可以用于测试。事实上,Verilog定义的语法非 常之多,但绝大部分都是为了仿真测试来使用的,只有少部分才是用于电路设计,详细可以参考本书 的“可综合逻辑设计”一节。Verilog中用于设计的语法是学习的重点,掌握好设计的语法并熟练应 用于各种复杂的项目是技能的核心。而其他测试用的语法,在需要时查找和参考就已经足够了。本书旨在方便本科、研究生的教学,因此将重点讲解设计用的语法。 

2.3可综合设计

        Verilog 硬件描述语言有类似高级语言的完整语法结构和系统,这些语法结构的应用给设计描述 带来很多方便。但是,Verilog是描述硬件电路的,其建立在硬件电路的基础之上。而有些语法结构 只是以仿真测试为目的,是不能与实际硬件电路对应起来的。也就是说在使用这些语法时,将一个语 言描述的程序映射成实际硬件电路中的结构是不能实现的,也称为不可综合语法。

         综合就是把编写的rtl代码转换成对应的实际电路。比如编写代码assign a=b&c;EDA综合工 具就会去元件库里调用一个二输入与门,将输入端分别接上b和c,输出端接上a。

        同样地,如果设计师编写了一些如下所示的语句

        Verilog——综合和防真,硬件描述语言Verilog,fpga开发,Verilog

        综合工具就会像搭积木一样把这些“逻辑”电路用一些“门”电路来搭起来。当然,工具会对必 要的地方做一些优化,比如编写一个电路assing a=b&~b,工具就会将a恒接为0,而不会去调用一 个与门来搭这个电路。

        综述所述,“综合”要做的事情有:编译rtl代码,从库里选择用到的门器件,把这些器件按照 “逻辑”搭建成“门”电路。

        不可综合,是指找不到对应的“门”器件来实现相应的代码。比如“#100”之类的延时功能, 简单的门器件是无法实现延时100个单元的,还有打印语句等,也是门器件无法实现的。在设计的时 候要确保所写的代码是可以综合的,这就依赖于设计者的能力,知道什么是可综合的代码,什么是不 可综合的代码。对于初学者来说,最好是先记住规则,遵守规则,先按规则来设计电路并在这一过程 中逐渐理解,这是最好的学习路径。

        下面表格中列出了不可综合或者不推荐使用的代码。

Verilog——综合和防真,硬件描述语言Verilog,fpga开发,Verilog

Verilog——综合和防真,硬件描述语言Verilog,fpga开发,Verilog文章来源地址https://www.toymoban.com/news/detail-842248.html

到了这里,关于Verilog——综合和防真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【学习笔记】2、逻辑代数与硬件描述语言基础

    基本定律 或 “+” 与 “·” 非 “—” 0-1律 A+0=A A+1=1 A+A=A A+ A ‾ overline{A} A =1(互补律) A·0=0 A·1=A A·A=A A· A ‾ overline{A} A =0 A ‾ ‾ overline{overline{A}} A =A 结合律 (A+B)+C = A+(B+C) (AB)C=A(BC)=ABC 交换律 A+B = B+A AB=BA 分配律 A(B+C) = AB+AC A+BC = (A+B)(A+C) 反演律(摩根定理) A ⋅ B ⋅ C ⋅

    2024年01月16日
    浏览(51)
  • FPGA硬件工程师Verilog面试题(基础篇一)

    ✅作者简介:大家好我是:嵌入式基地,是一名嵌入式工程师,希望一起努力,一起进步! 📃个人主页:嵌入式基地 🔥系列专栏:FPGA Verilog 习题专栏 微信公众号:嵌入式基地 点击进行在线练习 描述 制作一个四选一的多路选择器,要求输出定义上为线网类型 状态转换:

    2023年04月26日
    浏览(44)
  • AES算法基于FPGA的硬件实现(3)AES算法的Verilog实现(完结)

    本设计实现AES加密算法为ecb模式,填充模式未设置,同时支持AES-128/192/256三种密钥长度。 代码完全开源,开源链接在文章末尾。 下图为GitHub仓库中上传的文件第一级结构,第一级为matlab和user,matlab中存储的是在进行列混淆运算时查表所用的coe文件,这些文件用来初始化viv

    2024年01月18日
    浏览(57)
  • 【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置 | 以最简单的逻辑非为例

    写在前面: 本章的目的是让你理解与门、或门和非门的行为,并使用 Verilog 语言实现多输入与门、或门和非门。在生成输入信号之后,你需要通过模拟来验证这些门的操作,并使用 FPGA 来验证 Verilog 实现的电路的行为。 0x00 引入:与门、或门与非门 构成数字系统电路的最基

    2024年02月02日
    浏览(42)
  • FPGA Artix7-100T实现手写字硬件加速,纯Verilog编写的CNN神经网络加速器,有效减轻误识别问题

    fpga实现cnn神经网络加速 手写字硬件加速 FPGA artix7-100t 纯verilog编写 神经网络硬件加速 使用ov5640摄像头dvp接口 verilog实现手写字识别 包括卷积层、全连接层、池化层、softmax,有效减轻误识别问题。 注意: 该项目并未使用到arm核,是使用传统fpga的逻辑资源实现的。 ID:92299 7141

    2024年04月23日
    浏览(31)
  • 《综合与Design_Compiler》学习笔记——第一章综合综述 第二章verilog语言结构到门级的映射 第三章 使用DC进行综合

    2023.6.25 2023.6.27 和之前学的芯动力mooc中很多内容相似,这篇整理的逻辑更好些 将RTL代码转换到基于工艺库的门级网表。一般分为如下三个步骤。 (1)逻辑级综合 设计被描述成 布尔等式 的形式,触发器、锁存器这样的基本单元采用元件例化(instantiate)的方式表达出来,下面是

    2024年02月12日
    浏览(56)
  • 【FPGA】用Verilog语言实现呼吸灯实验

    包含两个输入信号:系统时钟(sys_clk)以及复位信号(sys_rst_n)。 一个输出信号:led_out 通过PWN来控制呼吸灯的亮、灭程度 前一周期为:完全熄灭 —— 完全点亮 后一周期为:完全点亮 —— 完全熄灭 完全熄灭 —— 完全点亮 、 完全点亮 —— 完全熄灭 时间均为1s 由板子频

    2024年02月11日
    浏览(60)
  • Verilog语言实现FPGA上的计数器

    Verilog语言实现FPGA上的计数器 计数器是数字电路中经常使用的基本元素之一,它用于生成指定脉冲数量或者指定计数范围内的计数信号。在现代数字电路设计中,FPGA(Field Programmable Gate Array)作为一种可编程逻辑器件被广泛应用,可以通过Verilog语言来实现计数器模块。 在V

    2024年02月05日
    浏览(45)
  • FPGA用vhdl语言设计简单硬件电子琴设计

    硬件电子琴设计 目录 一、 设计内容简介 二、系统框图 三、代码说明 四、 管脚及管脚对应图 一、设计 内容简介 当按下琴键时,扬声器发出该琴键对应的音阶,同时数码管显示音阶数字。设置了一个模式切换键可选择低、中低、中高、高音4档音阶,每按下一次则可切换不

    2024年02月04日
    浏览(40)
  • 【FPGA Verilog开发实战指南】初识Verilog HDL-基础语法

    就是用代码来描述硬件结构 语言有VHDL与Verilog HDL Verilog HDL 是从C语言来的,学的快 ###例子 也叫保留字,一般是小写 module 表示模块的开始 endmodule 模块的结束 模块名 一般与.v文件的名字一致 输入信号 input 输出信号 output 既做输入也做输出 inout 需要一些变量和参数对输

    2024年02月21日
    浏览(45)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包