VHDL里面 当将一个模块例化很多实例(假如100)时
VHDL里面当将一个模块例化很多实例(假如100)时,代码中,变量的声明,模块的连接(portmap)代码编写量太大,而且一旦某个端口位宽需要修改,则修改量以100倍放大...
VHDL里面 当将一个模块例化很多实例(假如100)时,代码中,变量的声明,模块的连接(port map)代码编写量太大,而且一旦某个端口位宽需要修改,则修改量以100倍放大的,能不能有某种简单的方式来实现变量的声明、模块的连接(port map)等代码?例如用循环之类的东西?
展开
5个回答
展开全部
端口的位宽定义成参数型,或者宏定义,Verilog里面是parameter,defparam;`define
比如需要调用五次“与门”,实现下面语句
u1: and port map(out1,a1,b1);
u2: and port map(out2,a2,b2);
u3: and port map(out3,a3,b3);
u4: and port map(out4,a4,b4);
u5: and port map(out5,a5,b5);
用你最喜欢的软件把上面语句打印出来,比如用C,MATLAB,modelsim等等,直接用硬件描述语言实现连接好像不可以,只能打印出想要的语句,然后复制粘贴
例如MATLAB
num = 5;//需要调用的个数
f1=fopen('f:\copy.txt','w');
for i=1:num
temp = int2str(i);
data=strcat('','u');
data=strcat(data,temp);
data=strcat(data,': and');
data=strcat(data,' port map');
data=strcat(data,'(out');
data=strcat(data,temp);
data=strcat(data,',a');
data=strcat(data,temp);
data=strcat(data,',b');
data=strcat(data,temp);
data=strcat(data,');');
fprintf(f1,'%s\r\n',data);//循环一次打印一行语句
end
fclose(f1)
比如需要调用五次“与门”,实现下面语句
u1: and port map(out1,a1,b1);
u2: and port map(out2,a2,b2);
u3: and port map(out3,a3,b3);
u4: and port map(out4,a4,b4);
u5: and port map(out5,a5,b5);
用你最喜欢的软件把上面语句打印出来,比如用C,MATLAB,modelsim等等,直接用硬件描述语言实现连接好像不可以,只能打印出想要的语句,然后复制粘贴
例如MATLAB
num = 5;//需要调用的个数
f1=fopen('f:\copy.txt','w');
for i=1:num
temp = int2str(i);
data=strcat('','u');
data=strcat(data,temp);
data=strcat(data,': and');
data=strcat(data,' port map');
data=strcat(data,'(out');
data=strcat(data,temp);
data=strcat(data,',a');
data=strcat(data,temp);
data=strcat(data,',b');
data=strcat(data,temp);
data=strcat(data,');');
fprintf(f1,'%s\r\n',data);//循环一次打印一行语句
end
fclose(f1)
追问
虽然不是我想要的 但是分还是给你吧.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
gen_mult: FOR n in 1 to 100 GENERATE
u1: and
port map(out1(n), a1(n), b1(n));
END GENERATE;
u1: and
port map(out1(n), a1(n), b1(n));
END GENERATE;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
位宽之类的可以用generic语句来实现,但是连接就只能老老实实的例化了,这是实实在在的硬件连接,你怎么用循环来实现,呵呵
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
慢慢摸索看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
好想法,不过好像就是用port map一点点连的,坐等好的方法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询