Estoy escribiendo código en verilog que toma A, B como entrada de 8 bits, multiplíquelos usando el método radix -4. cuando ejecuto el código, la salida de shft aparece como "xx0" y el mutipler no puede tomar el valor de la entrada A
¿Puede alguien ayudarme con eso? Este es un subcódigo:
module pha1(A,B,M ,clk,shft);
input wire[7:0] A,B;
input clk;
output reg [7:0]M;
reg [7:0] mutipler;
output reg[2:0] shft;
reg init;
initial
init=1'b0;
initial
mutipler=A;
always @(posedge clk)
begin
shft={mutipler[1],mutipler[0],init};
end
endmodule
Este es el banco de pruebas
'timescale 1ns / 1ps
module pah1tst;
reg [7:0] A;
reg [7:0] B;
reg clk;
wire [9:0] M;
wire [2:0] shft;
pha1 uut (
.A(A),
.B(B),
.M(M),
.clk(clk),
.shft
);
initial clk=0;
always #2 clk=~clk;
initial begin
A = 2;
B =5;
#5;
#34;
end
endmodule