简述基于eda软件的fpgacpld设计流程主要包括哪几个步骤

简述基于eda软件的fpgacpld设计流程主要包括哪几个步骤,第1张

1、功能定义/器件选型

一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA元件库为止。

2、设计输入

设计输入是将所设计的系统或电路以开发软件要求的某种形式表示出来,并输入给EDA工具的过程。常用的方法有硬件描述语言(HDL)和原理图输入方法等。原理图输入方式是一种最直接的描述方式,在可编程芯片发展的早期应用比较广泛,它将所需的器件从元件库中调出来,画出原理图。

3、功能仿真

功能仿真也称为前仿真是在编译之前对用户所设计的电路进行逻辑功能验证,此时的仿真没有延迟信息,仅对初步的功能进行检测。

4、综合优化

所谓综合就是将较高级抽象层次的描述转化成较低层次的描述。综合优化根据目标与要求优化所生成的逻辑连接,使层次设计平面化,供FPGA布局布线软件进行实现。

5、综合后仿真

综合后仿真检查综合结果是否和原设计一致。在仿真时,把综合生成的标准延时文件反标注到综合仿真模型中去,可估计门延时带来的影响。但这一步骤不能估计线延时,因此和布线后的实际情况还有一定的差距,并不十分准确。

6、实现与布局布线

布局布线可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳布局,选择逻辑与输入输出功能链接的布线通道进行连线,并产生相应文件(如配置文件与相关报告),实现是将综合生成的逻辑网表配置到具体的FPGA芯片上,布局布线是其中最重要的过程。

7、时序仿真

时序仿真,也称为后仿真,是指将布局布线的延时信息反标注到设计网表中来检测有无时序违规(即不满足时序约束条件或器件固有的时序规则,如建立时间、保持时间等)现象。时序仿真包含的延迟信息最全,也最精确,能较好地反映芯片的实际工作情况。

8、板级仿真与验证

板级仿真主要应用于高速电路设计中,对高速系统的信号完整性、电磁干扰等特征进行分析,一般都以第三方工具进行仿真和验证。

9、芯片编程与调试

设计的最后一步就是芯片编程与调试。芯片编程是指产生使用的数据文件(位数据流文件,Bitstream Generation),然后将编程数据下载到FPGA芯片中。其中,芯片编程需要满足一定的条件,如编程电压、编程时序和编程算法等方面。

其实两者差别还是很大的,FPGA相对IC简单很多。

FPGA开发一般流程是:LOGIC-调试-综合-管脚分配,时序约束等-生成BIT文件-下载。

IC一般流程是:CODE-前仿真验证-综合-综合后仿真-版图-后仿真-流片。

应该说FPGA开发流程相对比较模糊,许多CODE问题可以下载实现后在线调试,而IC则相对较严格很多,要在流片前消除所有问题,所以IC的验证就非常严格,而FPGA则相对没那么严格。

FPGA实现的设计并非如你想象的用基本门电路搭建 而是查表得出的

FPGA确实提供了一些基本的数字器件 但其最主要的功能单元是LUT(Look-up Table, 查找表)

LUT是一种存储资源 用于实现组合逻辑和时序逻辑(LUT+寄存器)

不同厂商、型号的fpga提供不同的LUT 可以通过非易失性flash或者sram或者反熔丝技术实现 LUT的单元规模也不同 可能是4输入、6输入、8输入等

举个例子 要实现 ”a与b“ 这个功能 就相当于查找一个表格 其内容为

a=0,b=0时 f=0;

a=0,b=1时 f=0;

a=1,b=0时 f=0;

a=1,b=1时 f=1;

fpga编译器会把a&&b这个描述转换成这个表格 生成数据流文件

进行fpga配置之后 fpga器件上有一个存储单元就存储了这个数据流文件中描述的这个表格

逻辑运行时 a,b就是这个查找表的索引(即这个存储单元的地址)f就是查找结果(存储单元的输出)

你可以在google搜索xilinx what is an fpga

有简明的介绍 和fpga的结构示意图

是应该还有col的输出,这才是整个扫描程序的重点。如果扫描的原理懂了的话,程序好像也没这么难理解啊,简单讲一下,在NO_KEY_PRESSED,col输出0000,如果有按键按下,当前行的row连接到col,则按下的那一行电平为0,转到SCAN_COL0。行值由row可知,开始逐列扫描以确定列值;在SCAN_COL0状态,col输出1000,若是第一列的按键,则row应该变为1111,即可确定是第一列,否则转到第二列扫描,col输出0100···类推

以上就是关于简述基于eda软件的fpga/cpld设计流程主要包括哪几个步骤全部的内容,包括:简述基于eda软件的fpga/cpld设计流程主要包括哪几个步骤、帮忙比较一下FPGA设计流程和IC设计流程、什么是FPGA 简单的说一下,不要复制百度百科之类的。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10173286.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存