gitextract_gd2ymr2z/ ├── .gitignore ├── cpu/ │ ├── alu/ │ │ ├── alu.bdf │ │ ├── alu.bsf │ │ ├── alu.v │ │ ├── alu_bit_select.bdf │ │ ├── alu_bit_select.bsf │ │ ├── alu_bit_select.v │ │ ├── alu_control.bdf │ │ ├── alu_control.bsf │ │ ├── alu_control.v │ │ ├── alu_core.bdf │ │ ├── alu_core.bsf │ │ ├── alu_core.v │ │ ├── alu_flags.bdf │ │ ├── alu_flags.bsf │ │ ├── alu_flags.v │ │ ├── alu_mux_2.bdf │ │ ├── alu_mux_2.bsf │ │ ├── alu_mux_2.v │ │ ├── alu_mux_2z.bdf │ │ ├── alu_mux_2z.bsf │ │ ├── alu_mux_2z.v │ │ ├── alu_mux_3z.bdf │ │ ├── alu_mux_3z.bsf │ │ ├── alu_mux_3z.v │ │ ├── alu_mux_4.bdf │ │ ├── alu_mux_4.bsf │ │ ├── alu_mux_4.v │ │ ├── alu_mux_8.bdf │ │ ├── alu_mux_8.bsf │ │ ├── alu_mux_8.v │ │ ├── alu_prep_daa.bdf │ │ ├── alu_prep_daa.bsf │ │ ├── alu_prep_daa.v │ │ ├── alu_select.bdf │ │ ├── alu_select.bsf │ │ ├── alu_select.v │ │ ├── alu_shifter_core.bdf │ │ ├── alu_shifter_core.bsf │ │ ├── alu_shifter_core.v │ │ ├── alu_slice.bdf │ │ ├── alu_slice.bsf │ │ ├── alu_slice.v │ │ ├── simulation/ │ │ │ └── modelsim/ │ │ │ ├── r │ │ │ ├── test_alu.mpf │ │ │ ├── wave_alu.do │ │ │ ├── wave_core.do │ │ │ ├── wave_mux_3z.do │ │ │ ├── wave_prep_daa.do │ │ │ ├── wave_shifter_core.do │ │ │ └── wave_slice.do │ │ ├── test_alu.qpf │ │ ├── test_alu.qsf │ │ ├── test_alu.sv │ │ ├── test_core.sv │ │ ├── test_mux_3z.sv │ │ ├── test_prep_daa.sv │ │ ├── test_shifter_core.sv │ │ └── test_slice.sv │ ├── bus/ │ │ ├── address_latch.bdf │ │ ├── address_latch.bsf │ │ ├── address_latch.v │ │ ├── address_mux.bdf │ │ ├── address_mux.bsf │ │ ├── address_mux.v │ │ ├── address_pins.bdf │ │ ├── address_pins.bsf │ │ ├── address_pins.v │ │ ├── bus_control.bdf │ │ ├── bus_control.bsf │ │ ├── bus_control.v │ │ ├── bus_switch.bsf │ │ ├── bus_switch.v │ │ ├── control_pins_n.bdf │ │ ├── control_pins_n.bsf │ │ ├── control_pins_n.v │ │ ├── data_pins.bdf │ │ ├── data_pins.bsf │ │ ├── data_pins.v │ │ ├── data_pins_lattice.v │ │ ├── data_switch.bdf │ │ ├── data_switch.bsf │ │ ├── data_switch.v │ │ ├── data_switch_mask.bdf │ │ ├── data_switch_mask.bsf │ │ ├── data_switch_mask.v │ │ ├── inc_dec.bdf │ │ ├── inc_dec.bsf │ │ ├── inc_dec.v │ │ ├── inc_dec_2bit.bdf │ │ ├── inc_dec_2bit.bsf │ │ ├── inc_dec_2bit.v │ │ ├── simulation/ │ │ │ └── modelsim/ │ │ │ ├── r │ │ │ ├── test_bus.mpf │ │ │ ├── wave_bus.do │ │ │ └── wave_pins.do │ │ ├── test_bus.qpf │ │ ├── test_bus.qsf │ │ ├── test_bus.sv │ │ └── test_pins.sv │ ├── control/ │ │ ├── Timings.csv │ │ ├── Timings.xlsm │ │ ├── clk_delay.bdf │ │ ├── clk_delay.bsf │ │ ├── clk_delay.v │ │ ├── decode_state.bdf │ │ ├── decode_state.bsf │ │ ├── decode_state.v │ │ ├── exec_matrix.vh │ │ ├── exec_matrix_compiled.vh │ │ ├── exec_module.vh │ │ ├── exec_zero.vh │ │ ├── execute.bsf │ │ ├── execute.v │ │ ├── gencompile.py │ │ ├── genmatrix.py │ │ ├── genref.py │ │ ├── interrupts.bdf │ │ ├── interrupts.bsf │ │ ├── interrupts.v │ │ ├── ir.bdf │ │ ├── ir.bsf │ │ ├── ir.v │ │ ├── memory_ifc.bdf │ │ ├── memory_ifc.bsf │ │ ├── memory_ifc.v │ │ ├── pin_control.bdf │ │ ├── pin_control.bsf │ │ ├── pin_control.v │ │ ├── pla_decode.bsf │ │ ├── pla_decode.v │ │ ├── resets.bdf │ │ ├── resets.bsf │ │ ├── resets.v │ │ ├── sequencer.bdf │ │ ├── sequencer.bsf │ │ ├── sequencer.v │ │ ├── simulation/ │ │ │ └── modelsim/ │ │ │ ├── r │ │ │ ├── test_control.mpf │ │ │ ├── wave_interrupts.do │ │ │ ├── wave_pin_control.do │ │ │ ├── wave_reset.do │ │ │ └── wave_sequencer.do │ │ ├── temp_wires.vh │ │ ├── test_control.qpf │ │ ├── test_control.qsf │ │ ├── test_decode.sv │ │ ├── test_interrupts.sv │ │ ├── test_pin_control.sv │ │ ├── test_reset.sv │ │ ├── test_sequencer.sv │ │ └── timing_macros.i │ ├── copyleft.txt │ ├── export.py │ ├── readme.txt │ ├── registers/ │ │ ├── reg_control.bdf │ │ ├── reg_control.bsf │ │ ├── reg_control.v │ │ ├── reg_file.bdf │ │ ├── reg_file.bsf │ │ ├── reg_file.v │ │ ├── reg_latch.bdf │ │ ├── reg_latch.bsf │ │ ├── reg_latch.v │ │ ├── simulation/ │ │ │ └── modelsim/ │ │ │ ├── r │ │ │ ├── test_registers.mpf │ │ │ ├── wave_latch.do │ │ │ ├── wave_regfile.do │ │ │ └── wave_registers.do │ │ ├── test_latch.sv │ │ ├── test_regfile.sv │ │ ├── test_registers.qpf │ │ ├── test_registers.qsf │ │ └── test_registers.sv │ ├── top-level-files.txt │ └── toplevel/ │ ├── core.vh │ ├── coremodules.vh │ ├── fuse/ │ │ ├── README │ │ ├── regress.expected │ │ ├── regress.in │ │ ├── tests.expected │ │ └── tests.in │ ├── gencoremodules.py │ ├── genfuse.py │ ├── genglobals.py │ ├── globals.vh │ ├── simulation/ │ │ └── modelsim/ │ │ ├── io.hex │ │ ├── r │ │ ├── ram.hexdump │ │ ├── test_top.mpf │ │ ├── wave_fuse.do │ │ └── wave_top.do │ ├── tb_io.sv │ ├── tb_iorq.sv │ ├── tb_ram.sv │ ├── test_fuse.sv │ ├── test_fuse.vh │ ├── test_top.sv │ ├── toplevel.bdf │ ├── toplevel.qpf │ ├── toplevel.qsf │ ├── z80.svh │ ├── z80_top_direct_n.v │ └── z80_top_ifc_n.sv ├── docs/ │ ├── A-Z80_UsersGuide.docx │ ├── QuickStart.docx │ └── Spectrum-VGA-timings.xlsx ├── host/ │ ├── basic_de1/ │ │ ├── basic_de1.qpf │ │ ├── basic_de1.qsf │ │ ├── basic_de1.sdc │ │ ├── basic_de1_ModelSim.sv │ │ ├── basic_de1_fpga.sv │ │ ├── fpga.hex │ │ ├── pll.ppf │ │ ├── pll.qip │ │ ├── pll.v │ │ ├── ram.qip │ │ ├── ram.v │ │ ├── readme.txt │ │ ├── simulation/ │ │ │ └── modelsim/ │ │ │ ├── fpga.hex │ │ │ ├── r │ │ │ ├── test_host.mpf │ │ │ └── wave_host.do │ │ └── test_host.sv │ ├── basic_nexys3/ │ │ ├── Nexys3_master.ucf │ │ ├── basic_nexys3.xise │ │ ├── basic_nexys3_fpga.v │ │ ├── cscope.cdc │ │ ├── ipcore_dir/ │ │ │ ├── clock/ │ │ │ │ ├── example_design/ │ │ │ │ │ ├── clock_exdes.ucf │ │ │ │ │ ├── clock_exdes.v │ │ │ │ │ └── clock_exdes.xdc │ │ │ │ ├── implement/ │ │ │ │ │ ├── implement.bat │ │ │ │ │ ├── implement.sh │ │ │ │ │ ├── planAhead_ise.bat │ │ │ │ │ ├── planAhead_ise.sh │ │ │ │ │ ├── planAhead_ise.tcl │ │ │ │ │ ├── planAhead_rdn.bat │ │ │ │ │ ├── planAhead_rdn.sh │ │ │ │ │ ├── planAhead_rdn.tcl │ │ │ │ │ ├── xst.prj │ │ │ │ │ └── xst.scr │ │ │ │ └── simulation/ │ │ │ │ ├── clock_tb.v │ │ │ │ ├── functional/ │ │ │ │ │ ├── simcmds.tcl │ │ │ │ │ ├── simulate_isim.bat │ │ │ │ │ ├── simulate_isim.sh │ │ │ │ │ ├── simulate_mti.bat │ │ │ │ │ ├── simulate_mti.do │ │ │ │ │ ├── simulate_mti.sh │ │ │ │ │ ├── simulate_ncsim.sh │ │ │ │ │ ├── simulate_vcs.sh │ │ │ │ │ ├── ucli_commands.key │ │ │ │ │ ├── vcs_session.tcl │ │ │ │ │ ├── wave.do │ │ │ │ │ └── wave.sv │ │ │ │ └── timing/ │ │ │ │ ├── clock_tb.v │ │ │ │ ├── sdf_cmd_file │ │ │ │ ├── simcmds.tcl │ │ │ │ ├── simulate_isim.sh │ │ │ │ ├── simulate_mti.bat │ │ │ │ ├── simulate_mti.do │ │ │ │ ├── simulate_mti.sh │ │ │ │ ├── simulate_ncsim.sh │ │ │ │ ├── simulate_vcs.sh │ │ │ │ ├── ucli_commands.key │ │ │ │ ├── vcs_session.tcl │ │ │ │ └── wave.do │ │ │ ├── clock.asy │ │ │ ├── clock.gise │ │ │ ├── clock.ucf │ │ │ ├── clock.v │ │ │ ├── clock.veo │ │ │ ├── clock.xco │ │ │ ├── clock.xise │ │ │ ├── coregen.cgp │ │ │ ├── ila.asy │ │ │ ├── ila.cdc │ │ │ ├── ila.constraints/ │ │ │ │ ├── ila.ucf │ │ │ │ └── ila.xdc │ │ │ ├── ila.gise │ │ │ ├── ila.ncf │ │ │ ├── ila.ngc │ │ │ ├── ila.sym │ │ │ ├── ila.ucf │ │ │ ├── ila.v │ │ │ ├── ila.veo │ │ │ ├── ila.xco │ │ │ ├── ila.xdc │ │ │ ├── ila.xise │ │ │ └── ila_xmdf.tcl │ │ ├── ram.v │ │ ├── readme.txt │ │ ├── test_host.v │ │ └── work/ │ │ └── ram.mif │ ├── common/ │ │ ├── uart.v │ │ ├── wait_state.bdf │ │ ├── wait_state.bsf │ │ └── wait_state.v │ └── zxspectrum_de1/ │ ├── pll.ppf │ ├── pll.qip │ ├── pll.v │ ├── ram16.qip │ ├── ram16.v │ ├── readme.txt │ ├── rom/ │ │ ├── assemble.bat │ │ ├── combined.rom │ │ ├── gw03.rom │ │ ├── readme.txt │ │ ├── tasm80.tab │ │ └── zxspectrum_rom.asm │ ├── ula/ │ │ ├── clocks.sv │ │ ├── i2c_loader.vhd │ │ ├── i2s_intf.vhd │ │ ├── pll.ppf │ │ ├── pll.qip │ │ ├── pll.v │ │ ├── ps2_kbd.sv │ │ ├── ram8.qip │ │ ├── ram8.v │ │ ├── test_scr.hex │ │ ├── test_ula.qpf │ │ ├── test_ula.qsf │ │ ├── test_ula.sv │ │ ├── ula.sv │ │ ├── video.sv │ │ └── zx_kbd.sv │ ├── zxspectrum_de1.qpf │ ├── zxspectrum_de1.qsf │ ├── zxspectrum_de1.sdc │ └── zxspectrum_de1.sv ├── license.txt ├── modelsim_pre_commit.py ├── modelsim_setup.py ├── readme.txt ├── resources/ │ ├── connotate-fuse.bat │ ├── connotate-fuse.py │ ├── opcodes-cb-xx.txt │ ├── opcodes-dd-cb.txt │ ├── opcodes-dd-xx.txt │ ├── opcodes-ed-xx.txt │ ├── opcodes-fd-cb.txt │ ├── opcodes-fd-xx.txt │ ├── opcodes-xx.txt │ ├── process-pla.py │ ├── title-custom-medium.bsf │ ├── title-custom-small.bsf │ ├── z80-pla-original.txt │ └── z80-pla.txt └── tools/ ├── Arduino/ │ └── Z80_dongle/ │ └── Z80_dongle.ino ├── dongle/ │ ├── cb.html │ ├── daa/ │ │ ├── daa-concise.txt │ │ ├── daa_a-00.out │ │ ├── daa_a-0c.out │ │ ├── daa_a-h0.out │ │ ├── daa_a-hc.out │ │ ├── daa_s-00.out │ │ ├── daa_s-0c.out │ │ ├── daa_s-h0.out │ │ ├── daa_s-hc.out │ │ ├── simulate-daa.py │ │ └── z80-instruction-test-daa.py │ ├── dd.html │ ├── ddcb.html │ ├── ed.html │ ├── neg/ │ │ ├── neg-concise.txt │ │ ├── neg.out │ │ ├── simulate-neg.py │ │ └── z80-instruction-test-neg.py │ ├── sbc/ │ │ ├── simulate-sbc.py │ │ └── simulate-sub.py │ ├── xx.html │ ├── z80-instruction-run-cb.py │ ├── z80-instruction-run-dd-cb.py │ ├── z80-instruction-run-dd.py │ ├── z80-instruction-run-ed.py │ ├── z80-instruction-run-xx.py │ └── z80-instruction-run.bat ├── readme.txt ├── z80_pla_checker/ │ ├── readme.txt │ └── source/ │ ├── ClassLog.cs │ ├── ClassOpcodeTable.cs │ ├── ClassPLA.cs │ ├── ClassPLAEntry.cs │ ├── FormMain.Designer.cs │ ├── FormMain.cs │ ├── FormMain.resx │ ├── Program.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── app.config │ ├── z80_pla_checker.csproj │ └── z80_pla_checker.sln └── zmac/ ├── bin2coe.py ├── bin2hex.txt ├── bin2mif.py ├── bindump.py ├── hello_world.asm ├── make_fpga.bat ├── make_modelsim.bat ├── readme.txt ├── test.daa.asm ├── test.neg.asm ├── zexall.asm ├── zexdoc.asm └── zmac.html