请教关于hard macro的error问题
时间:10-02
整理:3721RD
点击:
我在使用hard macro时遇到了一个Error,我用的是virtex-6,软件是planAhead 14.7,并创建了一个hard macro的.nmc文件。用-sd定位了.nmc文件的位置,并且也对hard macro做了LOC。但是在NGDbild后的MAP总出现如下error。"[Place 835] Given the original pre-placement, no legal placements can be found for 1 group(s). The following is the description of these group(s). The relative offsets of the components are shown in brackets next to the component names.
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)"
还有一个比较奇怪的地方是,我对hard macro本身做LOC
"INST "AND_test_inst" LOC = SLICE_X0Y78;"
,会出现以下warning" [Constraints 18-5] Cannot loc instance 'AND_test_inst' at site SLICE_X0Y78, AND_test_inst is not a leaf level instance [/localtemp/yzhang/uemu/ml605_core_vfsm_subsystem/syn/project_AND_test/project_AND_test.srcs/constrs_1/new/AND_test_subsystem.ucf:2]"
但是对Net做LOC,则不会,"NET "A_in_IBUF" LOC = AA34;
NET "B_in_IBUF" LOC = AA33;
NET "C_out_OBUF" LOC = AA30;"这也让我很奇怪。
程序本身很小,就是个与门,只是想知道hard macro怎么用。
还想请问,如果hard macro成功调用,会在软件内有什么提示吗?如何知道我这个模块就是调用成功的hard macro而不是普通的一个component?
谢谢各位帮助!
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
LUT AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)
FF AND_test_inst/C_OBUF (0, 0)"
还有一个比较奇怪的地方是,我对hard macro本身做LOC
"INST "AND_test_inst" LOC = SLICE_X0Y78;"
,会出现以下warning" [Constraints 18-5] Cannot loc instance 'AND_test_inst' at site SLICE_X0Y78, AND_test_inst is not a leaf level instance [/localtemp/yzhang/uemu/ml605_core_vfsm_subsystem/syn/project_AND_test/project_AND_test.srcs/constrs_1/new/AND_test_subsystem.ucf:2]"
但是对Net做LOC,则不会,"NET "A_in_IBUF" LOC = AA34;
NET "B_in_IBUF" LOC = AA33;
NET "C_out_OBUF" LOC = AA30;"这也让我很奇怪。
程序本身很小,就是个与门,只是想知道hard macro怎么用。
还想请问,如果hard macro成功调用,会在软件内有什么提示吗?如何知道我这个模块就是调用成功的hard macro而不是普通的一个component?
谢谢各位帮助!
没有试过对一个AND gate做LOC,个人认为不需要吧,又不是大的IP,就算是大的IP,也有推荐的loc约束。
用AND只是想了解hard macro如何使用,真正用的模块比较大,Syn/Imp比较耗时
