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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1984|回复: 4

[求助] vivado综合结果和RTL代码不一样

[复制链接]
发表于 2022-1-19 11:44:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
软件版本:vivado2019.2,综合策略为默认配置;;系统:win10
板级测试发现功能异常;;打开综合结果设计观察原理图发现有个模块的输入输出端口都不对,之前没有用generate___endgenerate时结果正常;;故怀疑工具的问题;;望赐教,谢谢。
出错的代码片段(简略描述一下):
module Etherctrl_top #( parameter Local_addr=1)
//该例化的模块综合出错,,综合的结果观察模块视图,,发现input output的端口都不对,
//该模块通过tx_axis_mac_.....等信号和MAC交互来控制网口的发送
eth_ctrl (.........);
//由于是多网口设计,只用一个share logic就行;;故想通过generate来实现条件编译​
​ generate
if(Local_addr==1) begin:eth_ch0
//根据输入的参数来选择例化的模块,例化的模块1
tri_mode_ethernet_mac_2_support (......)
end
else if(Local_addr==2) begin:eth_ch1
//例化的模块2
tri_mode_ethernet_mac_2 (........)
end
endgenerate
endmodule

发表于 2022-1-19 12:08:09 | 显示全部楼层
仿真过了吗
发表于 2022-1-20 11:03:34 | 显示全部楼层
使用parameter的方式来控制模块例化,个人感觉不太合适,建议lz使用预编译的反射,即使用`ifdef  `esle ifdef ……`endif这种方式。
 楼主| 发表于 2022-1-21 15:04:01 | 显示全部楼层


smarthb 发表于 2022-1-20 11:03
使用parameter的方式来控制模块例化,个人感觉不太合适,建议lz使用预编译的反射,即使用`ifdef  `esle ifd ...


一开始我也是准备用 宏定义 的方式来实现条件编译,,但是细想自己的场景好像不行啊。。。
 楼主| 发表于 2022-1-26 21:07:54 | 显示全部楼层


我将异常综合的模块 eth_ctrl 设置成OOC模式综合编译后就正常了;;没有像正常代码源文件那样综合​;;算是用另一种方式完成了综合的过程。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-16 04:28 , Processed in 0.018212 second(s), 6 queries , Gzip On, Redis On.

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