|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
今天我用Synplify综合在Quartus II的MegaWizard中生成的altclklock这个IP时,软件始终提示有几个端口没有定义,导致无法综合。具体操作过程以及问题如下,还请各位大大不吝赐教,非常感谢
小弟使用的Synplify是9.0.2,QII是8.0,
1)首先在MegaWizard的I/O一栏选中altclklock,然后选择器件为cyclone II系列,不修改任何参数,一直点NEXT直到倒数第二页那里,因为是要用第三方工具综合,所以我选中了最下面的Generate Netlist,最后点Finish结束,这样我就用生成的文件中,文件名带“_syn”字样的那个.v文件去综合。
2)在Synplify中创建好工程,器件选择Altera Cyclone II EP2C35 FC672 -6,除此之外不修改任何工程参数,然后RUN,结果提示说有些东西没有定义,能直接在代码中反映出来的就是例化元件的代码中,元件本身有端口没有定义,具体代码如下:
cycloneii_pll pll(
.ena(vcc),
.clkswitch(gnd),
.areset(gnd),
.pfdena(vcc),
.testclearlock(gnd),
.sbdin(gnd),
.inclk({gnd,inclk[0]}),
.locked(),
.testupout(),
.testdownout(),
.sbdout(),
.clk(pll_CLK_bus));
其中元件的testclearlock端口就是被提示没有定义的端口之一。这个例化的代码让我想到有可能是因为库文件出错造成的,因为Synplify 9.0.2最高支持的QII版本是到7.2。于是我就把路径Synplicity\fpga_902\lib\altera\quartus_II72这个文件夹中所有的QII 7.2版的库文件全部备份并删除,然后再把QII安装目录\quartus\eda\synthesis中的所有8.0版的库文件复制到刚才的目录中,这样的话,只要在Synplify工程中保持选择QII的版本为7.2不变,那么编译时软件仍然在Synplicity\fpga_902\lib\altera\quartus_II72文件夹中查找库文件,但实际上库文件又换成了8.0的,所以起到了“偷换”的作用。这是小弟采用的方式。
3)按第2步操作后又RUN,仍然不正确。经过仔细阅读错误报告,发现所有错误都是因为在查找cycloneii.v这个库文件中的内容时,没有找到那些端口而造成的,于是小弟打开了7.2和8.0两个版本的cycloneii.v库文件分别查看,发现在描述cycloneii_pll这个元件的module中,的确没有定义这些端口,具体代码如下:
module cycloneii_pll (
areset,
clk,
clkswitch,
ena,
inclk,
locked,
pfdena,
testdownout,
testupout) /* synthesis syn_black_box */;
至此,小弟就不明白了,以前综合RAM这些存储器的IP时,也是用带“_syn.v”字样的.v文件去综合,从来没有遇到过这种问题,这次是不是我哪些地方的操作步骤不正确呢?希望各位多多指教。由于小弟没有下载到高版本的synplify,所以还希望有支持QII 8.0的Synplify的大大们,有空帮小弟试一下,非常感谢 |
|