在使用Actel 的FPGA过程中,不断遇到一些使用问题,为了避免在同一个地方摔倒多次,因此很有必要做笔记,同时也拿出来跟各位朋友分享,希望大家给点意见,共同探讨.
Divided and Delayed能够实现分频和延时功能,每个模块占用一条全局网络,而且要求芯片有PLL,因此在需要使用分频的工程中,可以使用该模块,以节省由于分频而做成资源开销,如Versa Tile.
问题:
扇出能力不足:
Error: CMP402: The reference clock pin of PLL 'div2/Inst1:CLK', when driven by an I/O cell, must have a fanout of 1.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Error: CMP402: The reference clock pin of PLL 'div1/Inst1:CLK', when driven by an I/O cell, must have a fanout of 1.
解决办法:在输入I/O后面加一个BUFFER,如INBUF,但要注意,如果使用CLKBUF的话,BUFFER自身会使用一条全局网络。
Input sysclk;
CLKBUF CLKBUF1(.PAD(sysclk),.Y(clk));
Error: NETLIST:014 PLL is an Actel macro and cannot be used as a user cell. Number of ports differ from ADLIB.
问题:
这种模式只有内部有PLL的 CCC才支持。否则会出现下面的问题。
ERROR: CMP600: This design has one or more instances of the CLKDLY macro
which is not supported for the device in use.
Before compiling, this macro(s) must be removed from the design
RC振荡器是Fusion特有的模拟单元,能够提供100MHz的时钟。使用时PLL要选择输入。
Error: CMP421: The XTL or RC oscillator can only drive the CLK pin of a clock macro.
Connection to instance CLKOUT_pad/U0/U1 is a violation of this rule.
Actel的FPGA内部都嵌入了SRAM块,而且每个SRAM块都有硬件FIFO控制器,FIFO控制器允许将SRAM块配置成一个同步FIFO,而无须占用额外的逻辑资源。但值得注意的是,SRAM块是以固定大小的块存在(4096bits),因此在使用过程中每次生成的SRAM(或FIFO)模块,即使只有8bits的容量,也会占用一个SRAM块,同时,生成的SRAM模块大于一个SRAM块时,就要对SRAM块进行级联,在级联的过程中,会相应地使用额外的资源,例如:生成一个12288*8的SRAM模块时,如图 1所示,即使用到了Versa Tile,但不会占用全局网络,资源占用情况如图 2。
图 1 RAM模块
图 2 RAM资源占用情况
虽然FIFO可以通过SRAM配置而成,但相比之下也有所不同.如图 3所示,生成一个12288*8的FIFO,把108kbits的SRAM都用上了, 从表 1 FIFO编译数据中看到,在24个SRAM块连接的过程中,除了使用到RAM的资源,还占用了3条片上全局网络和一定数量的Versa Tiles.因此,在工程的设计过程中,不能忽视这部部分的资源消耗.(即使是2个SRAM级联,也用到了2个全局网络,如图 4)
图 3 FIFO
表 1 FIFO编译数据
=====================================================================
Compile report:
===============
CORE Used: 717 Total: 13824 (5.19)
IO (W/ clocks) Used: 23 Total: 119 (19.33)
Differential IO Used: 0 Total: 58 (0.00)
GLOBAL (Chip+Quadrant) Used: 3 Total: 18 (16.67)
PLL Used: 0 Total: 2 (0.00)
RAM/FIFO Used: 24 Total: 24 (100.00)
Low Static ICC Used: 0 Total: 1 (0.00)
FlashROM Used: 0 Total: 1 (0.00)
User JTAG Used: 0 Total: 1 (0.00)
RC oscillator Used: 0 Total: 1 (0.00)
XTL oscillator Used: 0 Total: 1 (0.00)
NVM Used: 0 Total: 2 (0.00)
AB Used: 0 Total: 1 (0.00)
AnalogIO Used: 0 Total: 46 (0.00)
VRPSM Used: 0 Total: 1 (0.00)
No-Glitch MUX Used: 0 Total: 2 (0.00)
Global Information:
Type | Used | Total
----------------|--------|-------------
Chip global | 3 | 6 (50.00)
Quadrant global | 0 | 12 (0.00)
Core Information:
Type | Instances | Core tiles
--------|--------------|-----------
COMB | 524 | 524
SEQ | 163 | 193
The following nets have been assigned to a chip global resource:
Fanout Type Name
--------------------------
157 SET/RESET_NET Net : RESET_c
Driver: RESET_pad
Source: NETLIST
111 CLK_NET Net : RCLOCK_c
Driver: RCLOCK_pad
Source: NETLIST
100 CLK_NET Net : WCLOCK_c
Driver: WCLOCK_pad
Source: NETLIST
图 4 资源占用情况
The following nets have been assigned to a chip global resource:
Fanout Type Name
--------------------------
101 SET/RESET_NET Net : RESET_c
Driver: RESET_pad
Source: NETLIST
56 CLK_NET Net : RCLOCK_c
Driver: RCLOCK_pad
Source: NETLIST
下载问题
文章评论(0条评论)
登录后参与讨论