描述
具有原始实例化的HDL设计导致NGDBug中未扩展的块错误。
错误:Basnu:“RAM16X1D”类型的93个逻辑块未展开。
解决方案
这种未扩展的块错误的一个可能的原因是如果声明的原始组件的端口被声明为总线。
所有Xilinx基元的端口必须是单端口。
下面是一个正确的实例实例化
VHDL中的RAM16X1D
——IEEE标准1164封装
库IEEE;
使用IEEE.STDYLogiC1164。
使用IEEE。
使用IEEE。
实体RAMD是
端口(WCK,我们,D:在STDYLogic中);
A:在StdLogLogic向量中(3下降到0);
DPRA:在StdLogLogic向量中(3下降到0);
SPO,DPO:OUT STDYLogic);
结束RAMD
RAMD内部的体系结构
RAM16X1D组件
端口(WCK,我们,D,A3,A2,A1,A0,DPAR3,DPARP2,DPAL1,DPAR0:STDYLogic;
SPO,DPO:OUT STDYLogic);
端元
开始
U1:RAM16X1D端口映射(WClk=& Gt;WClk,我们=& gt;d,A3=和gt;a(3),A2= & gt;a(2),a1= & gt;a(1),a0=& gt;a(0);
dPAP3=gt;dPRA=3,dPAR2=& gt;dPRA(2),dPAP1= & gt;dPRA(1),dPaP0= & gt;dPRA(0),SPO=& gt;spo,dPO=& gt;dPO);
内部结束;
Verilog示例:
——————–
模块RAMD(WCK,我们,A,D,DPRA,SPO,DPO);
输入[3:0] A,DPRA;
输入WCK,我们,D;
输出[3:0] SPO,DPO;
RAM16X1D U1(.SPO(SPO),DPO(DPO),D(D)),A3(A〔3〕),A2(A〔2〕),A1(A〔1〕),A0(A〔0〕)
DPAL3(DPRA〔3〕)、DPRA2(DPRA〔2〕)、DPRA1(DPRA〔1〕)、dPRA0(DPRA〔0〕)、We(We)、WCLK(WCK);
终端模块
错误消息中声明的组件/符号可以有损坏的网表。删除网表并重新生成它。
没有回复内容