在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2596|回复: 6

[求助] (全部信元求助)Vivado 抽风,有时候无法编译interface,官方也没有解决

[复制链接]
发表于 2017-3-15 16:12:46 | 显示全部楼层 |阅读模式
910资产
本帖最后由 wmy367 于 2017-3-16 11:44 编辑

vivado 有时候无法编译interface提示:





  1. [Synth 8-27] scoped/hierarchical type name not supported ["E:/work/AXI/AXI_stream/packet_fifo/axi_stream_packet_fifo_B1.sv":23]


复制代码



`timescale 1ns/1psmodule axi_stream_packet_fifo_B1 #(
        parameter DEPTH   = 2,   //2-4        
        parameter CSIZE   = 1
)(
        input [CSIZE-1:0]           in_cdata,
        output[CSIZE-1:0]          out_cdata,
        output logic[15:0]           empty_size,
        axi_stream_inf.slaver       axis_in,         // axi4 stream interface
        axi_stream_inf.master     axis_out        // axi4 stream interface
);

modelsim无任何错误,vivado也不是一直不行,有些个别文件就是不行。所有文件为UTF-8格式。

xilinx 官方问答连接

最佳答案

查看完整内容

1.如果这个bug是针对两个文件都会出,只不过它先编译了你的文件A,A报错之后可能B还没有报,但是并不代表B没有错,所以假设你是在同一个project中,并且还没有做类似的尝试,可以看看先把A改掉之后再看之前没报错的B会不会报错 2.假设1种测试出只有A会报错,另外代码的用法并不会报错,那么可以猜测这个bug和你具体的code里面怎么用的有关系了,那假设你主代码区用了这个interface的东西,你可以尝试先注释掉【正确的和不正确的同 ...
发表于 2017-3-15 16:12:47 | 显示全部楼层
1.如果这个bug是针对两个文件都会出,只不过它先编译了你的文件A,A报错之后可能B还没有报,但是并不代表B没有错,所以假设你是在同一个project中,并且还没有做类似的尝试,可以看看先把A改掉之后再看之前没报错的B会不会报错
2.假设1种测试出只有A会报错,另外代码的用法并不会报错,那么可以猜测这个bug和你具体的code里面怎么用的有关系了,那假设你主代码区用了这个interface的东西,你可以尝试先注释掉【正确的和不正确的同时注释】,只保留端口,那么再编译看看是否会报错
3.如果2只保留端口还报错,而且还是只有原来错误的那个模块会报错,那么就比较奇怪了
 楼主| 发表于 2017-3-15 16:53:54 | 显示全部楼层
`timescale 1ns/1ps
module axi_stream_packet_fifo_B1 #(        
       parameter DEPTH   = 2,   //2-4        
       parameter CSIZE   = 1
)(        
      input [CSIZE-1:0]           in_cdata,        
      output[CSIZE-1:0]          out_cdata,        
      output logic[15:0]           empty_size,        
      axi_stream_inf.slaver      axis_in,      
      axi_stream_inf.master     axis_out
);
 楼主| 发表于 2017-3-16 15:14:31 | 显示全部楼层
难道用systemverilog的就那么少么?
发表于 2017-3-16 15:44:31 | 显示全部楼层
恩,要给你顶顶!
 楼主| 发表于 2017-3-16 16:20:02 | 显示全部楼层
回复 5# 离场悲剧

针对问题一,A和B是相互替换关系,同样的工程A不报错,B报错。问题二,如果我只是端口全部替换成wire型,里面代码一点不动,再在模块里面定义interface,把wire直接连到interface上,这样是不会报错的

三,端口,如果不用interface modport则汇报 类型未定义错误
 楼主| 发表于 2017-3-16 16:42:18 | 显示全部楼层
回复 5# 离场悲剧


   目前的猜测,可能是你说的第2条,只是vivado不能准确的报告错误,当我把wire型端口的已经编译过的模块,再次修改成interface后已经OK,尝试把出来端口的代码都删了也应该可以。
这个应该就是遇到代码错误,vivado 无法解析port口,按错误后进先出。然后抛出的port解析错误
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /3 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-4-20 01:07 , Processed in 0.028532 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表