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
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630236
  • IEEE
    +关注

    关注

    7

    文章

    416

    浏览量

    49513
  • 寄存器
    +关注

    关注

    31

    文章

    5589

    浏览量

    129057
  • 硬件
    +关注

    关注

    11

    文章

    3555

    浏览量

    68744

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    蜂鸟e203移植要从哪些方面入手,在bsp中哪里修改引脚对应关系约束文件?

    蜂鸟e203移植要从哪些方面入手,在bsp中哪里修改引脚对应关系约束文件,跪求大神
    发表于 11-10 07:11

    开源RISC-V处理器(蜂鸟E203)学习(二)修改FPGA综合环境(移植到自己的Xilinx FPGA板卡)

    移植到自己的板卡上。 2.运行原FPGA工程 进入到FPGA目录下; gvim打开“README.md”文件,下面就是FPGA综合的命令。 这里以最后一个:artydevkit
    发表于 10-31 08:46

    时序约束问题的解决办法

    在使用vivado对 Verilog 代码进行综合后,点击“SYNTHESIS”下的“Report Timing Summary”,可以查看综合后的时序报告,查看 Setup Time 和 Hold
    发表于 10-24 09:55

    关于综合保持时间约束不满足的问题

    1、将 nuclei-config.xdc 和 nuclei-master.xdc 加入到项目工程中,综合得到时序约束报告如下: 保持时间约束不满足,分析原因,发现所有不满足均出现在
    发表于 10-24 07:42

    蜂鸟e203移植fpga上如何修改约束文件

    }] set_propertyIOSTANDARD LVCMOS33 [get_ports {uart0_rx}] 注:GPIOA和GPIOB团队还没用到这部分资源,故未引出 最后: 分析综合,即为完成移植内核。 至此我们已完成约束文件的修改。
    发表于 10-24 07:18

    FPGA开发板vivado综合、下载程序问题汇总

    在做vivado综合时和FPGA下载程序时,我们碰到以下问题,并找出了对应的解决方案。 1.could not open include file”e203_defines.v”问题 在做
    发表于 10-24 07:12

    技术资讯 I 图文详解约束管理器-差分对规则约束

    本文要点你是否经常在Layout设计中抓瞎,拿着板子无从下手,拿着鼠标深夜狂按;DDR等长没做好导致系统不稳定,PCIe没设相位容差造成链路训练失败……这些都是血泪教训,关键时刻需要靠约束管理器救命
    的头像 发表于 08-08 17:01 926次阅读
    技术资讯 I 图文详解<b class='flag-5'>约束</b>管理器-差分对规则<b class='flag-5'>约束</b>

    Vivado无法选中开发板的常见原因及解决方法

    对应的器件信息和约束文件(XDC),大大简化工程初始化流程。然而,在某些情况下,我们可能会发现 Vivado 的界面中无法选中目标开发板,导致只能手动选择器件。那么,遇到这种情况该如何处理呢?
    的头像 发表于 07-15 10:19 1389次阅读
    Vivado无法选中开发板的常见原因及解决方法

    PCB Layout 约束管理,助力优化设计

    本文重点PCBlayout约束管理在设计中的重要性Layout约束有助避免一些设计问题设计中可以使用的不同约束在PCB设计规则和约束管理方面,许多设计师试图采用“一刀切”的方法,认为同
    的头像 发表于 05-16 13:02 821次阅读
    PCB Layout <b class='flag-5'>约束</b>管理,助力优化设计

    PanDao:实际约束条件下成像系统的初始结构的生成

    摘要 :初始点的选择对后续设计过程具有重大影响。除透镜规格外,其它必要的实际约束条件也可能起到非常关键的作用。本研究采用“First Time Right”方法生成受约束的初始系统,并运用
    发表于 05-07 08:57

    FPGA时序约束之设置时钟组

    Vivado中时序分析工具默认会分析设计中所有时钟相关的时序路径,除非时序约束中设置了时钟组或false路径。使用set_clock_groups命令可以使时序分析工具不分析时钟组中时钟的时序路径,使用set_false_path约束则会双向忽略时钟间的时序路径
    的头像 发表于 04-23 09:50 967次阅读
    <b class='flag-5'>FPGA</b>时序<b class='flag-5'>约束</b>之设置时钟组

    一文详解Vivado时序约束

    Vivado的时序约束是保存在xdc文件中,添加或创建设计的工程源文件后,需要创建xdc文件设置时序约束。时序约束文件可以直接创建或添加已存在的约束文件,创建
    的头像 发表于 03-24 09:44 4385次阅读
    一文详解Vivado时序<b class='flag-5'>约束</b>

    【国产FPGA必备教程】——紫光同创FPGA图像视频教程,适用于小眼睛FPGA盘古全系列开发板

    案例、时序约束及收敛方法等,教程内容丰富,从入门到应用提高,覆盖紫光同创FPGA开发全流程,教程适用于小眼睛科技盘古系列、泰坦系列全开发套件。目前,小眼睛科技基于FPGA赛事配套紫光同创FPG
    发表于 02-19 15:44

    xilinx FPGA IOB约束使用以及注意事项

    xilinx FPGA IOB约束使用以及注意事项 一、什么是IOB约束 在xilinx FPGA中,IOB是位于IO附近的寄存器,是FPGA
    的头像 发表于 01-16 11:02 1486次阅读
    xilinx <b class='flag-5'>FPGA</b> IOB<b class='flag-5'>约束</b>使用以及注意事项

    Design House与Fab的关系

    (Fab)形成互补关系。它负责芯片的功能设计与验证,将最终设计成果交付晶圆厂进行制造。设计公司不直接参与生产,而是通过EDA(电子设计自动化)工具、算法优化和设计规则约束,实现高效的芯片研发。 可以将Design House理解为“芯片建筑师”,而Fab是“芯片施工队”。
    的头像 发表于 01-07 09:59 1492次阅读