一、先看赛灵思提供的表格
我有一个项目用到了红框所圈芯片,是Xlinx的Spartan6系列芯片。
下面对CLB和Block RAM的使用进行分析。
二、ISE综合报告分析
Selected Device : 6slx16csg324-2
Slice Logic Utilization:
Number of Slice Registers: 1204 out of 18224 6%
Number of Slice LUTs: 3019 out of 9112 33%
Number used as Logic: 3018 out of 9112 33%
Number used as Memory: 1 out of 2176 0%
Number used as SRL: 1
Slice Logic Distribution:
Number of LUT Flip Flop pairs used: 3946
Number with an unused Flip Flop: 2742 out of 3946 69%
Number with an unused LUT: 927 out of 3946 23%
Number of fully used LUT-FF pairs: 277 out of 3946 7%
Number of unique control sets: 24
IO Utilization:
Number of IOs: 67
Number of bonded IOBs: 67 out of 232 28%
Specific Feature Utilization:
Number of Block RAM/FIFO: 4 out of 32 12%
Number using Block RAM only: 4
Number of BUFG/BUFGCTRLs: 1 out of 16 6%
Number of DSP48A1s: 8 out of 32 25%
综合报告分四部分介绍:Slice使用情况,Slice具体使用情况,IO口使用,特殊功能模块使用。
Xlinx的CLB=2*Slice=4*LUT=8*Flip_Flop。下面对报告每一行进行理解。
(1)Number of Slice Registers, 这里的Register就是表格内的Flip_Flop;
(2)Number of Slice LUTs,LUT即为查找表,部分LUT还可作为分布式RAM或者移位寄存器来使用,这里用作逻辑判断的有3018个,用作SRL(移位寄存器)的有1个;
(3)Number of LUT Flip Flop pairs used,使用的LUT和Flip_Flop对,有的情况是相邻的LUT和Flip_Flop会同时使用,有的时候只会用到其中一个。只用LUT的是2742个,只用触发器的是927个,都用到的是277个。2742+927=3946,277+927=1204,与第一部分的数量是可以对应的。
(4)Number of Block RAM/FIFO,FPGA的RAM是分块使用的,根据表格可以看到最小使用18kb,共有32块,总计576kb。本项目使用了一个4096*14bit的ROM,4096*14/(18*1024)=3.11 所以综合报告提示使用了4块RAM。