> Solange der Prozess nicht existiert kann ich synthetisieren.
Die Synthese klappt auch mit viel zu vielen Ports, weil die Synthese 
sich gar nicht (großartig) um das Ziel-FPGA schert.
Translate, Map und Place&Route haben dann aber Probleme: sie bekommen 
das Design nicht im FPGA unter (hier, weil zuviele IO-Ports nötig sind).
Wenn ich sowas in einem S3 PQ208 FPGA mache:
| 1 | library IEEE;
 | 
| 2 | use IEEE.STD_LOGIC_1164.ALL;
 | 
| 3 | use IEEE.NUMERIC_STD.ALL;
 | 
| 4 | 
 | 
| 5 | 
 | 
| 6 | entity ZuvielePorts is
 | 
| 7 |     Port ( clk : in  STD_LOGIC;
 | 
| 8 |            load : in  STD_LOGIC;
 | 
| 9 |            din : in  STD_LOGIC_VECTOR (127 downto 0);
 | 
| 10 |            dout : out  STD_LOGIC_VECTOR (127 downto 0));
 | 
| 11 | end ZuvielePorts;
 | 
| 12 | 
 | 
| 13 | architecture Behavioral of ZuvielePorts is
 | 
| 14 | signal counter : unsigned (127 downto 0) := (others=>'0');
 | 
| 15 | begin
 | 
| 16 |   process begin
 | 
| 17 |     wait until rising_edge(clk);
 | 
| 18 |     if (load='1') then
 | 
| 19 |        counter <= unsigned(din);
 | 
| 20 |     else
 | 
| 21 |        counter <= counter+1;
 | 
| 22 |     end if;
 | 
| 23 |   end process;
 | 
| 24 |   
 | 
| 25 |   dout <= std_logic_vector(counter);
 | 
| 26 | end Behavioral;
 | 
Dann sagt die Synthese:
| 1 | Process "Synthesize" completed successfully
 | 
Translate sagt das selbe, denn es kann die Elemente, die die Synthese 
erzeugt hat, im FPGA wiederfinden.
Map bekommt aber Probleme, weil die IO-Pins nicht ausreichen:
| 1 | ERROR:Pack:18 - The design is too large for the given device and package.
 | 
Fazit:
Bei einem Design ohne Top-Level sind alle Schritte nach der Synthese 
unnötig und kosten nur Rechenzeit. Nicht umsonst hat die Synthese im 
Design-Flow einen eigenen Menüpunkt.