Forum Discussion
Altera_Forum
Honored Contributor
13 years ago --- Quote Start --- I didn't bother opening your file but assuming those decodes are mutually exclusive then Quartus should hopefully remove the priority scheme for you. I would get into a habit of just using case statements when you don't need priority though since you are at the mercy of your synthesis engine if you just chain a bunch of ternary operators together.. --- Quote End --- Yes, I use the ternary operator out of habit. I find it somewhat more compact (code-wise) than a case statement. Also, i have done experiments with both ternary operators and case statements and there was little difference in path delay (which, of course, is what matters once the design is synthesised). I'll keep your suggestion i mind though. --- Quote Start --- That said even with the priority removed that's a wide mux so you should consider pipelining it if you need more speed. Luckily a lot of your inputs are hardcoded so those will result in more packing into the lookup table. Probably the best spot to pipeline it would be after all the contant inputs are muxed together so that you can provide a registered copy to the secondary mux that combines it with the non-constant inputs. --- Quote End --- Yes, I will change the design such that the 'tx_tlp_dword_offset' signal is registered by a downstream M9K block RAM. This will cut down on the path delay compared to the current reg[] design which adds a couple of ns due to the muxes to get the data into the reg array. Thanks.