深入浅出FPGA-1-Cyclone芯片内部
2017-03-12 13:46
1001 查看
文章出处:http://blog.csdn.net/rill_zhen/article/details/7768552
引言
在学FPGA之前,一定弄明白一件事情,就是,FPGA到底是什么?
好吧,这一节主要说一下这个问题,当然不止这一个问题。
弄明白了这个问题,下一节开始说verilog语言的问题。
1.1FPGA实现类型
众所周知,FPGA不同于ASIC的最要的特性就是,FPGA是可重配置的。可重配置,就是这个芯片的功能是可重新定义的。配置什么呢,配置逻辑,什么是逻辑?逻辑由最小逻辑单元和连线两部分内容组成。
1》如果配置内容的逻辑部分(真值表)是通过RAM存放的,那么这个FPGA就是基于RAM的。
2》如果配置内容的逻辑部分(真值表)是通过FLASH存放的,那么这个FPGA就是基于FLASH的。
3》如果配置内容的逻辑部分(真值表)是那都没存,直接修改硬连线,那么这个FPGA就是基于熔丝/反熔丝的。这种只能配置一次,严格意义上说不算FPGA。
4》由于存在FLASH或RAM的内容在高辐射等影响下,容易发生变化,所以我猜,神九上面的FPGA是基于熔丝/反熔丝的。
2,FPGA最小单元
altera公司叫LE。xilux有另外一个名字。其实都一样。
下面就亲眼看一下LE到底是什么,怎么看呢?
1》打开quartusII,
2》找到chipplaner
3》你会看到好多小格子
4》逐级放大,然后双击一个小格子,
5》你会看到几个门,和很多线,
6》有的线是灰的,有的线是蓝的。
7》有的门是灰的,有的门是蓝的。
8》配置文件就是描述哪些门是灰的,哪些是蓝的,哪些线是灰的,哪些线是蓝的。
9》再双击一个小格子,你会发现和刚才那个小格子一样,好了,有很多很多。芯片型号EP2C8Q。。。其中‘C’后面的‘8’就是8K,就是LE的数量。
10》FPGA芯片有的是4线的,5线的,什么意思呢,其实FPGA的最小单元就是一个多路选择器。4线就是4选16路选择器。
11》16路的内容存在的memery(可以是RAM或FLASH)里,内容就是真值表的输出。
12》通过修改真值表,就可以实现不同的逻辑。
13》通过修改很多很多个LE的真值表,就可以修改整个FPGA芯片的逻辑,即,重配置。
3,FPGA和ASIC的关系
如果把werilog语言描述的电路映射成FPGA的单元(LE),那么就是FGPA。
如果把werilog语言描述的电路映射成制造IC的公司的元件,布线,像制造PCB那样,(只不过电阻和电容都很小)那么就是ASIC。
在流片之前要用FPGA验证。
4,自己写完verilog代码,到底会生成什么样的电路呢?
打开qartusII,找到RTL vewer,然后你就可以看到你的代码生成什么样的电路了。
就像你画完原理图得到的结果。就像是一个尺寸很小的PCB一样。可以这样认为,一个小芯片,就是一个浓缩版的PCB板子。
5,verilog代码是如何生成ASIC的?
1》用notepad++等编辑器写代码
2》用modulesim等仿真工具进行RTL仿真:前仿真
3》用QartusII等软件进行编译,生成中间表示形式,然后进行逻辑优化,综合,生成门级表示形式,和自带的元件库(也是用verilog写的,只不过是开关级的)
4》用modulesim等仿真工具进行门级,开关级仿真:后仿真
5》将QartusII综合后的配置文件(sof,pof)烧到板子上,验证
6》ASIC back end flow ,sign off。
7》让ASIC厂子造几片,验证
8》批量造
6,小结
这一节讨论了很多问题,需要理解,其实FPGA不是从天上掉下来的,有他一步步的发展过程。和传统PCB制造,软件编译等领域有很多联系啊,对比一下,会比较容易理解。
引言
在学FPGA之前,一定弄明白一件事情,就是,FPGA到底是什么?
好吧,这一节主要说一下这个问题,当然不止这一个问题。
弄明白了这个问题,下一节开始说verilog语言的问题。
1.1FPGA实现类型
众所周知,FPGA不同于ASIC的最要的特性就是,FPGA是可重配置的。可重配置,就是这个芯片的功能是可重新定义的。配置什么呢,配置逻辑,什么是逻辑?逻辑由最小逻辑单元和连线两部分内容组成。
1》如果配置内容的逻辑部分(真值表)是通过RAM存放的,那么这个FPGA就是基于RAM的。
2》如果配置内容的逻辑部分(真值表)是通过FLASH存放的,那么这个FPGA就是基于FLASH的。
3》如果配置内容的逻辑部分(真值表)是那都没存,直接修改硬连线,那么这个FPGA就是基于熔丝/反熔丝的。这种只能配置一次,严格意义上说不算FPGA。
4》由于存在FLASH或RAM的内容在高辐射等影响下,容易发生变化,所以我猜,神九上面的FPGA是基于熔丝/反熔丝的。
2,FPGA最小单元
altera公司叫LE。xilux有另外一个名字。其实都一样。
下面就亲眼看一下LE到底是什么,怎么看呢?
1》打开quartusII,
2》找到chipplaner
3》你会看到好多小格子
4》逐级放大,然后双击一个小格子,
5》你会看到几个门,和很多线,
6》有的线是灰的,有的线是蓝的。
7》有的门是灰的,有的门是蓝的。
8》配置文件就是描述哪些门是灰的,哪些是蓝的,哪些线是灰的,哪些线是蓝的。
9》再双击一个小格子,你会发现和刚才那个小格子一样,好了,有很多很多。芯片型号EP2C8Q。。。其中‘C’后面的‘8’就是8K,就是LE的数量。
10》FPGA芯片有的是4线的,5线的,什么意思呢,其实FPGA的最小单元就是一个多路选择器。4线就是4选16路选择器。
11》16路的内容存在的memery(可以是RAM或FLASH)里,内容就是真值表的输出。
12》通过修改真值表,就可以实现不同的逻辑。
13》通过修改很多很多个LE的真值表,就可以修改整个FPGA芯片的逻辑,即,重配置。
3,FPGA和ASIC的关系
如果把werilog语言描述的电路映射成FPGA的单元(LE),那么就是FGPA。
如果把werilog语言描述的电路映射成制造IC的公司的元件,布线,像制造PCB那样,(只不过电阻和电容都很小)那么就是ASIC。
在流片之前要用FPGA验证。
4,自己写完verilog代码,到底会生成什么样的电路呢?
打开qartusII,找到RTL vewer,然后你就可以看到你的代码生成什么样的电路了。
就像你画完原理图得到的结果。就像是一个尺寸很小的PCB一样。可以这样认为,一个小芯片,就是一个浓缩版的PCB板子。
5,verilog代码是如何生成ASIC的?
1》用notepad++等编辑器写代码
2》用modulesim等仿真工具进行RTL仿真:前仿真
3》用QartusII等软件进行编译,生成中间表示形式,然后进行逻辑优化,综合,生成门级表示形式,和自带的元件库(也是用verilog写的,只不过是开关级的)
4》用modulesim等仿真工具进行门级,开关级仿真:后仿真
5》将QartusII综合后的配置文件(sof,pof)烧到板子上,验证
6》ASIC back end flow ,sign off。
7》让ASIC厂子造几片,验证
8》批量造
6,小结
这一节讨论了很多问题,需要理解,其实FPGA不是从天上掉下来的,有他一步步的发展过程。和传统PCB制造,软件编译等领域有很多联系啊,对比一下,会比较容易理解。
相关文章推荐
- 深入浅出FPGA-1-Cyclone芯片内部
- FPGA芯片内部硬件介绍
- 深入浅出FPGA-6-基于扫描的DFT对芯片测试的影响
- FPGA 主流芯片选型指导和命名规则(一)
- 深入浅出FPGA-2-让source insight 支持verilog HDL
- stm32内部温度芯片的驱动及应用实现
- FPGA概念、芯片结构、工作原理、开发流程以及xilinx公司主要可编程芯片
- 不同stm32f103芯片内部外设资源
- [置顶] 人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)
- FPGA芯片配置方式详解与选择
- FPGA的AD芯片驱动
- 转----FPGA做MAC功能,直接挂PHY芯片发送网络报文
- FPGA内部信号避免高阻态
- 手机内部芯片
- FPGA芯片结构
- FPGA 主流芯片选型指导和命名规则(二)
- FPGA 内部双口块RAM 读写实现
- Window XP驱动开发(十一) USB2.0 芯片CY7C68013A+FPGA实现的高速传输系统设计(软件及硬件)
- 关于《深入浅出教你玩转FPGA…
- 芯片内部同一位置不同层的显微图