J
jbs87
Guest
Jeg forsøger at gennemføre en MAC blokere i Verilog på en Xilinx Coolrunner 2 CPLD.Jeg bruger 2 afbrydere om bord for at skifte mellem 4 sæt af input.
modul lcd (bcd, lysdioder, ssegsel, DA, klare, clear_value, CLK, ud, out1, A1);
input [3:0] bcd;
output [1:7] lysdioder;
output [3:0] ssegsel;
reg [1:7] lysdioder;
wire [3:0] ssegsel;
input a1, DA, klare, clear_value, CLK;
produktionen ud, out1;
reg [31:0] ud, out1;
wire [15:0] a, b, clear_value;
wire [1:0] a1;
hvis (a1 == 2'b00)
begynd
ud <= ud 16'b0000000000000001 * 16'b0000000000000001;
tildele lysdioder = 7'b1001111;
ende
Problemet jeg har er, at jeg ikke synes at tilføje produktet tilbage til ud lagt sigt.out = a * b er fint, out = a er fint, men når jeg prøver at træde ud = ud a * b, det syntetiserer men simulatoren viser, at output værdi ikke kan bestemmes.Jeg har også forsøgt at gøre summen og produktet i separate, men at der ikke virkede
Enhver hjælp vil være værdsat
modul lcd (bcd, lysdioder, ssegsel, DA, klare, clear_value, CLK, ud, out1, A1);
input [3:0] bcd;
output [1:7] lysdioder;
output [3:0] ssegsel;
reg [1:7] lysdioder;
wire [3:0] ssegsel;
input a1, DA, klare, clear_value, CLK;
produktionen ud, out1;
reg [31:0] ud, out1;
wire [15:0] a, b, clear_value;
wire [1:0] a1;
hvis (a1 == 2'b00)
begynd
ud <= ud 16'b0000000000000001 * 16'b0000000000000001;
tildele lysdioder = 7'b1001111;
ende
Problemet jeg har er, at jeg ikke synes at tilføje produktet tilbage til ud lagt sigt.out = a * b er fint, out = a er fint, men når jeg prøver at træde ud = ud a * b, det syntetiserer men simulatoren viser, at output værdi ikke kan bestemmes.Jeg har også forsøgt at gøre summen og produktet i separate, men at der ikke virkede
Enhver hjælp vil være værdsat