wire [7:0] DsRamIn, DsRamOut;
wire DsRamWren;
wire [13:0] DsRamRdAddr, DsRamWrAddr;
DPSram MyDPSram( //dual port ram
TsClk,
DsRamIn,
DsRamRdAddr,
DsRamWrAddr,
DsRamWren,
DsRamOut);
wire [7:0] DsRamIn1, DsRamOut1;
wire DsRamWren1;
wire [13:0] DsRamRdAddr1, DsRamWrAddr1;
DPSram MyDPSram1( //dual port ram
TsClk,
DsRamIn1,
DsRamRdAddr1,
DsRamWrAddr1,
DsRamWren1,
DsRamOut1);
我调用了2个ram的IP核,但是这里一直报错说我
Error: Net "DsRamIn[7]", which fans out to "DPSram:MyDPSram|data[7]", cannot be assigned more than one value
Error: Net is fed by "iprocess:myprocess|DsRamIn1[7]"
Error: Net is fed by "UsbComm:MyUsb|DsRamIn[7]"
看错误是说我myprocess模块中DsRamIn1与UsbComm模块中MyUsb|DsRamIn重复,但这两个不是名称不一样么
我真的是小白啊,驱动指什么~~我把变量名字改了之后,居然好了~~
追答这错误是哪个工具报的 把哪个名字改了
追问我就是把DPSRAM1中的变量改名字了~~现在另一个程序又遇到这种问题了。。。不明白啊~
追答我也不太明白你说的话 不过最好还是查一下DsRamIn都在哪些地方被驱动了 这个错误不会因为改名字就解决的 你说“居然好了”我很怀疑
追问说的很乱,不好意思。大概情况是,有个USB通信模块,他负责将数据存到RAM里去,然后我有另一个模块,负责处理RAM里的数据,这样是不是就会产生驱动的冲突啊~
追答你描述问题还是不清楚 别说一个 另一个之类的话 要不你就把代码写全
我猜是MyUsb写数据到MyDPSram和MyDPSram里了吧
是myprocess调用这两个ram?
错误信息说DsRamIn[7]被重复赋值了 你就查一下都在哪被赋值(或者和输出端口做了映射)了 DsRamIn除了被MyUsb写 肯定还被其它逻辑操作了