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

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

3天内不再提示

简述HDL中循环语句的可综合性

电子工程师 来源:FPGA设计论坛 作者:FPGA设计论坛 2021-05-12 09:27 次阅读

在HDL的循环语句中,在指定的循环过程中,其代码块(循环体)输出同名信号,则构成顺序-循环(SAS-LOOP),其代码块(循环体)输出不同名信号,则构成并发-循环(CAS-LOOP)。

包括循环语句(含循环体)组成的代码块,EDA称为循环框架(Loop Frame)。

5ca8a4e0-b2a3-11eb-bf61-12bb97331649.png

在这里,HDL循环语句与算法语言的循环语句的差异:

1.HDL的循环变量i是以常量进入循环体。算法语言则是以变量进入循环体。

2.HDL的循环体并不被循环执行,而是被重复描述(多次重复综合),从而实现建模的效率。算法语言的循环体则一定是被循环执行。

循环语句可综合性的“数学归纳法”

数学归纳法常用于证明数学序列,它的要点是:

1.首先证明序列的基数成立

2.假设序列为N时成立

3.证明序列的N+1成立

HDL的循环语句是否可综合,可以借用这个方法:

1.首先将循环语句的循环次数修改为一个很小的基数。由于在很小的基数时,其电路一定可以用结构化方法直接描述(不使用循环语句)

2.将基数加1,仍然可以是结构化描述,并加以验证

3.将基数修改为LPM参数可定制,使用循环语句描述,并加以验证

4.修改LPM定制参数,将其加1,观察其综合结果(验证)

通过以上步骤,可以证明所编写的HDL循环语句是可综合的,并且具有很高的综合效率。

循环语句设计例子:具有64个输入端口的8位异或电路:

5cafbeb0-b2a3-11eb-bf61-12bb97331649.png

使用“数学归纳法”为其使用循环语句建模和验证:

1.将基数(端口数)设定为4,得到:

5cd11a38-b2a3-11eb-bf61-12bb97331649.png

RTL视图(验证过程):

5ce87926-b2a3-11eb-bf61-12bb97331649.png

2.将基数加1,这里将端口数修改为8,得到:

5d04fccc-b2a3-11eb-bf61-12bb97331649.png

RTL视图(验证过程):

5d4cd948-b2a3-11eb-bf61-12bb97331649.png

修改为端口数可定制的LPM模型

其RTL视图:

5d762dc0-b2a3-11eb-bf61-12bb97331649.png

现在将LPM的基数+1(修改端口指数PortNum_Power为4)

其RTL视图:

5db63e60-b2a3-11eb-bf61-12bb97331649.png

以上就是循环语句构成二叉树异或门的过程,为了得到最终结果(64端口),将端口指数PortNum_Power=6,得到:

5dd86dbe-b2a3-11eb-bf61-12bb97331649.png

这里由于端口数过多,EDA的自动绘图需要中间过程,故首层仅展示如上部分。

循环语句可综合性的设计例子二:同步计数器的结构化设计

1.顶层框图

5e07f64c-b2a3-11eb-bf61-12bb97331649.png

2.代码和代码模型分析

5e21c7b6-b2a3-11eb-bf61-12bb97331649.png

其RTL视图:

615056d2-b2a3-11eb-bf61-12bb97331649.png

以上视图中,当rst_n=0时,多路器指向常数0;当rst_n=1时,多路器指向加法器的输出;注意加法器是寄存器的输出q与1相加。

根据代码模型和RTL视图,可以得到等效节点模型:

6172da40-b2a3-11eb-bf61-12bb97331649.png

若将复位信号的条件语句描述屏蔽,则得到RTL视图更接近节点等效:

618b06ba-b2a3-11eb-bf61-12bb97331649.png

3.计数器的数学模型

在RTL视图中,计数器有限自动机的加法器执行q+1(的描述),其真实的电路是得到优化和简化的一个数学模型:

若Q序列表示为:

时钟离散时刻,Q的变化为:

观察表格,能够发现Q的每一个比特位翻转的规律:

()

(, )

(, )

……

(, )

将触发翻转的条件(前级全部为1)采用级联以减少面积:

(,)

(, )

(, )

……

(, )

式中:

…….

注意位翻转的一般表达式:(, )

其真值表为:

其SOP为:

代入序列中,得到:

……

根据数学模型得到的代码模型为:

61a7654e-b2a3-11eb-bf61-12bb97331649.png

编辑:jq

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

    关注

    71

    文章

    2813

    浏览量

    174560
  • HDL
    HDL
    +关注

    关注

    8

    文章

    328

    浏览量

    47562
  • RTL
    RTL
    +关注

    关注

    1

    文章

    386

    浏览量

    60171
  • 代码
    +关注

    关注

    30

    文章

    4857

    浏览量

    69527
  • LPM
    LPM
    +关注

    关注

    0

    文章

    11

    浏览量

    10002

原文标题:FPGA学习:循环语句的可综合性

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    比斯特电池组综合性能测试机:基于先进技术的性能优势展现

    在锂电池测试设备的领域中,比斯特BT-100V20C100F 电池组综合性能测试机凭借其基于先进技术构建的强大性能优势,脱颖而出,成为了行业内备受瞩目的焦点。
    的头像 发表于 03-07 09:49 70次阅读
    比斯特电池组<b class='flag-5'>综合性</b>能测试机:基于先进技术的性能优势展现

    比斯特BT-100V20C100F 电池组综合性能测试机:多领域的锂电池性能检测能手

    锂电池在众多领域都有着多方位且关键的应用,而比斯特BT-100V20C100F 电池组综合性能测试机凭借其出色的通用和专业,成为了各个领域中锂电池性能检测的得力能手。
    的头像 发表于 03-04 16:52 95次阅读
    比斯特BT-100V20C100F 电池组<b class='flag-5'>综合性</b>能测试机:多领域的锂电池性能检测能手

    技术干货驿站 ▏深入理解C语言:嵌套循环循环控制的底层原理

    大家好!在上一节,我们学习了C语言中的基本循环语句,如for、while和do...while循环。今天,我们将进一步探讨嵌套循环
    的头像 发表于 02-21 18:26 142次阅读
    技术干货驿站  ▏深入理解C语言:嵌套<b class='flag-5'>循环</b>与<b class='flag-5'>循环</b>控制的底层原理

    可靠温度循环试验至少需要几个循环

    暴露于预设的高低温交替的试验环境中所进行的可靠试验。热循环试验适用于揭示评估由剪切应力所引起的“蠕变-应力释放”疲劳失效机理和可靠,在焊点的失效分析和评价方面应
    的头像 发表于 01-23 15:26 161次阅读
    可靠<b class='flag-5'>性</b>温度<b class='flag-5'>循环</b>试验至少需要几个<b class='flag-5'>循环</b>?

    深入理解C语言:循环语句的应用与优化技巧

    在程序设计,我们常常需要重复执行某一段代码。为了提高效率和简化代码,循环语句应运而生。C语言作为一门经典的编程语言,提供了多种循环控制结构,帮助程序员高效地实现重复操作。掌握
    的头像 发表于 12-07 01:11 334次阅读
    深入理解C语言:<b class='flag-5'>循环</b><b class='flag-5'>语句</b>的应用与优化技巧

    高压放大器在压电材料综合性能测试的应用

    实验名称:压电材料综合性能测试装置的设计与搭建 测试设备:高压放大器、铁电分析仪、示波器、电容位移传感器等。 图1:压电测试腔 实验过程: 设计并加工了压电测试腔,如图1所示,然后搭建压电材料综合性
    的头像 发表于 11-21 11:50 282次阅读
    高压放大器在压电材料<b class='flag-5'>综合性</b>能测试<b class='flag-5'>中</b>的应用

    电池组综合性能测试机:新能源技术的重要设备

    在现代社会的快速进步,新能源如同一阵新风,遍及全球经济的各个领域。电池组综合性能测试机以其独特的光辉,带领着新能源产业的前进方向。它不仅是锂电池检测的设备,更是新能源技术发展的见证,以及推动绿色
    的头像 发表于 11-21 11:11 378次阅读
    电池组<b class='flag-5'>综合性</b>能测试机:新能源技术的重要设备

    深入解析电池组综合性能测试机的工作原理

    达到高标准的质量要求,电池组综合性能测试设备应运而生。测试设备专门用于对电池组进行详尽和精确的测试,从而能够更深入地了解电池组的评价和质量管理策略。
    的头像 发表于 11-18 16:06 413次阅读
    深入解析电池组<b class='flag-5'>综合性</b>能测试机的工作原理

    Verilog HDL的基础知识

    本文继续介绍Verilog HDL基础知识,重点介绍赋值语句、阻塞与非阻塞、循环语句、同步与异步、函数与任务语法知识。
    的头像 发表于 10-24 15:00 697次阅读
    Verilog <b class='flag-5'>HDL</b>的基础知识

    深圳比斯特自动化设备有限公司:电池综合性能测试仪的佼佼者

    深圳比斯特自动化设备有限公司:电池综合性能测试仪的佼佼者
    的头像 发表于 10-22 15:02 441次阅读

    FPGA Verilog HDL有什么奇技巧?

    技巧或许可以被视为“奇技淫巧”,但需要注意的是,在实际应用应遵循良好的代码规范和设计原则: 利用 generate 语句生成重复的模块或逻辑:可以根据条件动态地生成电路结构,提高代码的灵活性和复用
    发表于 09-12 19:10

    引领电池组综合性能测试新纪元|比斯特自动化

    在新能源产业的蓬勃发展,电池组的性能稳定性与安全成为了行业关注的焦点。比斯特自动化,作为业界领先的智能测试设备制造商,凭借其创新的电池组综合性能测试机,为这一领域注入了新的活力。这款测试机集成
    的头像 发表于 08-28 09:48 383次阅读
    引领电池组<b class='flag-5'>综合性</b>能测试新纪元|比斯特自动化

    打造综合性产业新高地,海博思创南通“四心一基地”项目开工

    近日,海博思创南通“四心一基地”项目开工仪式在江苏南通启东市举行,未来该基地将打造为集研发、生产、销售、服务于一体的综合性产业基地。 启东市委书记杨中坚宣布项目开工。启东市委副书记、启东市人民政府
    的头像 发表于 07-29 09:53 662次阅读
    打造<b class='flag-5'>综合性</b>产业新高地,海博思创南通“四<b class='flag-5'>中</b>心一基地”项目开工

    一次使用无菌脑积水分流器综合性测试仪

    一次使用无菌脑积水分流器综合性测试仪 描述 一次使用无菌脑积水分流器是一种用于治疗脑积水的医疗器械。脑积水是指在颅内或脑脊液循环系统
    的头像 发表于 04-06 09:13 442次阅读
    一次<b class='flag-5'>性</b>使用无菌脑积水分流器<b class='flag-5'>综合性</b>测试仪

    焊锡膏的综合性能该如何进行评估?

    一款合适的锡膏对生产效率会带来巨大的提升,可以减少因为锡膏性能问题导致的工期延误。客户在选择锡膏产品是常常会遇到的问题就是,如何评估所选购焊锡膏综合性能的优劣? 根据深圳福英达工业技术有限公司多年的锡膏解决方案经验,
    的头像 发表于 03-20 09:13 433次阅读