在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 5145|回复: 4

[求助] 关于xilinx FPGA的 Configuration Memory的问题

[复制链接]
发表于 2016-8-19 10:41:13 | 显示全部楼层 |阅读模式
300资产
向大家求教一个问题:
    FPGA在配置的时候,configuration bitstream会被加载到FPGA的configuration memory里去。我想问的是:

   1,configuration memory是个什么东东?
   2, bitstream加载到configuration memory后怎么转化为FPGA的各种逻辑资源,如BRAM、dsp、CLK和MMCM等等?

发表于 2016-8-22 18:43:01 | 显示全部楼层
1. config mem,我觉得理解成FPGA内部的一堆寄存器也许更好理解,虽然寄存器和mem不一样。2. 不是说bit流下进去FPGA里就有这资源。FPGA理的资源就摆在那里,你用或者不用取决于你的代码。例如,MMCM,是FPGA理的一个专门的硬件单元。你不用,就不会配置。你代码理例化了MMCM,就会使用FPGA的MMCM。但问题是,怎么用?拿锁相环来说,锁相环正常工作,你至少要告诉他倍频多少?分频多少?输入频率多少?更复杂的还有,输出时钟的带宽是多少?等等。这些东西是MMCM上的一系列寄存器。值怎么填呢?由bit流来控制。bit流是哪里来的?是ISE或者VIVADO编译出来的,而且是根据你的代码编译出来的。这样,你代码里用了MMCM,那么编译出的bit流就会包含MMCM的配置,下载到FPGA之后就会去配置MMCM的一堆寄存器,然后MMCM就能用了。
3. 再给你举个更详细的例子,LUT。这个ALTERA和XILINX都有,是构成FPGA的主要内容。LUT归根结底就是个SRAM。我们假设要让你实现一个功能,输入两个1bit的信号a,b,输出1bit的信号c,要求c是a和b的抑或。LUT会用来实现这个功能。简单点,假设LUT是2输入的(实际上一般都是四输入或者6输入)。那么LUT的存储空间就是2的2次方就是4,能存4个bit。你程序写 c <= a ^b。编译出来什么呢?会编译出来0110。这4个bit在bit流中,然后拿来下载FPGA。这样FPGA就会有一个LUT,其两个输入口互联到了ab两个信号上,lut的内容是0110。LUT的输出互联到c上。ab相当于这sram的索引地址。于是,当ab分别为,00,01,10,11,这个LUT就会输出0,1,1,0.于是就实现了你 的功能。

明白了吗??
发表于 2022-2-16 15:14:45 | 显示全部楼层
学习了
发表于 2022-2-24 10:30:09 | 显示全部楼层
1、configuration memory是FPGA的片内RAM,下载过程就是将bit文件写入片内RAM的过程;
2、综合实现后会生成bit文件,文件中包含了调用的IP位置和配置信息、布局信息、布线信息、管脚信息等,烧写到configuration memory后,片内的固件会从memory中读取bit信息,比如bit信息显示某个单元与另一个单元相连,那么在内部就会将这两者连接起来,资源都是现有的,只不过基于bit信息对资源进行调用,这就是编程过程,也是基于此,才叫做现场可编程门阵列。
发表于 2022-2-24 10:33:27 | 显示全部楼层
学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-26 21:22 , Processed in 0.024753 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表