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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: 494693243

[求助] verilog port 问题

[复制链接]
发表于 2019-10-12 15:12:31 | 显示全部楼层


494693243 发表于 2019-10-12 08:49
您这种写法,看起来是简洁多了,但是我有个疑问, 您上层例化的时候,要用generate ?
...


例化数量是参数的化,就得用generate
发表于 2020-5-19 14:48:22 | 显示全部楼层
用数组写显而易见是有问题的,会把代码搞得很复杂,难以阅读,最好的办法就是用宏来区分呀;
发表于 2020-5-19 17:25:29 | 显示全部楼层
我觉得,不需要定义32个数组吧?APB总线,本来就是共享总线,在同一时间内,只有一个slave端口与AHB通信,也就是说paddr[31:0],pwdata[31:0],prdata[31:0],等都是分时复用的,只有psel 这个片选信号是32个就OK 。
 楼主| 发表于 2020-5-20 17:53:57 | 显示全部楼层
本帖最后由 494693243 于 2020-5-20 17:57 编辑


ll_ago 发表于 2020-5-19 17:25
我觉得,不需要定义32个数组吧?APB总线,本来就是共享总线,在同一时间内,只有一个slave端口与AHB通信, ...


pwdata。 paddr 这些当然是一组了, prdata presp,这些要32 组啊,每个slave 连接一组, psel 也要连接给32 个slave , 每个slave 要用一个的
发表于 2020-5-20 18:02:43 | 显示全部楼层
本帖最后由 ll_ago 于 2020-5-20 18:18 编辑


494693243 发表于 2020-5-20 17:53
pwdata。 paddr 这些当然是一组了, prdata presp,这些要32 组啊,每个slave 连接一组, psel 也要连接给 ...


那你说的通过“硬件配置slave"端口的个数,是什么意思 ?如果是软件来配置slave端口数,那就直接按最大值32来设计,需要分别开来直接定义成psel_array[31:0]……,
如果是参数化ahb2apb模块的话,直接在上一层进行参数传递就好了,不知道你纠结啥?比如:

上一层中可以通过inst例化时,进行SLAVE_NUM的参数传递;
或者上一层通过defparam xxx.ahb2apb.SLAVE_NUM= 16进行重新定义就行了。
module ahb2apb #(parameter SLAVE_NUM= 32)
(
    output  [SLAVE_NUM-1:0]  psel_array;
    input  [SLAVE_NUM-1:0]  pready_array;
);


 楼主| 发表于 2020-5-21 14:20:33 | 显示全部楼层


ll_ago 发表于 2020-5-20 18:02
那你说的通过“硬件配置slave"端口的个数,是什么意思 ?如果是软件来配置slave端口数,那就直接按最大值3 ...


用parameter 的方式传参是可以的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-4-25 08:43 , Processed in 0.020642 second(s), 7 queries , Gzip On, Redis On.

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