Đưa ra một tín hiệu wire [7:0] dummy
, làm thế nào tôi có thể nối nó n
lần?
Đó là, có một ký hiệu cho những điều sau đây:
{dummy, ..., dummy} // n times
?
Đưa ra một tín hiệu wire [7:0] dummy
, làm thế nào tôi có thể nối nó n
lần?
Đó là, có một ký hiệu cho những điều sau đây:
{dummy, ..., dummy} // n times
?
Câu trả lời:
Đây là những gì tôi đã làm để lặp lại và ghép nối n lần:
{n{VARIABLE}}
Thí dụ:
module concat_n(dummy,super_dummy,clk);
input [7:0] dummy;
input clk;
output [23:0] super_dummy;
wire [7:0] dummy;
reg [23:0] super_dummy;
always @(posedge clk)
super_dummy <= {3{dummy}};
endmodule
Mô phỏng:
module test;
initial begin
$dumpfile("test.vcd");
$dumpvars(0,test);
dummy_in = 8'b10101111;
#10 dummy_in = 8'b10101010;
#10 dummy_in = 8'b11110001;
#10 dummy_in = 8'b01010011;
#10 dummy_in = 8'b00111100;
#10 dummy_in = 8'b00110011;
# 1 $finish;
end
reg clk = 0;
always #1 clk = !clk;
wire [23:0] super_dummy_out;
reg [7:0] dummy_in;
concat_n concat_3 (dummy_in, super_dummy_out, clk);
initial
$monitor("At time %d, dummy_in = 0x%h, super_dummy_out = 0x%h ",
$time, dummy_in, super_dummy_out);
endmodule
Kết quả mô phỏng: