verilog编程IP核使用 xilinx ISE
verilog编程使用乘法器IP核,仿真时输出无信号,求大神解答原因附程序modulemul(inputclk,input[7:0]in1,input[7:0]in2,o...
verilog编程使用乘法器IP核,仿真时输出无信号,求大神解答原因
附程序
module mul(
input clk,
input [7:0] in1,
input [7:0] in2,
output cout,
output [15:0] qout
);
muler mul(
.a(in1),
.b(in2),
.clk(clk),
.ce(cout),
.p(qout)
);
endmodule
module test;
// Inputs
reg clk;
reg [7:0] in1;
reg [7:0] in2;
// Outputs
wire cout;
wire [15:0] qout;
// Instantiate the Unit Under Test (UUT)
mul m(.qout(qout),.in1(in1),.in2(in2),.clk(clk),.cout(cout));
initial begin
// Initialize Inputs
clk = 0;
in1 = 0;
in2 = 0;
end
always #50 clk=~clk;
always@(posedge clk)
begin
#1 in1={$random}%256;
#3 in2={$random}%256;
end
endmodule 展开
附程序
module mul(
input clk,
input [7:0] in1,
input [7:0] in2,
output cout,
output [15:0] qout
);
muler mul(
.a(in1),
.b(in2),
.clk(clk),
.ce(cout),
.p(qout)
);
endmodule
module test;
// Inputs
reg clk;
reg [7:0] in1;
reg [7:0] in2;
// Outputs
wire cout;
wire [15:0] qout;
// Instantiate the Unit Under Test (UUT)
mul m(.qout(qout),.in1(in1),.in2(in2),.clk(clk),.cout(cout));
initial begin
// Initialize Inputs
clk = 0;
in1 = 0;
in2 = 0;
end
always #50 clk=~clk;
always@(posedge clk)
begin
#1 in1={$random}%256;
#3 in2={$random}%256;
end
endmodule 展开
2个回答
展开全部
少年,首先你有一个地方错了,例化中的.ce(cout),
这个ce的意思是clock enable,是你生成IP核的过程中设置了这个选项才会有的,叫做时钟使能,是一个输入控制信号,而不是输出
但是呢这个只会导致warning,不会导致仿不出数据,仿真结果应该会把这个信号挂Z,但是dout还是有的
我建议你,去掉调用IP核的那个模块,直接一个裸核,也是可以仿真的,然后你直接生成TEST文件,你就会看到哪些是输入,哪些是输出,然后输入给了,是肯定有输出的
然后你再写模块调用IP核,再进行TEST,一步一步来。
觉得答案可以的话,就采纳吧,有什么不懂可以继续问我,最近查文档百度财富用完了,所以在做任务,你采纳了我就有难题奖励了
这个ce的意思是clock enable,是你生成IP核的过程中设置了这个选项才会有的,叫做时钟使能,是一个输入控制信号,而不是输出
但是呢这个只会导致warning,不会导致仿不出数据,仿真结果应该会把这个信号挂Z,但是dout还是有的
我建议你,去掉调用IP核的那个模块,直接一个裸核,也是可以仿真的,然后你直接生成TEST文件,你就会看到哪些是输入,哪些是输出,然后输入给了,是肯定有输出的
然后你再写模块调用IP核,再进行TEST,一步一步来。
觉得答案可以的话,就采纳吧,有什么不懂可以继续问我,最近查文档百度财富用完了,所以在做任务,你采纳了我就有难题奖励了
帕剌斯
2024-10-30 广告
2024-10-30 广告
德国Palas 成立于1983年,总部位于德国巴登符腾堡州的卡尔斯鲁厄。作为气溶胶技术专家, Palas 致力于为用户提供气溶胶颗粒物的产生、处理、测量与分析解决方案,是该领域内全球先进的开发商和制造商。基于自身技术的独特优势,Palas ...
点击进入详情页
本回答由帕剌斯提供
展开全部
这个ce的意思是clock enable,是生成IP核的过程中设置了这个选项才会有的,叫做时钟使能,是一个输入控制信号,而不是输出
但是呢这个只会导致warning,不会导致仿不出数据,仿真结果应该会把这个信号挂Z,但是dout还是有的.
去掉调用IP核的那个模块,直接一个裸核,也是可以仿真的,然后直接生成TEST文件,就会看到哪些是输入,哪些是输出,然后输入给了,是肯定有输出的
然后再写模块调用IP核,再进行TEST,一步一步来。
但是呢这个只会导致warning,不会导致仿不出数据,仿真结果应该会把这个信号挂Z,但是dout还是有的.
去掉调用IP核的那个模块,直接一个裸核,也是可以仿真的,然后直接生成TEST文件,就会看到哪些是输入,哪些是输出,然后输入给了,是肯定有输出的
然后再写模块调用IP核,再进行TEST,一步一步来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询