0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA的综合和约束的关系

OpenFPGA 来源:OpenFPGA 作者:OpenFPGA 2022-07-04 11:01 次阅读

前面已经写了大约10篇左右文章介绍了SV,效果不是特别理想,对于一些常规的概念还是比较好理解的,但是对于一些新的专业术语,翻译的比较拗口还是比较难理解的,这是因为国内还没有针对可综合SystemVerilog系统的介绍,导致标准里的术语翻译不精确,后续可能还是使用英语单词来表示,然后用一些非专业术语去解释,下面简单总结一下这十几篇内容。

最前面几篇文章重点介绍SystemVerilog仿真与综合概念及一些对比,总结如下:

SystemVerilog是硬件设计和验证语言的IEEE行业标准。标准编号为IEEE 1800。SystemVerilog名称将替换旧版Verilog名称。SystemVerilog语言是原始Verilog硬件描述语言的完整超集。SystemVerilog是一种双用途语言,用于描述数字硬件功能以及验证测试台。

f81d83a8-e634-11ec-ba43-dac502259ad0.png

硬件行为可以在几个抽象级别上表示,从非常详细的门级模型到非常抽象的事务级模型。本系列的重点是在寄存器传输级别(RTL)编写SystemVerilog模型。RTL模型表示基于周期的行为,很少或根本没有提及如何在硅中实现功能。

SystemVerilog RTL模型如果编码正确,可以进行仿真和综合,仿真使用用户定义的测试台将激励应用于设计输入,并验证设计功能是否符合预期。仿真对SystemVerilog语言的使用没有任何限制。综合将抽象的RTL功能转换为详细的门级实现。综合编译器限制了可以使用哪些SystemVeriIog语言结构以及如何使用这些结构。Lint checker工具可用于检查RTL模型是否符合综合编译器的限制。

接下来完整的介绍了SV的数据类型:网络和变量类型,总结如下:

研究了SystemVerilog语言中预定义的内置类型和数据类型。重点是对编写RTL模型有用的类型和数据类型,这些RTL模型将以最佳方式进行仿真和综合。

SystemVerilog具有2-state和4-state数据类型。4-state数据类型的四值系统允许建模硬件行为值0、1和Z表示物理硬件。值X用于仿真不关心条件,其中设计工程师不关心物理硬件是否具有0或1值。仿真器还使用X值表示潜在问题,其中仿真无法确定实际逻辑门是否具有0、1或Z。SystemVerilog的2-state类型不应用于仿真硬件行为,因为它们没有X值来表示仿真期间的潜在设计错误。

SystemVerilog网络类型(如wire类型)用于将设计块连接在一起。网络始终使用4-state数据类型,并且当有多个源驱动同一网络时,可以解析最终值。SystemVerilog变量类型用于接收赋值语句左侧的值,并将存储赋值=直到对变量进行另一次赋值。SystemVerilog有几种网络类型和变量数据类型。已经展示了声明网络和变量的语法,并讨论了重要的语义规则。还讨论了在RTL模型中如何正确使用这些不同的网络和变量。

SystemVeriIog允许通过使用参数和localparam常量编写可配置的模型。可以使用参数重写(也称为参数重新定义)为模块的每个实例指定常数的唯一值。

f83e8846-e634-11ec-ba43-dac502259ad0.jpg

优秀的 Verilog/FPGA开源项目介绍(二十二)- SystemVerilog常用可综合IP模块库

谈谈Verilog和SystemVerilog简史,FPGA设计是否需要学习SystemVerilog

SystemVerilog数字系统设计_夏宇闻 PDF

SystemVerilog(一)-RTL和门级建模

数字硬件建模-Verilog篇阶段总结及SystemVerilog篇介绍

SystemVerilog(二)-ASIC和FPGA区别及建模概念

SystemVerilog(三)-仿真

f9c9b71c-e634-11ec-ba43-dac502259ad0.jpg

FPGA的综合和约束的关系

SystemVerilog(五)-文本值

SystemVerilog(六)-变量

fa651176-e634-11ec-ba43-dac502259ad0.jpg

SystemVerilog(七)-网络

fabb82ea-e634-11ec-ba43-dac502259ad0.jpg

数字硬件建模SystemVerilog(八)-端口声明

f81d83a8-e634-11ec-ba43-dac502259ad0.png

现在介绍完前两级的内容,后续将介绍最重要的一章-《用户自定义类型和包》。有什么问题可以后台留言。

原文标题:SystemVerilog-阶段性总结(一)

文章出处:【微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1625

    文章

    21664

    浏览量

    601720
  • IEEE
    +关注

    关注

    7

    文章

    378

    浏览量

    46856
  • 寄存器
    +关注

    关注

    31

    文章

    5310

    浏览量

    119983
  • 硬件
    +关注

    关注

    11

    文章

    3251

    浏览量

    66103

原文标题:SystemVerilog-阶段性总结(一)

文章出处:【微信号:Open_FPGA,微信公众号:OpenFPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    电路的两类约束指的是哪两类

    电路的两类约束通常指的是电气约束和物理约束。这两类约束在电路设计和分析中起着至关重要的作用。 一、电气约束 电气
    的头像 发表于 08-25 09:34 719次阅读

    深度解析FPGA中的时序约束

    建立时间和保持时间是FPGA时序约束中两个最基本的概念,同样在芯片电路时序分析中也存在。
    的头像 发表于 08-06 11:40 558次阅读
    深度解析<b class='flag-5'>FPGA</b>中的时序<b class='flag-5'>约束</b>

    FPGA 高级设计:时序分析和收敛

    FPGA/ASIC 时序定义的基础概念。后面要讲到的其它时序约束都是建立在周期约束的基础上的,很多其它时序公式,可以用周期公式推导。周期约束是一个基本时序和
    发表于 06-17 17:07

    Xilinx FPGA编程技巧之常用时序约束详解

    ,这个时候需要手动约束。例如:有两个有相位关系的时钟从不同的引脚进入FPGA器件,这个时候需要手动约束这两个时钟。 上图的时序约束
    发表于 05-06 15:51

    时序约束实操

    添加约束的目的是为了告诉FPGA你的设计指标及运行情况。在上面的生成约束之后,在Result àxx.sdc中提供约束参考(请注意该文件不能直接添加到工程中,需要热复制到别的指定目录或
    的头像 发表于 04-28 18:36 2186次阅读
    时序<b class='flag-5'>约束</b>实操

    Xilinx FPGA约束设置基础

    LOC约束FPGA设计中最基本的布局约束综合约束,能够定义基本设计单元在FPGA芯片中的位置,可实现绝对定位、范围定位以及区域定位。
    发表于 04-26 17:05 1083次阅读
    Xilinx <b class='flag-5'>FPGA</b>的<b class='flag-5'>约束</b>设置基础

    Xilinx FPGA编程技巧之常用时序约束详解

    今天给大侠带来Xilinx FPGA编程技巧之常用时序约束详解,话不多说,上货。 基本的约束方法为了保证成功的设计,所有路径的时序要求必须能够让执行工具获取。最普遍的三种路径以及异常路径为
    发表于 04-12 17:39

    读《FPGA入门教程》

    级HDL语言描述。管脚分配与设计约束 无论是RTL级还是门级的HDL设计,在实现该逻辑时都需要与实际的FPGA芯片相匹配。管脚分配是指将设计文件的输入输出信号指定到器件的某个管脚,设置此管脚的电平标准
    发表于 03-29 16:42

    嵌入式和fpga关系

    FPGA(现场可编程门阵列)和嵌入式系统之间存在密切的关系,它们都是计算机硬件领域的重要组成部分,并在许多应用中发挥着关键作用。
    的头像 发表于 03-15 14:19 831次阅读

    FPGA资源与AISC对应关系

    芯片。 内部互联线(Interconnects):用于连接上述的各种资源。 而ASIC是为特定应用定制的硬件电路,其设计和制造过程是一次性的。因此,ASIC的资源与FPGA的对应关系并不直接。 在一些
    发表于 02-22 09:52

    时序电路为什么在FPGA综合成了latch?

    有朋友提问,下面的代码为什么在DC里可以综合成DFF,而在FPGA上却综合成了latch。
    的头像 发表于 02-20 16:12 761次阅读
    时序电路为什么在<b class='flag-5'>FPGA</b>上<b class='flag-5'>综合</b>成了latch?

    FPGA管教分配需要考虑因素

    FPGA验证是其中的重要的组成部分,如何有效的利用FPGA 的资源,管脚分配也是必须考虑的一个重要问题。一般较好的方法是在综合过程中通过时序的一些约束让对应的工具自动分配,但是从研发的
    发表于 01-10 22:40

    FPGA物理约束之布局约束

    在进行布局约束前,通常会对现有设计进行设计实现(Implementation)编译。在完成第一次设计实现编译后,工程设计通常会不断更新迭代,此时对于设计中一些固定不变的逻辑,设计者希望它们的编译结果
    的头像 发表于 01-02 14:13 1407次阅读
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>约束</b>之布局<b class='flag-5'>约束</b>

    FPGA基本开发设计流程

    FPGA的设计流程就是利用EDA开发软件和编程工具对FPGA芯片进行开发的过程。FPGA的开发流程一般包括功能定义、设计输入、功能仿真、综合优化、
    发表于 12-31 21:15

    FPGA物理约束之布线约束

    IS_ROUTE_FIXED命令用于指定网络的所有布线进行固定约束。进入Implemented页面后,Netlist窗口如图1所示,其中Nets文件展开后可以看到工程中所有的布线网络。
    的头像 发表于 12-16 14:04 1136次阅读
    <b class='flag-5'>FPGA</b>物理<b class='flag-5'>约束</b>之布线<b class='flag-5'>约束</b>