--- Quote Start ---
Why don't you like the idea of having a generic at the top-level of your design. If the generic is simply DEVICE_FAMILY, or VENDOR and DEVICE, if you are playing with Altera, Xilinx, and Lattice devices. Down in the lower levels of your code, you can have generate statements based on the generics.
The top-level simulation, synthesis, and TimeQuest scripts can all use the same generic values to determine their operation.
Cheers,
Dave
--- Quote End ---
Probably because I belong to the stubborn class of people :)
I haven't considered using Xilinx or Lattice or another FPGA vendor. In fact I once selected Lattice for a project, even bought the SW and then got stage-fever and stayed with Altera ... the profits didn't weigh off against the learning/experience curve.
But even if I would port a project to another FPGA type, I still would try to take the decision at the lowest level. Propagating the Device Type from the top level down to the lowest module via generics doesn't sound appealing to me. The same holds for a Project Package because then to develop the lower-level modules I would need to include a Project Package, just adding more clutter. The AHDL predefined "DEVICE_FAMILY" parameter was just nice. As a stopgap I will probably do what I described to Tricky
I don't use any scripts to do top-level synthesis, simulation or to run TimeQuest, doing everything from within the Quartus environment(s).