论坛» 嵌入式开发» FPGA

用synplify综合Xilinx的core后为什么在Technology view中看不到相应的模块?

工程师
2009-12-10 16:20 1楼
我程序中使用了ISE的core generator生成的双口ram,在synlify的工程中综合,对这个core添加了黑盒子(black box)属性,为什么综合完成后在Technology view或者RTL view中都看不到这个core对应的模块?

在chushihua.vhd添加黑盒子属性的代码如下:
component dram IS
port (
addra: IN std_logic_VECTOR(10 downto 0);
addrb: IN std_logic_VECTOR(10 downto 0);
clka: IN std_logic;
clkb: IN std_logic;
dina: IN std_logic_VECTOR(15 downto 0);
dinb: IN std_logic_VECTOR(15 downto 0);
douta: OUT std_logic_VECTOR(15 downto 0);
doutb: OUT std_logic_VECTOR(15 downto 0);
ena: IN std_logic;
enb: IN std_logic;
wea: IN std_logic;
web: IN std_logic);
END component;
attribute syn_black_box :boolean;
attribute syn_black_box of dram : component is true;
程序中实例化的代码为:
cmem: dram
port map(
clka =>clk,
dina =>"0000000000000000",
addra=>ADDRA,
douta=>DOA,
ena =>ENA,
wea =>'0',

clkb =>clk,
dinb =>DIB,
addrb=>ADDRB,
doutb=>DOB,
enb =>ENB,
web =>WEB
);
综合完后没有找到cmem这个模块,如下图所示。
工程师
2009-12-11 09:43 2楼
在synplify综合后的.edf文件中我找到了如下一段代码:
(cell dram(cellType GENERIC)
(view dram_a (viewType NETLIST)
(interface
(port (array (rename addra "addra(10:0)") 11) (direction INPUT))
(port (array (rename addrb "addrb(10:0)") 11) (direction INPUT))
(port (array (rename dina "dina(15:0)") 16) (direction INPUT))
(port (array (rename dinb "dinb(15:0)") 16) (direction INPUT))
(port (array (rename douta "douta(15:0)") 16) (direction OUTPUT))
(port (array (rename doutb "doutb(15:0)") 16) (direction OUTPUT))
(port clka (direction INPUT))
(port clkb (direction INPUT))
(port ena (direction INPUT))
(port enb (direction INPUT))
(port wea (direction INPUT))
(port web (direction INPUT))
)
)
其中dram是我用ISE的coregen生成的双口RAM的名字,也就是说网表文件已经识别了这段代码了,我只是不知道synplify是否已经将这个ISE的IP核作为黑盒子(black box)对待。但不管怎样对待,都应该在Technology view中找到对应的模块图啊,可是没有,有高手能帮忙解释一下么?
高工
2009-12-11 13:28 3楼

没遇到过这种情况。我以前直接用代码调用的Chipscope核在synplify中综合不出来。
能不能把你的工程简化一下传上来看看,才好发现原因。

菜鸟
2013-11-03 10:34 4楼
look
助工
2015-12-17 18:26 5楼
求大神给个synplify pro 软件链接,不胜感激
共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]