[Oberon] FPGA Oberon - Reset Button

Magnus Karlsson 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)
> begin
>    rst <= ((cnt1[4:0] == 0) & limit) ? ~btn[3] : rst;
> ...

On Pepino, the pusbutton signal is OR'd with btn[3], like this:

always @(posedge clk)
begin
   rst <= ((cnt1[4:0] == 0) & limit) ? ~(btn[3] | 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 
connector.

It would be a minor change to the Verilog code to make it reload the 
bitfile
instead of aborting the current command.

> HTH
> Paul
>
Magnus


More information about the Oberon mailing list