Hallo,
Ich möchte in VHDL (Spartan 3E) ein Register so beschalten, dass der
Reset-Zustand abhängig von einem Input wird.
Die Implementation des Registers sieht im Moment so aus (hier nur
Schreib-Teil):
1 | -- Digital Out Register write
|
2 | process(INT_CLK, INT_RESET, INT_DIGITAL_OUT_write, INT_CYCLE_dir, INT_D, INT_CYCLE_WRITE_ACCESS_impuls)
|
3 | begin
|
4 | if INT_RESET = '1' then
|
5 | INT_DIGITAL_OUT_sig(12 downto 1) <= (others => '0');
|
6 | else
|
7 | if rising_edge(INT_CLK) then
|
8 | if INT_DIGITAL_OUT_write = '1' and INT_CYCLE_WRITE_ACCESS_impuls = '1' then
|
9 | -- DIGITAL_OUT
|
10 | INT_DIGITAL_OUT_sig(12 downto 1) <= INT_D(12 downto 0);
|
11 | end if;
|
12 | end if;
|
13 | end if;
|
14 | end process;
|
Hier müsste nun der Reset-Zustand abhängig von INT_DEFAULT_ON (noch
nicht in der Sensitivity List) gemacht werden, so in der Art:
1 | ...
|
2 | if INT_RESET = '1' then
|
3 | if INT_DEFAULT_ON = '0' then
|
4 | INT_DIGITAL_OUT_sig(12 downto 1) <= (others => '0');
|
5 | else
|
6 | INT_DIGITAL_OUT_sig(12 downto 1) <= (others => '1');
|
7 | end if;
|
8 | else
|
9 | ...
|
Hintergrund Information:
- Spartan 3E läuft synchron an Mikrocontroller Clock OUT
- Reset des Spartan 3E wird ab Mikrocontroller geschaltet
Fragen:
- Geht das?
- Ist es auch sinnvoll?
- Anforderungen an INT_DEFAULT_ON? Abclocken/synchronisieren?
Falls mein Ansatz für die Katz ist: wie könnte mein Problem sonst gelöst
werden?
Danke für die Antworten
Gruss, Martin