Altera_Forum
Honored Contributor
17 years ago"Simple" delay chain mystery
I have cascaded 5 AND2 gates, and in a timing simulation compare the outputs of all of the gates against each other. Each AND2 gate has its uncascaded input connected to a PIN, and each output is brought out to a pin, in an attempt to foil having gates optimized out. All outputs transition at the same time in a timing simulation, however. I get the following explanation from Altera support:
"The output at DUMOUT5 should appear at the same time as POR. As mentioned in the previous note, you can see after compilation, actually each output is similarly connected to one MCELL. Even in the bdf design, the output DUMOUT5 is output from several and gates, QuartusII merges them to one MCELL after compilation. So the delays from input POWER_ON_RESET_EXT to output DUMOUT5 and POR are exactly same." "I attached two screen copies here. One is the Techonoly Map Viewer. You can see there is one MCELL between input POWER_ON_RESET_EXT and output DUMOUT5, similarly as POWER_ON_RESET_EXT to output POR. The five and gates to DUMOUT5 are merged to one CELL, not using five cells. Another screen copy is the tpd timing report for the two paths. The tpd values from input POWER_ON_RESET_EXT to output DUMOUT5, and input POWER_ON_RESET_EXT to output POR are same." ---end quote of support Are the chain's outputs being deliberately delayed (given varying delays) by Quartus to transition at the same time? If not, how can they all transition at the same time (remember this is NOT a functional simulation). I chose AND2 gates, so Quartus could not do something extra clever, as it might with inverters, and say "you just have a chain of inverters, so I'll pick the signals off the input or output of a single inverter." The unknown inputs to the AND2 gates require that there be 5 distinct gates. Whether or not these gates are in a single MCELL, as support points out, mustn't there be a propagation delay from one gate to the next? What am I missing here, oh wise Altera forum gurus? Thanks.