网页
资讯
视频
图片
知道
文库
贴吧
地图
采购
进入贴吧
全吧搜索
吧内搜索
搜贴
搜人
进吧
搜标签
日
一
二
三
四
五
六
签到排名:今日本吧第
个签到,
本吧因你更精彩,明天继续来努力!
本吧签到人数:0
一键签到
成为超级会员,使用一键签到
一键签到
本月漏签
0
次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行
补签
。
连续签到:
天 累计签到:
天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月10日
漏签
0
天
verilog吧
关注:
5,360
贴子:
17,987
看贴
图片
吧主推荐
游戏
3
回复贴,共
1
页
<<返回verilog吧
>0< 加载中...
verilog初学者求助
只看楼主
收藏
回复
阳光菇
默默无闻
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
如图,想请问一下模块在例化的时候:
1.如果采用方式一,那么较小型模块的括号里面填的是“连的更大模块的引脚”吗?
2.如果采用方式二,那么 点号后面 和 括号里面 写的是小模块引脚还是大模块引脚?
3.这里面有涉及信号的事情吗?信号和引脚在代码里面怎么表示呢?
谢谢
!
IlllIIll
默默无闻
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
方法一的话实例的名字要和原来的端口一一对应,第二种在括号内声明就行
2025-06-10 00:38:11
广告
把菜全吃完
富有美誉
9
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
一般都是方式二,强烈建议看一看OpenSPARC T1/T2源码,不一定非要看明白,看看工业级代码的风格就行
ken_sun1230
默默无闻
1
该楼层疑似违规已被系统折叠
隐藏此楼
查看此楼
给你一段我写的代码,仅供参考。
一般来说我习惯用sv写了,好处是端口不用写两遍,另外端口定义里面就有方向,这样顶层instance时把端口定义部分复制过去就好,接线时也能知道方向和位宽,这部分还可以复制一份当信号声明,反正都用logic,很方便。
至于信号名,在顶层不一定需要和模块名一致,当然能一致最好,有时候做不到,比如我的例子里面,一个模块instance了20个,还是两组,不可能名字一样
generate
genvar i,k;
for (i=0;i<16;i=i+1) begin : u2
calculate_cell u_val_cal_inst(
/*input logic */ .clk_timer (clk_timer ),
/*input logic */ .rst_n (rst_n ),
/*input logic [31:0] */ .t_in (cnt_reload_new[cal_t_index[i]] ),
/*input logic [31:0] */ .d_in (dac_cnt_array[cal_in_index[i]] ),
/*input logic [31:0] */ .cal_in (calculater_input ),
/*input logic [ 4:0] */ .cal_in_off (cal_in_off[i] ),
/*input logic [ 4:0] */ .cal_lim_up (cal_lim_up[i] ),
/*input logic [ 4:0] */ .cal_lim_lo (cal_lim_lo[i] ),
/*input logic [ 4:0] */ .t_param (cal_t_param[i] ),
/*input logic [ 4:0] */ .d_param (cal_d_param[i] ),
/*input logic [ 4:0] */ .lu_param (cal_lu_param[i] ),
/*input logic [ 4:0] */ .ll_param (cal_ll_param[i] ),
/*input logic */ .lu_en (cal_lu_en[i] ),
/*input logic */ .ll_en (cal_ll_en[i] ),
/*output logic */ .uplo_overflow (cal_uplo_overflow[i] ),
/*output logic [31:0] */ .cal_out (cal_value[i] )
);
end
for (k=0;k<4;k=k+1) begin : u3
calculate_cell u_cnt_cal_inst(
/*input logic */ .clk_timer (clk_timer ),
/*input logic */ .rst_n (rst_n ),
/*input logic [31:0] */ .t_in (32'b0 ),
/*input logic [31:0] */ .d_in (dac_value_sv[cnt_dac_index[k]] ),
/*input logic [31:0] */ .cal_in (calculater_input ),
/*input logic [ 4:0] */ .cal_in_off (cnt_in_off[k] ),
/*input logic [ 4:0] */ .cal_lim_up (cnt_lim_up[k] ),
/*input logic [ 4:0] */ .cal_lim_lo (cnt_lim_lo[k] ),
/*input logic [ 4:0] */ .t_param (5'b0 ),
/*input logic [ 4:0] */ .d_param (cnt_d_param[k] ),
/*input logic [ 4:0] */ .lu_param (5'b0 ),
/*input logic [ 4:0] */ .ll_param (5'b0 ),
/*input logic */ .lu_en (cnt_lu_en[k] ),
/*input logic */ .ll_en (cnt_ll_en[k] ),
/*output logic */ .uplo_overflow (cal_uplo_overflow[k+16] ),
/*output logic [31:0] */ .cal_out (cnt_value_cal[k] )
);
end
endgenerate
登录百度账号
扫二维码下载贴吧客户端
下载贴吧APP
看高清直播、视频!
贴吧页面意见反馈
违规贴吧举报反馈通道
贴吧违规信息处理公示