微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 数据拼接

数据拼接

时间:10-02 整理:3721RD 点击:
写了个串型数据的拼接程序,数据分时输入,整体输出。可综合,无语法错误,但modelsim仿真输出一直为低电平,请各位大神能够指出程序中的错误,万分感谢!module test(input [31:0] text_in,output  [127:0] out
);
reg [127:0] int;
always @(text_in) begin
   int=text_in;
   int={int[127:0],32'h0};
end
assign out = int;
endmodule
激励:
module test_tb;
reg [31:0] text_in;
test uu(.text_in(text_in),
        .out(out));
initial begin
text_in=32'h11111111;
#30 text_in=32'h22222222;
#30 text_in=32'h11111111;
#30 text_in=32'h22222222;
end
endmodule

text_in 32bit,怎么会是串行数据呢  你这个不是时序电路吗?

int没放到敏感列表里面


如果将int加入敏感信号表,仿真的结果就成了out与text_in同步输出,而无法将数据拼接。我将always语句块换成了int={int[95:0],text_in};实现了拼接数据的结果,对原程序的错误依旧不清楚,但也算目标完成。谢谢楼上各位回复。

module test(input [31:0] text_in,output  [127:0] out
);
reg [127:0] int;
always @(text_in) begin
   int=text_in;
   int={int[127:0],32'h0};
end
assign out = int;
endmodule
这个地方? 你拼个160位给128位,什么意思?

你靠敏感信号表来实行并行输出?怎么也应该弄个时钟来控制吧?然后弄个计数器,每4拍输出1次。


那句是int左移32位,这样写移位是错的吗?本人初学Verilog,有错多指教。谢谢。


初学Verilog,基础略差。欠考虑,多谢指导,谢谢。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top