首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AXI IP合成过程中的未知误差

AXI IP合成过程中的未知误差
EN

Stack Overflow用户
提问于 2016-04-18 07:27:09
回答 1查看 2.5K关注 0票数 2

我正在尝试使用Xilinx中的IP打包工具来创建一个带有AXI-Lite接口的协处理器,并将其用于我的数字系统工程类的Zynq SoC设计中。协处理器是一台GCD计算器,我们已经开发了它,作为以前任务的一部分。我遵循教官的指示从GCD计算器中创建IP,我们松散地遵循了教程4A从PDF定位的这里创建AXI接口( I/O声明显然被修改以容纳GCD计算器)。我有一个名为“data”的数据总线,它运行于AXI IP和GCD,用于向计算器发送值。但是,当我试图合成设计时,会出现以下错误:

[Synth 8-685] variable 'data' should not be used in output port connection'

该错误指向我的AXI总线接口实例化线,其中定义了我的数据端口。

我已经在网上搜索这个错误的解决方案好几个小时了,但是即使是Xilinx网站,或者已经提供给我们的Xilinx文档,也没有关于这个错误的任何信息,而且我也无法从任何经历同样错误的人那里找到任何帐户。

我给教授发了电子邮件,看他是否有什么主意,但他可能还要六个小时才能醒着,作业今天就要交了(明天?)

有没有人听说过这个错误,或者知道如何纠正它?

下面是包含错误源的部分代码:

代码语言:javascript
运行
复制
// Instantiation of Axi Buss Interface S00_AXI
myip_v1.0_0_S00_AVI # (
    .C_S_AXI_DATA_WIDTH(C_S00_AXI_DATA_WIDTH),
    .C_S_AXI_ADDR_WIDTH(C_S00_AXI_ADDR_WIDTH)
) myip_v1_0_S00_AXI_inst (
    .done_async(done_async),
    .go(go),
    .data(data), // The error points to this line
    .S_AXI_ACLK(s00_axi_aclk),
    ... // all remaining ports were generated by the IP tools
);

谢谢,

-Andrew

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-18 07:46:36

在我看来,您正在尝试从实例化模块的输出中驱动一个变量。在Verilog中,您不能从实例化模块中驱动变量。这在Verilog中是非法的(虽然它不是在SystemVerilog中):

代码语言:javascript
运行
复制
reg OP;                                     -- this is a variable    
SOME_MODULE MODULE_INST (.IP(IP), .OP(OP)); 

然而,这并不违法:

代码语言:javascript
运行
复制
wire OP;                                    -- this is a net
SOME_MODULE MODULE_INST (.IP(IP), .OP(OP)); 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36687767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档