Hello,
Sorry for the delay. Regarding your issue, have you tried this coding before?
// Declare registers for A, B, and control signals
reg [9:0] A_out, B_out;
reg A_en, B_en;
reg [9:0] A, B;
always @(posedge clk) begin
if (C) begin
// When C is high, transfer A to B
B_out <= A; // Use non-blocking assignment
A_en <= 0;
B_en <= 1;
end else begin
// When C is low, transfer B to A
A_out <= B; // Use non-blocking assignment
A_en <= 1;
B_en <= 0;
end
end
// Drive A and B based on enable signals
always @* begin
if (A_en) begin
A = A_out;
end else begin
A = 10'bz; // High impedance when not enabled
end
if (B_en) begin
B = B_out;
end else begin
B = 10'bz; // High impedance when not enabled
end
end
Hope that helps and do let me know if I can assist you further.
Best regards,
Nazrul Naim