[Oberon] FPGA Oberon - Reset Button
magnus at saanlima.com
Thu Mar 23 00:36:53 CET 2017
On 3/22/2017 12:43 PM, Paul Reed wrote:
> Hi Tomas,
>> I wish to install reset switch, which pin header / button is the reset?
>> Connector J8
>> 5V GND GPIO0 GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7
>> 3.3V GND BTN0 BTN1 BTN2 BTN3 N/C N/C N/C N/C
> On the Spartan 3 board btn3 is marked "User Reset" but since you have (I
> believe) a Pepino you wouldn't necessarily know that. :)
> The relevant line in Prof. Wirth's Verilog is in RISC5Top.v, near the bottom:
> always @(posedge clk)
> rst <= ((cnt1[4:0] == 0) & limit) ? ~btn : rst;
On Pepino, the pusbutton signal is OR'd with btn, like this:
always @(posedge clk)
rst <= ((cnt1[4:0] == 0) & limit) ? ~(btn | button) : rst;
So you can either use the BTN3 signal available in the I/O header or the
pushbutton to do the reset.
> Note that this reset merely aborts the current Oberon command and returns
> to the main loop, like the Interrupt key on the Ceres.
> There isn't an I/O signal which does a cold reset of the Oberon system in
> the way a PC reset button works, since the Spartan 3 board has a
> pushbutton called "Prog" which reloads the FPGA configuration (forcing a
> complete cold start of the hardware).
> >From the Pepino schematic it looks like Magnus has the Spartan 6 FPGA PROG
> pin just pulled high (signal PROGRAM_B) by resistor R32. You could try
> grounding the other side of the resistor to get the same effect as the
> PROG button - but take care not to destroy your board obviously!
Or just power-cycle the board, it has the same effect.
> There is a pushbutton on the Pepino, marked "BUTTON" on the schematic, but
> you'd have to change the Verilog and reprogram the board if you wanted to
> use that as btn3.
See above, the pushbutton is OR'd with the btn3 signal from the I/O
It would be a minor change to the Verilog code to make it reload the
instead of aborting the current command.
More information about the Oberon