Find a file
Raphael Jacquot c62d562008 make it so that execution of bus programs happen
in the same cycle as the instruction
modify the way jump and rtn are handled
add some registers to the debugger
2019-03-14 16:37:51 +01:00
attic implement the basic rom, and add a few things 2019-02-25 09:17:17 +01:00
.gitignore fix gitignore 2019-03-14 13:22:15 +01:00
check.sh add script to run verilator 2019-03-14 13:32:50 +01:00
compile there, a working compile shell script 2019-03-03 14:16:58 +01:00
empty_lfe5u-85f.config fix some verilator warnings 2019-02-04 20:36:47 +01:00
gen_rom_hex.py add licence info 2019-02-06 10:40:55 +01:00
ico implement more things, test with ice40 2019-02-10 12:04:53 +01:00
icoboard.pcf implement more things, test with ice40 2019-02-10 12:04:53 +01:00
make_saturn.ESP5.ys udate makefile 2019-03-06 12:49:01 +01:00
make_saturn.ICE40.ys starts complete rewrite 2019-02-24 23:30:57 +01:00
Makefile implement ST=[01] n 2019-02-04 17:00:08 +01:00
README.md update readme 2019-03-02 17:06:23 +01:00
rom-gx-r.hex change the way the rom is encoded, makes things easier 2019-02-04 11:31:58 +01:00
run.sh implement base alu functionnality 2019-03-06 12:16:34 +01:00
saturn_alu_module.v first verilator error fixes 2019-03-14 13:33:07 +01:00
saturn_bus.v pipelining of reading from rom 2019-03-14 14:33:28 +01:00
saturn_bus_controller.v make it so that execution of bus programs happen 2019-03-14 16:37:51 +01:00
saturn_control_unit.v make it so that execution of bus programs happen 2019-03-14 16:37:51 +01:00
saturn_debugger.v make it so that execution of bus programs happen 2019-03-14 16:37:51 +01:00
saturn_def_alu.v implement base alu functionnality 2019-03-06 12:16:34 +01:00
saturn_def_buscmd.v implement more of the bus controller 2019-03-02 13:22:09 +01:00
saturn_def_debugger.v implement D0=(5) 2019-03-05 06:14:38 +01:00
saturn_hp48gx_rom.v pipelining of reading from rom 2019-03-14 14:33:28 +01:00
saturn_inst_decoder.v make it so that execution of bus programs happen 2019-03-14 16:37:51 +01:00
saturn_regs_pc_rstk.v make it so that execution of bus programs happen 2019-03-14 16:37:51 +01:00
saturn_serial.v ok. serial sort of works, except it doesn't... 2019-03-04 18:29:00 +01:00
saturn_top.v print a "." when the bus is active, but not reading 2019-03-05 06:47:02 +01:00
ulx3s_v20.lpf fix the compilation for proper use of clk_25mhz signal as clock 2019-03-03 13:03:36 +01:00
view add an extra script 2019-03-04 13:44:37 +01:00
z_test_rom-1.hex time to start over, this this is broken beyond fiddling 2019-02-24 21:54:15 +01:00
z_test_rom-2.hex time to start over, this this is broken beyond fiddling 2019-02-24 21:54:15 +01:00

Verilog implementation of the HP saturn processor

licence: GPLv3 or later

timings:

           ___________   
reset:                |____________________________________________________
                ____      ____      ____      ____      ____      ____
clk :      ____|    |____|    |____|    |____|    |____|    |____|    |____
                          _________ _________ _________ _________ _________
counter:   ______________/____0____X____1____X____2____X____3____X____0____
                          _________                               _________
phase_0:   ______________|         |_____________________________|
                                    _________
phase_1:   ________________________|         |_____________________________
                                              _________
phase_2:   __________________________________|         |___________________
                                                        _________
phase_3:   ____________________________________________|         |_________

notes for using the ULX3S

Maybe linux ujprog won't find port because of insufficient priviledge. Either run ujprog as root or have udev rule:# this is for usb-serial tty device SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
MODE="664", GROUP="dialout" this is for ujprog libusb access

ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015",
GROUP="dialout", MODE="666"