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

    关注

    1625

    文章

    21620

    浏览量

    601179

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

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

收藏 人收藏

    评论

    相关推荐

    科技与Ampere达成业务合作

    近日科技与全球知名现代化半导体公司Ampere Computing达成BMC系统研发业务合作。
    的头像 发表于 11-07 13:46 92次阅读

    【全新课程资料】正点原子《ESP32物联网项目实战》培训课程资料上线!

    、远程光照检测仪、远程舵机控制、智能灯带、NTP授时、AP智能配网 进阶项目:智能温控系统、智能光控系统、智能追光系统 综合项目:多功能面板(基于LVGL) 二、课程目的 1、化整为零,由浅入深
    发表于 09-24 17:05

    一个更适合工程师和研究僧的FPGA提升课程

    / 武汉 / 西安 / 杭州 培训费用 08 统一透明,课程费用请移步F学社官网查看:www.zzfpga.com 官方授权:AMD-Xilinx官方证书 ?社区与AMD官方
    发表于 06-05 10:09

    珠海錾实现28纳米FPGA流片

    近日,珠海錾半导体有限公司在其官方微博上宣布,已成功实现28纳米流片。此次流片成功的CERES-1 FPGA芯片,不仅对标国际主流28纳米FPGA架构,还实现了管脚和比特流的完全兼容,标志着国产
    的头像 发表于 06-03 11:11 736次阅读

    璐科技数千万元天使轮投资,系FPGA芯片设计企业

    璐科技作为一家以设计为主业的嵌入式FPGA及可编程SoC(PSoC)芯片供应商,拥有全面的EDA软件与FPGA硬件研发实力,专注于为工业、消费电子、通信以及汽车应用等各行各业提供优质的嵌入式
    的头像 发表于 04-19 11:37 404次阅读

    fpga学习需要具备哪些课程

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

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

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

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

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

    FPGA管教分配需要考虑因素

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

    FPGA基本开发设计流程

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

    国外大学的FPGA开发项目盘点

    据我了解,目前国内很多大学是没有开设FPGA相关课程的,所以很多同学都是自学,但是自学需要一定的目标和项目,今天我们就去看看常春藤盟校Cornell University 康奈尔大学开设的FPGA项目
    发表于 12-22 10:27 925次阅读
    国外大学的<b class='flag-5'>FPGA</b>开发项目盘点

    fpga布局布线算法加速

    任务是将逻辑元件与连接线路进行合理的布局和布线,以实现性能优化和电路连接的可靠性。然而,FPGA布局布线的过程通常是一项繁琐且耗时的任务,因此加速布局布线算法的研究具有重要意义。本文将详尽探讨FPGA布局布线算法加速的方法与技术
    的头像 发表于 12-20 09:55 740次阅读

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

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

    使用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