If I use the following code :
always_latch begin
if (en_out) begin
display = ac[7:0];
end
end
…the synthesis step fails with the following message
[ERROR]: Synthesis failed. There are unmapped cells after synthesis.
[ERROR]: Step 1 (synthesis) failed with error:
-code 1 -level 0 -errorcode NONE -errorinfo {
while executing
"throw_error"
(procedure "check_unmapped_cells" line 7)
invoked from within
"check_unmapped_cells $final_stat_file"
(procedure "run_synthesis" line 35)
invoked from within
"run_synthesis"} -errorline 1
If the above code is changed to :
assign display = en_out ? ac[7:0] : display;
... openlane has no issue.
How latches are handled in openlane? Is it fine to use latch?