导航:首页 > 编程语言 > fpga编程流程

fpga编程流程

发布时间:2022-08-15 09:30:32

A. FPGA编程

今年电子大赛的时候做过一个,不过是基于XILINX公司的FPGA的,我给你介绍一下思路吧。

还有就是不知道你的信号发生器要求频率和精度是多少

一般有两种实现方式:一种是控制AD输出模拟量,另一种是通过SPWM和低通整流而来

本程序是第二种

工作机理有两部分组成:PWM的产生和表

产生部分由两个寄存器和一个计数器组成,计数器不听累加同时与两个寄存器作比较,两个寄存器一个控制置底一个控制拉高,一般把一个固定就行了(有的地方说是一个控制周期一个控制高电平时间,其实是一样的)

表里放的是一个正弦数组(产生正弦波),之后有一个寄存器控制读取表的速度(间隔),把读取出的表值存入上面那个没固定的寄存器就行了

http://blog.sina.com.cn/s/blog_6e22b1da0100n52r.html

我的博客里有一篇关于SPWM模式的DDS的文章
你可以看一看
不懂得话可以给我留言

A/D转换的方法要比SPWM的方法简单,首先你要新建一个存储空间,里面存上A/D的电压控制量的一维数组,数组中存在的数值对应的电压从前到后呈正弦波形排列,每个周期从数组中每隔n个元素依次读取数组付给A/D转换器,这样A/D就可以输出正弦波了,而里面的n步进是由一个寄存器控制的,n的大小决定了你的频率。

至于你说的液晶显示,按键等。我建议你用SOPC实现,Alter公司有Nois2的ip核。它相当于把FPGA当单片机用,你将液晶控制、按键控制、波形生成分别变成自定义IP核集成于系统,之后在顶层用C语言实现目的即可。

如果你不会HDL语言的话,必须先把它学了。如果你不了解SOPC的话,给你介绍一个很好的资料,估计你按这个一步一步来,1周就能学会。
http://wenku..com/view/dd7ade360b4c2e3f57276360.html

这是网络文库的链接,一共是五章,你可以自己搜索。

今年的电子大赛FPGA组的比赛有不少省市都和你这道题有关,虽然是XILINX公司的,但是大同小异。

B. 如何学习FPGA

第一步:学习了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程。很多开发板的程序写的很烂,我也做过一段时间的开发板设计,我觉得很大程度上,开发板在误人子弟。不过原厂提供的正品开发板,代码很优秀的,可以借鉴。只有了解了FPGA内部的结构才能明白为什么写Verilog和写C整体思路是不一样的。
第二步:掌握FPGA设计的流程。了解每一步在做什么,为什么要那么做。很多人都是不就是那几步吗,有什么奇怪的?呵呵,我想至少有一半以上的人不知道synthesize和traslate的区别吧。
了解了FPGA的结构和设计流程才有可能知道怎么去优化设计,提高速度,减少资源,不要急躁,不要去在为选择什么语言和选择哪个公司的芯片上下功夫。语言只是一个表达的方式,重要的是你的思维,没有一个好的指导思想,语言用得再好,不过是个懂语言的人。
第三步:开始学习代码了。我建议要学代码的人都去Altera或Xilinx的网站上下原厂工程师的代码学习。不要一开始就走入误区。

C. FPGA怎么开始学

学习步骤:

1,计算机必不可少。可以选择安装quartusII或者ISE软件。这是必备的软件环境。
2、熟悉verilog语言或者vhdl语言 ,熟练使用quartusII或者ISE软件。
3、设计一个小代码,下载到目标板看看结果。
4、设计稍微复杂的代码,下载到目标板看看结果。
5、设计复杂的代码,下载到目标板看看结果。
6、设计高速接口,譬如ddr2或者高速串行接口
7、设计一个复杂的协议,譬如USB、PCIexpress、图像编解码等。
8、学习再学习,知道“学无止境,山外有山”。
注意事项:第一步:学习了解FPGA结构,FPGA到底是什么东西,芯片里面有什么,不要开始就拿个开发板照着别人的东西去编程。
第二步:掌握FPGA设计的流程。了解每一步在做什么,为什么要那么做。
第三步:开始学习代码了。不要一开始就走入误区。
第四步:template很重要。能不能高效利用FPGA资源,一是了解fpga结构,二是了解欲实现的逻辑功能和基本机构,三是使用正确的模板。
总结:理解时序,逻辑是一拍一拍的东西,在设计初期想的不是很清楚的时候可以画画时序图,这样思路会更加的清晰,还有就是仿真很重要,不要写完程序就去往FPGA中去加载,首先要仿真,尤其是对比较大型一点的程序,想象自己是在做asic,是没有二次机会的,所以一定要把仿真做好。

D. 请教下FPGA完整设计流程

1、设计输入

1)设计的行为或结构描述。

2)典型文本输入工具有UltraEdit-32和Editplus.exe.。

3)典型图形化输入工具-Mentor的Renoir。

4)我认为UltraEdit-32最佳。

2、代码调试

1)对设计输入的文件做代码调试,语法检查。

2)典型工具为Debussy。

3、前仿真

1)功能仿真

2)验证逻辑模型(没有使用时间延迟)。

3)典型工具有Mentor公司的ModelSim、Synopsys公司的VCS和VSS、Aldec公司的Active、 Cadense公司的 NC。

4)我认为做功能仿真Synopsys公司的VCS和VSS速度最快,并且调试器最好用,Mentor公司的ModelSim对于读写文件速度最快,波形窗口比较好用。

4、综合

1)把设计翻译成原始的目标工艺

2)最优化

3)合适的面积要求和性能要求

4)典型工具有Mentor公司的LeonardoSpectrum、Synopsys公司的DC、Synplicity公司的 Synplify。

5)推荐初学者使用Mentor公司的LeonardoSpectrum,由于它在只作简单约束综合后的速度和面积最优,如果你对综合工具比较了解,可以使用Synplicity公司的Synplify。

5、布局和布线

1)映射设计到目标工艺里指定位置

2)指定的布线资源应被使用

3)由于PLD市场目前只剩下Altera,Xilinx,Lattice,Actel,QuickLogic,Atmel六家公司,其中前5家为专业PLD公司,并且前3家几乎占有了90%的市场份额,而我们一般使用A ltera,Xilinx公司的PLD居多,所以典型布局和布线的工具为Altera公司的Quartus II和 Maxplus II、Xilinx公司的ISE和Foudation。

4)Maxplus II和Foudation分别为Altera公司和Xilinx公司的第一代产品,所以布局布线一般使用Quartus II和ISE。

6、后仿真

1)时序仿真

2)验证设计一旦编程或配置将能在目标工艺里工作(使用时间延迟)。

3)所用工具同前仿真所用软件。

7、时序分析

1)一般借助布局布线工具自带的时序分析工具,也可以使用Synopsys公司的 PrimeTime软 件 和Mentor Graphics公司的Tau timing analysis软件。

8、验证合乎性能规范

1)验证合乎性能规范,如果不满足,回到第一步。

9、版图设计

1)验证版版图设计。

2)在板编程和测试器件

E. 叙述EDA的FPGA/CPLD的设计流程

1.设计输入(包括原理图输入和HDL文本编辑,EDA可以提供文本编辑工具)

2.综合,将输入的原理图或者HDL文本根据硬件的约束条件进行编译综合,EDA工具提供了综合器

3.适配,此过程ED

4.时序仿真与功能仿真,EDA工具提供仿真工具


5.编程下载,分不同的方式

6.硬件测试A工具貌似没什么用




F. fpga开发设计的一般流程

1.电路功能设计

在系统设计之前,首先要进行的是方案论证、系统设计和FPGA芯片选择等准备工作。系统工程师根据任务要求,如系统的指标和复杂度,对工作速度和芯片本身的各种资源、成本等方面进行权衡,选择合理的设计方案和合适的器件类型。一般都采用自顶向下的设计方法,把系统分成若干个基本单元,然后再把每个基本单元划分为下一层次的基本单元,一直这样做下去,直到可以直接使用EDA元件库为止。

2.设计输入

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

G. fpga使用过程是怎样的

FPGA你可以当做一个白纸,是个含有好多门电路的可编程芯片,你把你想实现的功能系统用verilog语言实现程序,下载FPGA芯片中将门电路按照你的设计编程,下载完成之后就可以按照你的设计工作了

H. 简述基于eda软件的fpga/cpld设计流程主要包括哪几个步骤

1、功能定义/器件选型

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

2、设计输入

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

3、功能仿真

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

4、综合优化

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

5、综合后仿真

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

6、实现与布局布线

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

7、时序仿真

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

8、板级仿真与验证

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

9、芯片编程与调试

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

I. fpga和asic开发流程的区别

1、FPGA——现场可编程门阵列

FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。

ASIC具有高性能、低功耗的优势,但它们包含的任何算法——除了那些在软件内部处理器内核执行的——其余都是“冻结的”。所以这个时候我们就需要现场可编程门阵列(FPGA)了。早期的FPGA器件的架构相对简单——只是一系列通过可编程互连的可编程模块。

J. 基于fpga/cpld的数字系统设计流程包括哪些步骤

EDA技术的设计流程:

1、设计输入

用一定的逻辑表达手段表达出来。

2、逻辑综合

将用一定的逻辑表达手段表达出来的设计经过一系列的操作,分解成一系列的逻辑电路及对应关系(电路分解)。

3、目标器件的适配

在选用的目标器件中建立这些基本逻辑电路的对应关系(逻辑实现)。

4、目标器件的编程/下载

将前面的软件设计经过编程变成具体的设计系统(物理实现)。

5、仿真/硬件测试

验证所设计的系统是否符合要求。同时,再设计过程中要进行有关“仿真”,即模拟有关设计结果,验证是否与设计构想相符。


(10)fpga编程流程扩展阅读:

基于fpga/cpld数字系统的设计规则:

1、分割准则

(1)、分割后最底层的逻辑块应适合用逻辑语言进行表达。

(2)、相似的功能应该设计成共享的基本模块。

(3)、接口信号尽可能少。

(4)、同层次的模块之间,在资源和i/o分配上,尽可能平衡,以便结构匀称。模快的划分和设计,尽可能做到通用性好,易于移植。

2、系统设计的可测性

具有系统的关键点信号,如时钟、同步信号和状态等信号;具有代表性的节点和线路上的信号等。

3、系统设计的重用性

(1)、设计者应该尽可能采用同步电路进行设计,系统中应该有时钟和复位信号。

(2)、fpga/cpld的结构可以提供一定数量的片上存储器块。

(3)、复杂、系统级芯片需要各种标准的i/o接口。

(4)、编码是数字系统设计者应该给予足够重视的一项工作。

4、最优化设计

由于可编程器件的逻辑资源、连接资源和i/o资源有限,器件的速度和性能也是有限的,用器件设计系统的过程相当于求最优解的过程。

5、可靠性设计

阅读全文

与fpga编程流程相关的资料

热点内容
java笔试编程题 浏览:740
win11什么时候可以装安卓 浏览:560
java不写this 浏览:999
云点播电影网php源码 浏览:95
pythonclass使用方法 浏览:224
移动加密软件去哪下载 浏览:294
php弹出alert 浏览:209
吉林文档课件加密费用 浏览:136
传感器pdf下载 浏览:288
随车拍app绑定什么设备 浏览:898
方维团购系统源码 浏览:993
linux反弹shell 浏览:159
打印机接口加密狗还能用吗 浏览:301
二板股票源码 浏览:448
度人经pdf 浏览:902
怎么配置android远程服务器地址 浏览:960
java程序员看哪些书 浏览:943
什么app可以免费和外国人聊天 浏览:797
pdf手写笔 浏览:182
别永远伤在童年pdf 浏览:990