Does the synthesizer support one or two processes?

There are two popular ways to encode a state machine in VHDL: one process or two processes. Rumor has it (and in some colleges) that two processes can lead to better equipment. Does anyone have strong evidence of this? My own preliminary tests show that there is no difference.

I am looking for reproducible experiments: VHDL code for two coding styles and features of their synthesis (which tool, which parameters).

Please help me expose or confirm the myth that the two processes lead to better synthesized equipment.

+5
source share
3 answers

"" , 20 . .

, , , .

, :

  • , , -, . , , .
  • . DC- ​​ . . , .
  • , , wait, . , , VHDL, , .
+3

, , , ( , - )! , VHDL , .

, , !

+2

, -. , . , , .

//Instances 1 clock gate
reg [7:0] value;
always @(posedge i_clk)
  if(enable)
    value <= new_value; 

//Instances 8 muxes
always @(posedge i_clk)
  if(enable)
    value <= new_value;
  else //Exhaustive so assignment always occurs
    value <= value;

- DFF. 8 , DFF . . Talus.

, else , , , casez/x shared . FSM , , FSM. , XST , - .

0

All Articles