Problem ved konstruktionen en MAC block

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

 
Du har ikke initialiseret den "out".Hvis dette er en adfærdsdata model os indledende erklæring eller bruge en reset signal at initialisere "out".Dette burde løse dit problem

 

Welcome to EDABoard.com

Sponsor

Back
Top