<html><body>Hi Magnus, Hi Paul,<div><br></div><div>Yes, now I see, I am sorry for asking when it should be obvious from the verilog source.</div><div>I am studying the code, while trying to get myself on a free verilog course for beginners.</div><div><br></div><div>BTW, are there some of the original machines, Lilith, Ceres still preserved at ETH? </div><div><br></div><div>Tomas</div><div><br><p>---------- Původní zpráva ----------<br>Od: Magnus Karlsson <magnus@saanlima.com><br>Komu: paulreed@paddedcell.com, ETH Oberon and related systems <oberon@lists.inf.ethz.ch><br>Datum: 23. 3. 2017 0:37:10<br>Předmět: Re: [Oberon] FPGA Oberon - Reset Button</p><br><blockquote>On 3/22/2017 12:43 PM, Paul Reed wrote:
<br>> Hi Tomas,
<br>>
<br>>> I wish to install reset switch, which pin header / button is the reset?
<br>> ...
<br>>> Connector J8
<br>>>
<br>>> 5V GND GPIO0 GPIO1 GPIO2 GPIO3 GPIO4 GPIO5 GPIO6 GPIO7
<br>>>
<br>>> 3.3V GND BTN0 BTN1 BTN2 BTN3 N/C N/C N/C N/C
<br>> On the Spartan 3 board btn3 is marked "User Reset" but since you have (I
<br>> believe) a Pepino you wouldn't necessarily know that. :)
<br>>
<br>> The relevant line in Prof. Wirth's Verilog is in RISC5Top.v, near the bottom:
<br>>
<br>> ...
<br>> always @(posedge clk)
<br>> begin
<br>>    rst <= ((cnt1[4:0] == 0) & limit) ? ~btn[3] : rst;
<br>> ...
<br>
<br>On Pepino, the pusbutton signal is OR'd with btn[3], like this:
<br>
<br>always @(posedge clk)
<br>begin
<br>   rst <= ((cnt1[4:0] == 0) & limit) ? ~(btn[3] | button) : rst;
<br>
<br>So you can either use the BTN3 signal available in the I/O header or the 
<br>pushbutton to do the reset.
<br>
<br>> Note that this reset merely aborts the current Oberon command and returns
<br>> to the main loop, like the Interrupt key on the Ceres.
<br>>
<br>> There isn't an I/O signal which does a cold reset of the Oberon system in
<br>> the way a PC reset button works, since the Spartan 3 board has a
<br>> pushbutton called "Prog" which reloads the FPGA configuration (forcing a
<br>> complete cold start of the hardware).
<br>>
<br>> >From the Pepino schematic it looks like Magnus has the Spartan 6 FPGA PROG
<br>> pin just pulled high (signal PROGRAM_B) by resistor R32.  You could try
<br>> grounding the other side of the resistor to get the same effect as the
<br>> PROG button - but take care not to destroy your board obviously!
<br>
<br>Or just power-cycle the board, it has the same effect.
<br>
<br>>
<br>> There is a pushbutton on the Pepino, marked "BUTTON" on the schematic, but
<br>> you'd have to change the Verilog and reprogram the board if you wanted to
<br>> use that as btn3.
<br>
<br>See above, the pushbutton is OR'd with the btn3 signal from the I/O 
<br>connector.
<br>
<br>It would be a minor change to the Verilog code to make it reload the 
<br>bitfile
<br>instead of aborting the current command.
<br>
<br>> HTH
<br>> Paul
<br>>
<br>Magnus
<br>--
<br>Oberon@lists.inf.ethz.ch mailing list for ETH Oberon and related systems
<br>https://lists.inf.ethz.ch/mailman/listinfo/oberon
<br></blockquote></div></body></html>