取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
xumoxiao
Explorer
Explorer
537 次查看
注册日期: ‎12-12-2018

关于Vivado systemverilog array of interface 问题

最近安装了vivado 19.2  查阅ug901 发现 vivado 已经可以支持 array of interface ,因此做了几个实验。

array of interface.png

我随便写了个模块

module apb3_m_test
#(
	parameter IF_ARRAY  = 2,
	parameter SIM 		= "FALSE",
	parameter DEBUG		= "FALSE"
)
(
	//------------------------------------------------
	// Port define
	//------------------------------------------------
	apb3.m			m_apb	[IF_ARRAY - 1 : 0],
	apb3.s			s_apb
);
	
	localparam DATA_WIDTH = s_apb.DATA_WIDTH;
	localparam ADDR_WIDTH = s_apb.ADDR_WIDTH;
	
	always_ff@(posedge s_apb.clk) begin
		m_apb[0].addr 		<= s_apb.addr;
		m_apb[0].enable		<= s_apb.enable;
		m_apb[0].sel		<= s_apb.sel;
		m_apb[0].wdata		<= s_apb.wdata;
		m_apb[0].write		<= s_apb.write;	
		m_apb[1].addr 		<= s_apb.addr;
		m_apb[1].enable		<= s_apb.enable;
		m_apb[1].sel		<= s_apb.sel;
		m_apb[1].wdata		<= s_apb.wdata;
		m_apb[1].write		<= s_apb.write;	
		s_apb.rdata		<= m_apb[0].rdata | m_apb[1].rdata;
		s_apb.ready		<= m_apb[0].ready | m_apb[1].ready;
		s_apb.slverr		<= m_apb[0].slverr | m_apb[1].slverr;
	end

endmodule

测试过 bus port 不能以数组的形式定义,如果没有数据,编译成功,如果有数组会报如下错误

error.png

 

应该是不支持这样的语法,想请问,是我的语法错了,还是文档编写有误,目前不支持 接口定义 array of interface.

单独定义 array of  interface(以连线的形式定义是ok的)。

我们现在的工程总线接口比较多,需要能通过参数定义多个Bus,麻烦提供修改意见。

 

0 项奖励
回复
3 回复数
xumoxiao
Explorer
Explorer
534 次查看
注册日期: ‎12-12-2018

我顶我自己!
0 项奖励
回复
xumoxiao
Explorer
Explorer
439 次查看
注册日期: ‎12-12-2018

求高手解答!
AE大佬帮帮忙~
0 项奖励
回复
xumoxiao
Explorer
Explorer
398 次查看
注册日期: ‎12-12-2018

求帮忙
0 项奖励
回复