Tach auch,
wie ich mit Hilfe der SuFu herausgefunden habe, ist eine
generate-Anweisung innerhalb eines "process" unzulässig. Die Frage ist
nun, wie ich folgenden Code-Schnippsel umschreiben kann:
1 | ...
|
2 | confregs : process (clk)
|
3 | begin -- process confregs
|
4 | if (clk = '1' and clk'event) then
|
5 |
|
6 | -- DCM Register 2x 16Bit fuer M/D bei Verwendung von Spartan6
|
7 | dcmregs_spartan6 : if use_spartan6 = 1 generate
|
8 | for i in 0 to 1 loop
|
9 | if confreg_en(i) = '1' then
|
10 | dcmreg(i) <= data_in(15 downto 0);
|
11 | else
|
12 | dcmreg(i) <= dcmreg(i);
|
13 | end if;
|
14 | end loop; -- i
|
15 | end generate dcmregs_spartan6;
|
16 | ...
|
Zum Code:
Es handelt sich um Register, die nur dann erzeugt werden sollen, wenn
der VHDL-Code auf einen Spartan6 abgebildet werden soll. Gesteuert wird
dies durch das "use_spartan6"-generic (integer-Wert).
Gruß
Marten