Whenever I pass the following behavioral code through Design Vision synthesizer, I get the FFGEN instances, meaning the synthesizer is treating my logic as having latch, even though it's supposed to be completely combinational.
Code:
module decoder(input [1:0] Op,
input [5:0] Funct,
output reg[9:0] controls);
// Main Decoder
always @(*) begin
case(Op)
// Data-processing immediate
2'b00: if (Funct[5]) controls = 10'b0000101001;
// Data-processing register
else controls = 10'b0000001001;
// LDR
2'b01: if (Funct[0]) controls = 10'b0001111000;
// STR
else controls = 10'b1001110100;
// B
2'b10: controls = 10'b0110100010;
endcase
end
endmodule
Could anyone advise how to modify the code so that I can use my own design library for the output structural verilog