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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3916|回复: 3

[求助] 请教generate语句的适用位置

[复制链接]
发表于 2013-6-14 11:31:51 | 显示全部楼层 |阅读模式

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

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

x
请问generate语句是否可以放在task中?可不可以在generate语句中调用task?generate中是否可以包含fork join_none??? 在sv中
 楼主| 发表于 2013-6-14 14:03:38 | 显示全部楼层
还想问是否可以将generate语句放在class里面
发表于 2013-6-14 14:35:57 | 显示全部楼层
generate不属于sv的新特性,是verilog2001的新特性

在IEEE std1364-2001手册中可以查到,帮忙贴一段,如下(其它相关的lz可以自己搜一下):
genvar i;
generate
case ({MEM_SIZE, MEM_WIDTH})
{32’d8, 32’d16}: // 8Meg 16 bits wide.
begin
for (i=0;i<4;i = i + 1)
begin:word
sms_16b216t0 p
(.clk(clk), .csb(csx), .cke(cke), .ba(ba[0]),
.addr(adr[10:0]),...rasb(rasx), .casb(casx),
.web(wex),.udqm(dqm[2*i+1]), .ldqm(dqm[2*i]),
...dqi(data[15+16*i:16*i]), .dev_id(dev_id3[4:0])
);
end
task read_mem;
input [31:0] address;
output [63:0] data;
begin
word[3].p.read_mem(address, data[63:48]);
word[2].p.read_mem(address, data[47:32]);
word[1].p.read_mem(address, data[31:16]);
word[0].p.read_mem(address, data[15:0]);
end
endtask
end
// The generated instance names are word[3].p, word[2].p,
// word[1].p, word[0].p, and the task read_mem
{32’d16, 32’d8}: // 16Meg 8 bits wide.
begin
for (i=0;i<4;i = i + 1)
begin:byte
sms_16b208t0 p
(.clk(clk), .csb(csx), .cke(cke), .ba(ba[0]),
.addr(adr[10:0]),
...rasb(rasx), .casb(casx), .web(wex), .dqm(dqm[i]),
.dqi(data[8+8*i:8*i]),...dev_id(dev_id7[4:0])
);
end
task read_mem;
input [31:0] address;
output [63:0] data;
begin
byte[7].p.read_mem(address, data[63:56]);
byte[6].p.read_mem(address, data[55:48]);
byte[5].p.read_mem(address, data[47:40]);
byte[4].p.read_mem(address, data[39:32]);
byte[3].p.read_mem(address, data[31:24]);
byte[2].p.read_mem(address, data[23:16]);
byte[1].p.read_mem(address, data[15:8]);
byte[0].p.read_mem(address, data[7:0]);
end
endtask
.....
endcase
endgenerate
发表于 2013-6-16 15:38:54 | 显示全部楼层
generate一般用来批量实例化模块或者批量assign,放的位置和实例化模块语法、assign语法放的位置是一样的。
我没试过可不可以,感觉应该不可以,就算可以一般也不会这么用。
比较好奇LZ为什么想把它放到task、fork join、class里。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-23 05:06 , Processed in 0.023681 second(s), 10 queries , Gzip On, Redis On.

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