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

    关注

    72

    文章

    3164

    浏览量

    184120
  • HDL
    HDL
    +关注

    关注

    8

    文章

    332

    浏览量

    49087
  • RTL
    RTL
    +关注

    关注

    1

    文章

    395

    浏览量

    62955
  • 代码
    +关注

    关注

    30

    文章

    4983

    浏览量

    74543
  • LPM
    LPM
    +关注

    关注

    0

    文章

    13

    浏览量

    10333

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    合肥综合性国家科学中心人工智能研究院与大华股份达成战略合作

    近日,合肥综合性国家科学中心人工智能研究院(以下简称“人工智能研究院”)与大华股份“IAI-Dahua视频物联智能体联合实验室”签约及揭牌仪隆重举行。中国科学技术大学党委常委、副校长、中国工程院院士
    的头像 发表于 05-21 16:37 95次阅读

    探索Power - Cycling系列热循环模块:高性能与可靠的完美结合

    探索Power - Cycling系列热循环模块:高性能与可靠的完美结合 在电子设备的设计,热管理是一个至关重要的环节,尤其是对于那些对温度变化有严格要求的应用场景。今天,我们来深入了解一款名为
    的头像 发表于 05-19 16:50 437次阅读

    什么是热循环试验?有哪些设备?怎么做热循环试验?

    循环试验,也称为温度循环试验、高低温循环试验,是一种在常压下进行试件温度循环的可靠试验,用于评估材料、组件或产品在温度变化条件下的耐久
    的头像 发表于 04-22 15:20 206次阅读
    什么是热<b class='flag-5'>循环</b>试验?有哪些设备?怎么做热<b class='flag-5'>循环</b>试验?

    【快速温变循环】快速温变循环试验箱的“循环”之道:宏展科技如何定义“一个循环

    在军工、航天、汽车电子等高端制造领域,快速温变循环试验是验证产品可靠的核心手段。然而,“一个循环”到底如何定义?是简单的升降温,还是对速率、驻留时间、温变曲线精度、循环重复性的严苛约
    的头像 发表于 04-16 09:38 433次阅读
    【快速温变<b class='flag-5'>循环</b>】快速温变<b class='flag-5'>循环</b>试验箱的“<b class='flag-5'>循环</b>”之道:宏展科技如何定义“一个<b class='flag-5'>循环</b>”

    比斯特综合性能测试机提升电池组性能验证效率精度

    深圳比斯特自动化设备有限公司推出的综合性能测试机,凭通过技术创新重新定义了电池性能测试的标准,在保证测试精度的同时,提升了验证效率。
    的头像 发表于 02-06 16:37 1196次阅读
    比斯特<b class='flag-5'>综合性</b>能测试机提升电池组性能验证效率精度

    比斯特电池组综合性能测试机的一站式解决方案

    在新能源快速发展的浪潮,电池组作为电动汽车、储能系统的“心脏”,其综合性能直接决定了整个系统的安全、续航与寿命。面对日益复杂的应用场景和严苛的国际标准,传统的分散化、多设备测试模式已难以满足产业
    的头像 发表于 01-19 16:19 426次阅读
    比斯特电池组<b class='flag-5'>综合性</b>能测试机的一站式解决方案

    比斯特综合性能检测仪用数据驱动电池组性能诊断

    在动力电池从“增量扩张”向“质效并重”转型的关键时期,电池组的性能诊断已不再是简单的“合格”与“不合格”判断,而是需要构建一套能够精确量化、深度分析、前瞻预测的完整数据体系。深圳比斯特自动化设备有限公司研发的电池组综合性能检测仪,以其数据驱动的理念,重新定义电池组性能诊断的深度与广度。
    的头像 发表于 01-12 16:34 557次阅读

    综合性能检测机选型要点深度解析及参考

    在工业制造、新能源等领域,综合性能测试仪是保障产品质量、提升生产效率的重要设备。其选型的科学将直接影响企业的测试精度、生产流程适配与长期运营成本。随着工业智能化升级,本文将从测试仪的功能集成度
    的头像 发表于 12-09 16:50 1413次阅读

    BT-100V100C系列电池组综合性能测试仪技术规格与应用解析

    比斯特100V100C系列电池组综合性能测试仪是专为7.2V-100V电池组、半成品和成品设计的精密测试设备。该设备采用模块化设计理念,集成了多项测试功能,为电池制造企业提供完整的质量控制解决方案。
    的头像 发表于 12-03 15:07 1069次阅读

    比斯特电池组综合性能测试仪如何为安全与性能保驾护航

    在这个技术密集、竞争白热化的领域,能否通过最严苛的极限性能验证,是区分一流产品与平庸产品的试金石。比斯特电池组综合性能测试仪,以其应对复杂工况的强大能力及大幅缩短验证周期的杰出效率,成为了动力电池攻克技术难关的利器,更是企业打造主要产品竞争力、在全球市场决胜未来的战略基
    的头像 发表于 11-27 15:34 470次阅读

    PCBA 加工如何提高

    PCBA 直接影响产品可靠与良率,指元器件引脚或焊盘快速形成优质焊点的能力。若差,易出现虚焊、设备故障等问题。以下从全流程拆解
    的头像 发表于 11-06 14:40 642次阅读
    PCBA 加工<b class='flag-5'>中</b>如何提高<b class='flag-5'>可</b>焊<b class='flag-5'>性</b>?

    如何利用Verilog HDL在FPGA上实现SRAM的读写测试

    本篇将详细介绍如何利用Verilog HDL在FPGA上实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。在FPGA实现SRAM读写测试,包括设计SRAM接口模块
    的头像 发表于 10-22 17:21 4642次阅读
    如何利用Verilog <b class='flag-5'>HDL</b>在FPGA上实现SRAM的读写测试

    人工智能行业如何使用for循环语句进行循环

    : 支持range()函数生成数字序列 结合else语句使用 Java的for循环: 传统结构:for(初始化; 条件; 增量) 增强for循环
    的头像 发表于 09-10 12:55 748次阅读

    基础篇3:掌握Python的条件语句循环

    在Python编程语言中,条件语句循环是构成复杂逻辑和数据处理的基石。本篇基础教程将帮助您深入了解Python的条件语句循环结构,让您
    发表于 07-03 16:13

    合肥综合性国家科学中心能源研究院与宏微科技达成合作

    为深化产学研协同创新,推动科技创新和产业升级,近日,合肥综合性国家科学中心能源研究院与江苏宏微科技股份有限公司在智慧电力中心隆重举行“功率器件可靠评测方法和寿命预测联合实验室”签约揭牌仪式。江苏宏
    的头像 发表于 06-14 14:22 1162次阅读