Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Describe what the following warning from the Xilinx XST synthesizer is indicatin

ID: 3685891 • Letter: D

Question

Describe what the following warning from the Xilinx XST synthesizer is indicating and how you would fix the code to eliminate the warning. WARNING:Xst:737 - Found 7-bit latch for . Latches may be generated from incomplete case or if statements. We do not recommend the use of latches in FPGA/CPLD designs, as they may lead to timing problems. Module BCD2Seg7(BCD, disp); input (3:0) BCD; output reg [6:0]disp; always@(BCD) begin case (BCD[3:0]) 8'h00:disp = 7'b0000001; 8'h01:disp = 7'b1001111; 8'h02:disp = 7'b0010010; 8'h03:disp = 7'b0000110; 8'h04:disp = 7'b1001100; 8'h05:disp = 7'b0100100; 8'h06:disp = 7'b0100000; 8'h07:disp = 7'b0001111; 8'h08:disp = 7'b0000000; 8'h09:disp = 7'b0000100; endcase end endmodule

Explanation / Answer

This warning indicates that the code create latches because there is no provision for the case when bcd goes from 10 to 15, rememeber; the code bcd is 4 digits. so, what could happen some of this code goes to BCD

We have 2 options to avoid this warning;

1st make a default option for the rest of options

..

...

8'h08: disp=7'b0000000;

8'h09: disp=7'b0000100;

default: disp=7'b1111111;

endcase

In this way the display will be turn off

2nd make multiples option; one for each case (by example you could make the letters a,b,c,d,e,f,)

making all off

..

...

8'h08: disp=7'b0000000;

8'h09: disp=7'b0000100;

8'h10: disp=7'b1111111;

8'h11: disp=7'b1111111;

8'h12: disp=7'b1111111;

8'h13: disp=7'b1111111;

8'h14: disp=7'b1111111;

8'h15: disp=7'b1111111;

making letters

..

...

8'h08: disp=7'b0000000;

8'h09: disp=7'b0000100;

8'h10: disp=7'b0001000;

8'h11: disp=7'b1110000;

8'h12: disp=7'b0110001;

8'h13: disp=7'b1000010;

8'h14: disp=7'b0110000;

8'h15: disp=7'b0111000;