Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
13 years ago

EPF10K10 and CPU reset using INIT_DONE

Hi There!

Yes, I'm using an EPF10k10 :-) So I'm considering using INIT_DONE to hold my Z80 in reset during configuration. I'd also like to be able to manually reset, so I'd like to know if I can just add a switch to ground between the 1k pull-up and INIT_DONE.

There's some ambiguity as to whether or not the pin will tri-state or not, hence my question. To clarify:

^ vcc

|

/

\ 1K

/

+------------ INIT_DONE (also connected to z80 reset )

|

|

/ NO switch

/

|

|

+ gnd

anyone see anything wrong with this? The Z80 will make sure the FPGA registers will be reset using a regular write.

Cheers,

-Mux

4 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    A slight alternative to your approach is to use a reset supervisor IC. For example, look on page 95:

    http://www.ovro.caltech.edu/~dwh/carma_board/gda06rb004_carma_v0.87_dec03.pdf

    The inputs to the reset supervisor are;

    1) A front panel push-button reset

    2) PCI reset

    3) CONF_DONE from the system controller FPGA

    (you could also use INIT_DONE).

    The CONF_DONE signal drives a tri-state buffer to ensure that it drives the reset input open-drain. If INIT_DONE is driven, then you can use the same approach for your circuit.

    Using a reset supervisor has the added advantage when dealing with a push-button of debouncing the signal.

    If you only have your CPU and INIT_DONE as the reset sources, then you would not need the reset supervisor, however, you might want to use the tri-state drivers to create a common reset with multiple drivers.

    Cheers,

    Dave
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Hi!

    Thanks for the reply!

    While a reset supervisor is definitely handy, I think it's a little overkill for my project famous last words) That said, adding a cap between GND and the switch should take care of debouncing.

    To verify: After configuration, does INIT_DONE go tristate or high / low? I'm assuming it's tristating..

    -Mux
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    To verify: After configuration, does INIT_DONE go tristate or high / low? I'm assuming it's tristating..

    --- Quote End ---

    p68 indicates that INIT_DONE is open-drain:

    http://www.altera.com/literature/hb/cfg/cfg_cf51005.pdf

    Its driven low until configuration completes. Its up to you to supply the external pull-up to make it go high.

    Cheers,

    Dave