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

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

3天内不再提示

至芯FPGA课程之综合理论分享

FPGA设计论坛 来源:未知 2023-05-11 20:17 次阅读

一、综合理论基础

综合理论,称为综合目的编码风格(Coding Style for Synthesis),和非综合目的编码风格(Coding Style for NonSynthesis)。

综合目的编码,是指:

什么样的代码或代码块,对应综合结果的什么样的电路(What Statements is What Circuit)

需要什么电路,应该使用什么样的代码描述(What Circuit is What Statements)

根据综合理论的发展和HDL语言的发展,西方理论界提出综合友好的概念,即EDA工程师,必须知道代码的综合意义。与西方科学技术体系的“形式逻辑”相同,综合理论也是诞生与“形式逻辑”。

1.1代码模型分析CMA(Code-Model Analysis)

综合理论的基础是代码模型分析:

代码行中,被驱动的信号(赋值号左侧的信号),对应所综合电路的输出信号

代码行中,被引用的信号(赋值号右侧的信号),对应所综合电路的输入信号

根据电路的实际物理,进行资源分配。

代码或代码块CB(Code Block),所综合得到的电路模型,称为代码模型CM(Code Model)

例一(显模Explicit Model):

1.1.1顶层电路模型


1.1.2顶层描述


1.2并发语句和顺序语句的可综合性

HDL语言与算法语言类似需要讨论研究编码顺序与综合意义之间的关系HDL的早期理论界是这样定义的

在HDL的编码顺序中,编写顺序发生改变,不会影响综合结果的代码,称为并发语句CAS(Concurrent Assignment Statements)

在HDL的编码顺序中,编写顺序发生改变,将会影响综合结果的代码,称为顺序语句SAS(Sequential Assignment Statements)

例二(并发语句例子):

一个二选一多路器的逻辑:

布尔表达式:

改变编码顺序后:


得到:

综合意义相同,是并发语句CAS

例三(顺序语句例子)

译码逻辑真值表:

rst_n

en

sel

Note

0

0

SEL_ROW6

复位选择

0

1

SEL_ROW6


1

0

SEL_ROW10


1

1

SEL_ROW8




译码逻辑真值表:

rst_n

en

sel

Note

0

0

SEL_ROW8

复位选择

0

1

SEL_ROW6


1

0

SEL_ROW10


1

1

SEL_ROW6


综合意义不同,是顺序语句SAS

常用语句的并发和顺序类型表:

语句块

描述方式

类型

Note

module

module-endmodule

CAS

显模描述

begin

begin-end

CAS

隐模描述

behaviour

always

CAS


datflow

assign

SAS


if

if-else if-else

SAS


case

case-endcase

SAS


loop

while

for

CAS

for语句可综合

sub/fuc

task-endtask

function-endfunction

CAS


















二、循环语句的可综合性

2.1循环语句的可综合性描述

循环语句中的循环体,在算法语言中,循环体的执行时一个典型的顺序过程,但在HDL语言中,用于综合目的时,这些循环体却是一个并发过程,此时,这些循环体被综合器重复描述,以提高编码效率。

循环体中的输出,不同的循环变量引用时,得到不同的输出,则称为:并发循环,对应的电路框架称为并发循环框架

循环体中的输出,在不同的循环变量引用时,得到相同的输出,则称为:顺序循环,对应的电路框架称为顺序循环框架

行为并发循环框架CMA:


行为顺序循环框架CMA:

数据流和结构化的CAS循环框架:

数据流和结构化的SAS循环框架:

2.2循环语句设计例子一

设计一个如下图所示的具有宽度为8的64输入端口的异或二叉树电路:

使用数学归纳法,证明循环语句实现的可综合性:

首先将循环变量修改为一个很小的基数,使用结构化建模描述,加以验证。

将基数加一,仍然使用结构化建模模型,加以验证。

将循环变量修改为LPM定制,加入循环变量,加以验证

将LPM定制的循环变量加以,加以验证





有你想看的精彩




至芯科技-FPGA就业培训来袭!你的选择开启你的高薪之路!5月6号北京中心开课、欢迎咨询!
FPGA设计需要注意哪些要点
基于FPGA的并行处理实现数字中频的设计





扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!


点个在看你最好看






原文标题:至芯FPGA课程之综合理论分享

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

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

    关注

    1602

    文章

    21320

    浏览量

    593199

原文标题:至芯FPGA课程之综合理论分享

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

收藏 人收藏

    评论

    相关推荐

    fpga学习需要具备哪些课程

    FPGA(Field Programmable Gate Array)学习需要具备一系列的课程知识和实践技能
    的头像 发表于 03-14 15:51 286次阅读

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

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

    基于单片机控制的交通灯设计

    课程设计是在学完单片机原理及课程之综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
    的头像 发表于 01-22 15:31 600次阅读
    基于单片机控制的交通灯设计

    FPGA基本开发设计流程

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

    18.5KW 380ACV的三相电动机选用三相四线的铜电缆应选多大的最合理

    18.5KW 380ACV的三相电动机选用三相四线的铜电缆应选多大的最合理(铜线为标准铜线)?
    发表于 12-18 07:53

    极低抖动频率综合器的多速率时间戳建模

    继实现振荡器闪烁相噪理论统一后,我们再次实现频率综合器的相噪理论一统。
    的头像 发表于 12-01 11:43 407次阅读
    极低抖动频率<b class='flag-5'>综合</b>器的多速率时间戳建模

    使用Vivado高层次综合(HLS)进行FPGA设计的简介

    电子发烧友网站提供《使用Vivado高层次综合(HLS)进行FPGA设计的简介.pdf》资料免费下载
    发表于 11-16 09:33 0次下载
    使用Vivado高层次<b class='flag-5'>综合</b>(HLS)进行<b class='flag-5'>FPGA</b>设计的简介

    FPGA时序约束--基础理论

    钟偏差。 Tlogic与我们写的HDL代码有直接关系,Trouting是FPGA开发软件综合布线根据FPGA内部资源情况进行布线产生的延时。 四、总结 本文介绍了FPGA时序
    发表于 11-15 17:41

    Imagination与浙江大学2023国内RVfpga课程线下Workshop圆满结束

    10月28-29日,由Imagination与浙江大学信息与电子工程学院联合举办《RVfpga:深入理解计算机体系结构》(以下简称“《RVfpga》”)课程培训活动圆满结束。近50位来自全国各地
    的头像 发表于 11-01 08:28 620次阅读
    Imagination与浙江大学2023国内RV<b class='flag-5'>fpga</b><b class='flag-5'>课程</b>线下Workshop圆满结束

    中职院校网络综合布线技术理实一体化实训室建设方案

    中职院校的网络综合布线技术课程存在实践教学不足等问题。为了提高学生的网络综合布线技能和操作能力,应优化教学内容,加强实践教学比例,合理配置实训室及实验设备,通过更多案例教学、项目驱动等
    的头像 发表于 10-11 14:39 397次阅读
    中职院校网络<b class='flag-5'>综合</b>布线技术理实一体化实训室建设方案

    MATLAB课程之绪论v3(2)

    继续讲述历史!本人很喜欢历史,因为从历史中可以去借鉴当下发生的一些事情。作为工科生,我们需要了解学科发展的历史,也需要了解科学发展史。针对本门课程,我们需要了解计算机的发展史和互联网的发展史
    的头像 发表于 10-10 16:00 240次阅读
    MATLAB<b class='flag-5'>课程之</b>绪论v3(2)

    基于FPGA计算的理论与实践

    说明了现场可编程门阵列的内部工作原理,其由嵌入在通用路由结构中的逻辑块组成。这逻辑门阵列是FPGA中的G和A。逻辑块包含用于执行简单组合逻辑的处理元件以及触发器用于实现时序逻辑。因为逻辑单元通常只是
    发表于 09-21 06:04

    FPGA高级时序综合教程

    FPGA高级时序综合教程
    发表于 08-07 16:07 3次下载

    MATLAB课程之绪论v2(2)

    继续讲述历史!本人很喜欢历史,因为从历史中可以去借鉴当下发生的一些事情。作为工科生,我们需要了解学科发展的历史,也需要了解科学发展史。针对本门课程,我们需要了解计算机的发展史和互联网的发展史
    的头像 发表于 07-08 08:55 242次阅读
    MATLAB<b class='flag-5'>课程之</b>绪论v2(2)

    FPGA设计-时序约束(理论篇)

    STA(Static Timing Analysis,即静态时序分析)在实际FPGA设计过程中的重要性是不言而喻的
    发表于 06-26 09:01 393次阅读
    <b class='flag-5'>FPGA</b>设计-时序约束(<b class='flag-5'>理论</b>篇)