Full Code of gdevic/A-Z80 for AI

master d70a4f9ab3b0 cached
407 files
7.1 MB
1.9M tokens
78 symbols
1 requests
Download .txt
Showing preview only (7,495K chars total). Download the full file or copy to clipboard to get everything.
Repository: gdevic/A-Z80
Branch: master
Commit: d70a4f9ab3b0
Files: 407
Total size: 7.1 MB

Directory structure:
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

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
# Quartus generated files and folders
*.rpt
*.done
*.rpt
*.smsg
*.summary
*.ddb
db/
incremental_db/
out/
output_files/
greybox_tmp/

# Quartus workspace file: stores window position, dock state etc.
*.qws

# ModelSim files and folders
transcript
*.mti
*.wlf
_*
_temp/
_primary.*
*.prw
*.psm
*.vstf
mgc_location_map

# Generic backup files
*~
*.bak

# Visual Studio temporary files
*.suo
*.tss
*.user
obj/
Debug/
Release/
*.DotSettings

# ZMAC assembler output directory
zout/


================================================
FILE: cpu/alu/alu.bdf
================================================
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 1991-2013 Altera Corporation
Your use of Altera Corporation's design tools, logic functions 
and other software and tools, and its AMPP partner logic 
functions, and any output files from any of the foregoing 
(including device programming or simulation files), and any 
associated documentation or information are expressly subject 
to the terms and conditions of the Altera Program License 
Subscription Agreement, Altera MegaCore Function License 
Agreement, or other applicable license agreement, including, 
without limitation, that your use is for the sole purpose of 
programming logic devices manufactured by Altera and sold by 
Altera or its authorized distributors.  Please refer to the 
applicable agreement for further details.
*/
(header "graphic" (version "1.4"))
(pin
	(input)
	(rect 1560 40 1576 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_core_R" (rect 4 9 16 64)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1576 40 1592 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_core_V" (rect 4 9 16 64)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1592 40 1608 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_core_S" (rect 4 9 16 63)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 3312 424 3488 440)
	(text "INPUT" (rect 15 6 43 16)(font "Arial" (font_size 6)))
	(text "bsel[2..0]" (rect 121 4 167 16)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 84 4)(pt 59 4))
		(line (pt 84 12)(pt 59 12))
		(line (pt 55 8)(pt 0 8))
		(line (pt 84 4)(pt 84 12))
		(line (pt 59 12)(pt 55 8))
		(line (pt 59 4)(pt 55 8))
	)
	(rotate180)
	(text "VCC" (rect 20 -1 40 9)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 3024 40 3040 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_bs_oe" (rect 4 9 16 58)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1704 40 1720 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_parity_in" (rect 4 9 16 71)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 256 32 272 208)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_oe" (rect 4 9 16 40)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 640 40 656 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_shift_oe" (rect 4 9 16 69)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1616 40 1632 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_core_cf_in" (rect 4 9 16 80)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 696 40 712 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op2_oe" (rect 4 9 16 64)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 2552 40 2568 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op1_oe" (rect 4 9 16 64)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 2432 40 2448 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_res_oe" (rect 4 9 16 62)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 2952 40 2968 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op1_sel_low" (rect 4 9 16 88)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 2968 40 2984 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op1_sel_zero" (rect 4 9 16 92)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 2936 40 2952 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op1_sel_bus" (rect 4 9 16 90)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1080 40 1096 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op2_sel_zero" (rect 4 9 16 92)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1032 40 1048 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op2_sel_bus" (rect 4 9 16 90)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1064 40 1080 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op2_sel_lq" (rect 4 9 16 80)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 2280 40 2296 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_op_low" (rect 4 9 16 62)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 336 32 352 208)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_shift_in" (rect 4 9 16 65)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1208 40 1224 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_sel_op2_neg" (rect 4 9 16 90)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 1384 40 1400 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_sel_op2_high" (rect 4 9 16 92)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 320 32 336 208)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_shift_left" (rect 4 9 16 73)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 304 32 320 208)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "alu_shift_right" (rect 4 9 16 78)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(input)
	(rect 832 40 848 216)
	(text "INPUT" (rect 6 133 16 161)(font "Arial" (font_size 6))(vertical))
	(text "clk" (rect 4 9 16 23)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 4 92)(pt 4 117))
		(line (pt 12 92)(pt 12 117))
		(line (pt 8 121)(pt 8 176))
		(line (pt 4 92)(pt 12 92))
		(line (pt 12 117)(pt 8 121))
		(line (pt 4 117)(pt 8 121))
	)
	(rotate270)
	(text "VCC" (rect -1 136 9 156)(font "Arial" (font_size 6))(vertical))
)
(pin
	(output)
	(rect 2248 40 2264 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_zero" (rect 0 46 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 2040 40 2056 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_parity_out" (rect 0 17 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 2720 40 2736 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_high_eq_9" (rect 0 17 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 2704 40 2720 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_high_gt_9" (rect 0 19 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 2688 40 2704 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_low_gt_9" (rect 0 24 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 3088 240 3264 256)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "test_db_low[3..0]" (rect 90 0 173 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 3088 624 3264 640)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "test_db_high[3..0]" (rect 90 0 178 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 560 40 576 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_shift_db0" (rect 0 20 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 576 40 592 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_shift_db7" (rect 0 20 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 2064 40 2080 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_core_cf_out" (rect 0 7 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 1656 40 1672 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_sf_out" (rect 0 35 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 1680 40 1696 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_yf_out" (rect 0 33 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 1888 40 1904 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_xf_out" (rect 0 35 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(output)
	(rect 2080 40 2096 216)
	(text "OUTPUT" (rect 0 137 10 175)(font "Arial" (font_size 6))(vertical))
	(text "alu_vf_out" (rect 0 33 12 86)(font "Arial" )(vertical))
	(pt 8 176)
	(drawing
		(line (pt 8 176)(pt 8 124))
		(line (pt 4 124)(pt 4 98))
		(line (pt 12 124)(pt 12 98))
		(line (pt 12 124)(pt 4 124))
		(line (pt 4 98)(pt 8 94))
		(line (pt 8 94)(pt 12 98))
		(line (pt 12 98)(pt 8 94))
	)
	(rotate90)
)
(pin
	(bidir)
	(rect 32 416 208 432)
	(text "BIDIR" (rect 151 0 175 10)(font "Arial" (font_size 6)))
	(text "db[7..0]" (rect 49 0 86 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 120 4)(pt 98 4))
		(line (pt 176 8)(pt 124 8))
		(line (pt 120 12)(pt 98 12))
		(line (pt 98 4)(pt 94 8))
		(line (pt 98 12)(pt 94 8))
		(line (pt 120 4)(pt 124 8))
		(line (pt 124 8)(pt 120 12))
	)
	(flipy)
	(text "VCC" (rect 152 7 172 17)(font "Arial" (font_size 6)))
)
(symbol
	(rect 2304 496 2368 544)
	(text "OR2" (rect 45 0 63 10)(font "Arial" (font_size 6)))
	(text "inst10" (rect 32 37 61 49)(font "Arial" ))
	(port
		(pt 64 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 45 23 62 35)(font "Courier New" (bold))(invisible))
		(line (pt 64 32)(pt 49 32))
	)
	(port
		(pt 64 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 45 7 62 19)(font "Courier New" (bold))(invisible))
		(line (pt 64 16)(pt 49 16))
	)
	(port
		(pt 0 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 16 24)(pt 0 24))
	)
	(drawing
		(line (pt 50 36)(pt 39 36))
		(line (pt 50 13)(pt 39 13))
		(arc (pt 57 19)(pt 57 29)(rect 45 8 78 41))
		(arc (pt 39 13)(pt 15 24)(rect 7 13 70 76))
		(arc (pt 15 24)(pt 39 35)(rect 7 -27 70 36))
	)
	(flipy)
)
(symbol
	(rect 2384 472 2448 520)
	(text "AND2" (rect 39 0 63 10)(font "Arial" (font_size 6)))
	(text "inst8" (rect 38 37 61 49)(font "Arial" ))
	(port
		(pt 64 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 45 7 62 19)(font "Courier New" (bold))(invisible))
		(line (pt 64 16)(pt 50 16))
	)
	(port
		(pt 64 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 45 23 62 35)(font "Courier New" (bold))(invisible))
		(line (pt 64 32)(pt 50 32))
	)
	(port
		(pt 0 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 22 24)(pt 0 24))
	)
	(drawing
		(line (pt 50 12)(pt 34 12))
		(line (pt 50 37)(pt 33 37))
		(line (pt 50 12)(pt 50 37))
		(arc (pt 34 12)(pt 33 37)(rect 21 12 46 37))
	)
	(flipy)
)
(symbol
	(rect 2384 520 2448 568)
	(text "AND2" (rect 39 0 63 10)(font "Arial" (font_size 6)))
	(text "inst9" (rect 38 37 61 49)(font "Arial" ))
	(port
		(pt 64 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 45 7 62 19)(font "Courier New" (bold))(invisible))
		(line (pt 64 16)(pt 50 16))
	)
	(port
		(pt 64 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 45 23 62 35)(font "Courier New" (bold))(invisible))
		(line (pt 64 32)(pt 50 32))
	)
	(port
		(pt 0 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 22 24)(pt 0 24))
	)
	(drawing
		(line (pt 50 12)(pt 34 12))
		(line (pt 50 37)(pt 33 37))
		(line (pt 50 12)(pt 50 37))
		(arc (pt 34 12)(pt 33 37)(rect 21 12 46 37))
	)
	(flipy)
)
(symbol
	(rect 2472 272 2504 320)
	(text "NOT" (rect 22 1 32 21)(font "Arial" (font_size 6))(vertical))
	(text "inst12" (rect -1 3 11 32)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 13))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 39)(pt 16 48))
	)
	(drawing
		(line (pt 7 13)(pt 25 13))
		(line (pt 25 13)(pt 16 31))
		(line (pt 7 13)(pt 16 31))
		(circle (rect 12 31 20 39))
	)
	(rotate270)
)
(symbol
	(rect 1136 472 1184 504)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "inst23" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 1136 568 1184 600)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "inst24" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 1224 408 1288 456)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst25" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 1224 456 1288 504)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst26" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 1224 504 1288 552)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst27" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 1224 552 1288 600)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst28" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 1400 456 1464 504)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst29" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 1400 504 1464 552)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst30" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 1304 432 1368 480)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst31" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 1304 528 1368 576)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst32" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 1480 480 1544 528)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst33" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 1376 272 1408 320)
	(text "NOT" (rect 22 1 32 21)(font "Arial" (font_size 6))(vertical))
	(text "inst35" (rect -1 3 11 32)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 13))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 39)(pt 16 48))
	)
	(drawing
		(line (pt 7 13)(pt 25 13))
		(line (pt 25 13)(pt 16 31))
		(line (pt 7 13)(pt 16 31))
		(circle (rect 12 31 20 39))
	)
	(rotate270)
)
(symbol
	(rect 1200 272 1232 320)
	(text "NOT" (rect 22 1 32 21)(font "Arial" (font_size 6))(vertical))
	(text "inst34" (rect -1 3 11 32)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 13))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 39)(pt 16 48))
	)
	(drawing
		(line (pt 7 13)(pt 25 13))
		(line (pt 25 13)(pt 16 31))
		(line (pt 7 13)(pt 16 31))
		(circle (rect 12 31 20 39))
	)
	(rotate270)
)
(symbol
	(rect 712 264 744 312)
	(text "TRI" (rect 0 32 10 47)(font "Arial" (font_size 6))(vertical))
	(text "inst18" (rect 21 16 33 45)(font "Arial" )(vertical))
	(port
		(pt 16 48)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 7 35 19 46)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 48)(pt 16 34))
	)
	(port
		(pt 0 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 0 11 12 22)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 12 24)(pt 0 24))
	)
	(port
		(pt 16 0)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 7 2 19 19)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 16)(pt 16 0))
	)
	(drawing
		(line (pt 25 34)(pt 7 34))
		(line (pt 25 34)(pt 16 16))
		(line (pt 7 34)(pt 16 16))
	)
	(rotate90)
)
(symbol
	(rect 712 568 744 616)
	(text "TRI" (rect 0 1 10 16)(font "Arial" (font_size 6))(vertical))
	(text "inst19" (rect 21 3 33 32)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 7 2 19 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 14))
	)
	(port
		(pt 0 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 0 26 12 37)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 12 24)(pt 0 24))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 7 32 19 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 32)(pt 16 48))
	)
	(drawing
		(line (pt 25 14)(pt 7 14))
		(line (pt 25 14)(pt 16 32))
		(line (pt 7 14)(pt 16 32))
	)
	(flipy_rotate90)
)
(symbol
	(rect 2568 568 2600 616)
	(text "TRI" (rect 0 1 10 16)(font "Arial" (font_size 6))(vertical))
	(text "mm1" (rect 21 3 33 27)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 7 2 19 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 14))
	)
	(port
		(pt 0 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 0 26 12 37)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 12 24)(pt 0 24))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 7 32 19 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 32)(pt 16 48))
	)
	(drawing
		(line (pt 25 14)(pt 7 14))
		(line (pt 25 14)(pt 16 32))
		(line (pt 7 14)(pt 16 32))
	)
	(flipy_rotate90)
)
(symbol
	(rect 2568 264 2600 312)
	(text "TRI" (rect 0 32 10 47)(font "Arial" (font_size 6))(vertical))
	(text "mm0" (rect 21 21 33 45)(font "Arial" )(vertical))
	(port
		(pt 16 48)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 7 35 19 46)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 48)(pt 16 34))
	)
	(port
		(pt 0 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 0 11 12 22)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 12 24)(pt 0 24))
	)
	(port
		(pt 16 0)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 7 2 19 19)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 16)(pt 16 0))
	)
	(drawing
		(line (pt 25 34)(pt 7 34))
		(line (pt 25 34)(pt 16 16))
		(line (pt 7 34)(pt 16 16))
	)
	(rotate90)
)
(symbol
	(rect 3040 264 3072 312)
	(text "TRI" (rect 0 32 10 47)(font "Arial" (font_size 6))(vertical))
	(text "bsg0" (rect 21 22 33 45)(font "Arial" )(vertical))
	(port
		(pt 16 48)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 7 35 19 46)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 48)(pt 16 34))
	)
	(port
		(pt 0 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 0 11 12 22)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 12 24)(pt 0 24))
	)
	(port
		(pt 16 0)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 7 2 19 19)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 16)(pt 16 0))
	)
	(drawing
		(line (pt 25 34)(pt 7 34))
		(line (pt 25 34)(pt 16 16))
		(line (pt 7 34)(pt 16 16))
	)
	(rotate90)
)
(symbol
	(rect 3040 568 3072 616)
	(text "TRI" (rect 0 1 10 16)(font "Arial" (font_size 6))(vertical))
	(text "bsg1" (rect 21 3 33 26)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 7 2 19 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 14))
	)
	(port
		(pt 0 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 0 26 12 37)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 12 24)(pt 0 24))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 7 32 19 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 32)(pt 16 48))
	)
	(drawing
		(line (pt 25 14)(pt 7 14))
		(line (pt 25 14)(pt 16 32))
		(line (pt 7 14)(pt 16 32))
	)
	(flipy_rotate90)
)
(symbol
	(rect 600 264 632 312)
	(text "TRI" (rect 22 32 32 47)(font "Arial" (font_size 6))(vertical))
	(text "shg0" (rect -1 22 11 45)(font "Arial" )(vertical))
	(port
		(pt 16 48)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 35 25 46)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 48)(pt 16 34))
	)
	(port
		(pt 32 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 20 11 32 22)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 20 24)(pt 32 24))
	)
	(port
		(pt 16 0)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 2 25 19)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 16)(pt 16 0))
	)
	(drawing
		(line (pt 7 34)(pt 25 34))
		(line (pt 7 34)(pt 16 16))
		(line (pt 25 34)(pt 16 16))
	)
	(flipx_rotate90)
)
(symbol
	(rect 600 568 632 616)
	(text "TRI" (rect 22 1 32 16)(font "Arial" (font_size 6))(vertical))
	(text "shg1" (rect -1 3 11 26)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 14))
	)
	(port
		(pt 32 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 20 26 32 37)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 20 24)(pt 32 24))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 32)(pt 16 48))
	)
	(drawing
		(line (pt 7 14)(pt 25 14))
		(line (pt 7 14)(pt 16 32))
		(line (pt 25 14)(pt 16 32))
	)
	(rotate270)
)
(symbol
	(rect 224 296 256 344)
	(text "TRI" (rect 22 1 32 16)(font "Arial" (font_size 6))(vertical))
	(text "dbg0" (rect -1 3 11 26)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 14))
	)
	(port
		(pt 32 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 20 26 32 37)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 20 24)(pt 32 24))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 32)(pt 16 48))
	)
	(drawing
		(line (pt 7 14)(pt 25 14))
		(line (pt 7 14)(pt 16 32))
		(line (pt 25 14)(pt 16 32))
	)
	(rotate270)
)
(symbol
	(rect 224 528 256 576)
	(text "TRI" (rect 22 32 32 47)(font "Arial" (font_size 6))(vertical))
	(text "dbg1" (rect -1 22 11 45)(font "Arial" )(vertical))
	(port
		(pt 16 48)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 35 25 46)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 48)(pt 16 34))
	)
	(port
		(pt 32 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 20 11 32 22)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 20 24)(pt 32 24))
	)
	(port
		(pt 16 0)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 2 25 19)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 16)(pt 16 0))
	)
	(drawing
		(line (pt 7 34)(pt 25 34))
		(line (pt 7 34)(pt 16 16))
		(line (pt 25 34)(pt 16 16))
	)
	(flipx_rotate90)
)
(symbol
	(rect 2520 392 2688 488)
	(text "alu_prep_daa" (rect 5 0 82 14)(font "Arial" (font_size 8)))
	(text "prep_daa" (rect 8 80 52 92)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "low[3..0]" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "low[3..0]" (rect 21 27 70 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(input)
		(text "high[3..0]" (rect 0 0 51 14)(font "Arial" (font_size 8)))
		(text "high[3..0]" (rect 21 43 72 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48)(line_width 3))
	)
	(port
		(pt 168 32)
		(output)
		(text "low_gt_9" (rect 0 0 53 14)(font "Arial" (font_size 8)))
		(text "low_gt_9" (rect 94 27 147 41)(font "Arial" (font_size 8)))
		(line (pt 168 32)(pt 152 32))
	)
	(port
		(pt 168 48)
		(output)
		(text "high_gt_9" (rect 0 0 55 14)(font "Arial" (font_size 8)))
		(text "high_gt_9" (rect 92 43 147 57)(font "Arial" (font_size 8)))
		(line (pt 168 48)(pt 152 48))
	)
	(port
		(pt 168 64)
		(output)
		(text "high_eq_9" (rect 0 0 59 14)(font "Arial" (font_size 8)))
		(text "high_eq_9" (rect 88 59 147 73)(font "Arial" (font_size 8)))
		(line (pt 168 64)(pt 152 64))
	)
	(drawing
		(rectangle (rect 16 16 152 80))
	)
)
(symbol
	(rect 1800 456 1960 616)
	(text "alu_core" (rect 5 0 54 14)(font "Arial" (font_size 8)))
	(text "core" (rect 8 144 29 156)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "op1[3..0]" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "op1[3..0]" (rect 21 27 70 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(input)
		(text "op2[3..0]" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "op2[3..0]" (rect 21 43 70 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48)(line_width 3))
	)
	(port
		(pt 0 64)
		(input)
		(text "cy_in" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "cy_in" (rect 21 59 51 73)(font "Arial" (font_size 8)))
		(line (pt 0 64)(pt 16 64))
	)
	(port
		(pt 0 80)
		(input)
		(text "S" (rect 0 0 8 14)(font "Arial" (font_size 8)))
		(text "S" (rect 21 75 29 89)(font "Arial" (font_size 8)))
		(line (pt 0 80)(pt 16 80))
	)
	(port
		(pt 0 96)
		(input)
		(text "V" (rect 0 0 9 14)(font "Arial" (font_size 8)))
		(text "V" (rect 21 91 30 105)(font "Arial" (font_size 8)))
		(line (pt 0 96)(pt 16 96))
	)
	(port
		(pt 0 112)
		(input)
		(text "R" (rect 0 0 8 14)(font "Arial" (font_size 8)))
		(text "R" (rect 21 107 29 121)(font "Arial" (font_size 8)))
		(line (pt 0 112)(pt 16 112))
	)
	(port
		(pt 160 32)
		(output)
		(text "result[3..0]" (rect 0 0 60 14)(font "Arial" (font_size 8)))
		(text "result[3..0]" (rect 79 27 139 41)(font "Arial" (font_size 8)))
		(line (pt 160 32)(pt 144 32)(line_width 3))
	)
	(port
		(pt 160 48)
		(output)
		(text "cy_out" (rect 0 0 38 14)(font "Arial" (font_size 8)))
		(text "cy_out" (rect 101 43 139 57)(font "Arial" (font_size 8)))
		(line (pt 160 48)(pt 144 48))
	)
	(port
		(pt 160 64)
		(output)
		(text "vf_out" (rect 0 0 36 14)(font "Arial" (font_size 8)))
		(text "vf_out" (rect 103 59 139 73)(font "Arial" (font_size 8)))
		(line (pt 160 64)(pt 144 64))
	)
	(drawing
		(rectangle (rect 16 16 144 144))
	)
)
(symbol
	(rect 2152 568 2184 616)
	(text "TRI" (rect 22 1 32 16)(font "Arial" (font_size 6))(vertical))
	(text "inst5" (rect -1 3 11 26)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 14))
	)
	(port
		(pt 32 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 20 26 32 37)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 20 24)(pt 32 24))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 32)(pt 16 48))
	)
	(drawing
		(line (pt 7 14)(pt 25 14))
		(line (pt 7 14)(pt 16 32))
		(line (pt 25 14)(pt 16 32))
	)
	(rotate270)
)
(symbol
	(rect 2392 264 2424 312)
	(text "TRI" (rect 22 32 32 47)(font "Arial" (font_size 6))(vertical))
	(text "inst4" (rect -1 22 11 45)(font "Arial" )(vertical))
	(port
		(pt 16 48)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 35 25 46)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 48)(pt 16 34))
	)
	(port
		(pt 32 24)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 20 11 32 22)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 20 24)(pt 32 24))
	)
	(port
		(pt 16 0)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 2 25 19)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 16)(pt 16 0))
	)
	(drawing
		(line (pt 7 34)(pt 25 34))
		(line (pt 7 34)(pt 16 16))
		(line (pt 25 34)(pt 16 16))
	)
	(flipx_rotate90)
)
(symbol
	(rect 1728 264 1792 312)
	(text "XOR" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "parity3" (rect 3 37 37 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 11 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 11 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 49 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 13)(pt 25 13))
		(line (pt 14 36)(pt 25 36))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
		(arc (pt 8 36)(pt 8 12)(rect -21 7 14 42))
	)
)
(symbol
	(rect 1808 272 1872 320)
	(text "XOR" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "parity2" (rect 3 37 37 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 11 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 11 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 49 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 13)(pt 25 13))
		(line (pt 14 36)(pt 25 36))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
		(arc (pt 8 36)(pt 8 12)(rect -21 7 14 42))
	)
)
(symbol
	(rect 1888 280 1952 328)
	(text "XOR" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "parity1" (rect 3 37 37 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 11 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 11 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 49 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 13)(pt 25 13))
		(line (pt 14 36)(pt 25 36))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
		(arc (pt 8 36)(pt 8 12)(rect -21 7 14 42))
	)
)
(symbol
	(rect 1968 288 2032 336)
	(text "XOR" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "parity0" (rect 3 37 37 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 11 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 11 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(line (pt 49 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 13)(pt 25 13))
		(line (pt 14 36)(pt 25 36))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
		(arc (pt 8 36)(pt 8 12)(rect -21 7 14 42))
	)
)
(symbol
	(rect 2176 272 2240 416)
	(text "BAND8" (rect 1 0 31 10)(font "Arial" (font_size 6)))
	(text "zero_detect" (rect 3 133 59 145)(font "Arial" ))
	(port
		(pt 0 48)
		(input)
		(text "IN3" (rect 2 39 19 51)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 39 19 51)(font "Courier New" (bold))(invisible))
		(line (pt 0 48)(pt 10 48))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 10 32))
	)
	(port
		(pt 0 64)
		(input)
		(text "IN4" (rect 2 55 19 67)(font "Courier New" (bold))(invisible))
		(text "IN4" (rect 2 55 19 67)(font "Courier New" (bold))(invisible))
		(line (pt 0 64)(pt 10 64))
	)
	(port
		(pt 0 96)
		(input)
		(text "IN6" (rect 2 87 19 99)(font "Courier New" (bold))(invisible))
		(text "IN6" (rect 2 87 19 99)(font "Courier New" (bold))(invisible))
		(line (pt 0 96)(pt 10 96))
	)
	(port
		(pt 0 80)
		(input)
		(text "IN5" (rect 2 71 19 83)(font "Courier New" (bold))(invisible))
		(text "IN5" (rect 2 71 19 83)(font "Courier New" (bold))(invisible))
		(line (pt 0 80)(pt 10 80))
	)
	(port
		(pt 0 112)
		(input)
		(text "IN7" (rect 2 103 19 115)(font "Courier New" (bold))(invisible))
		(text "IN7" (rect 2 103 19 115)(font "Courier New" (bold))(invisible))
		(line (pt 0 112)(pt 10 112))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 10 16))
	)
	(port
		(pt 0 128)
		(input)
		(text "IN8" (rect 2 119 19 131)(font "Courier New" (bold))(invisible))
		(text "IN8" (rect 2 119 19 131)(font "Courier New" (bold))(invisible))
		(line (pt 0 128)(pt 10 128))
	)
	(port
		(pt 64 72)
		(output)
		(text "OUT" (rect 48 63 65 75)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 63 65 75)(font "Courier New" (bold))(invisible))
		(line (pt 46 72)(pt 64 72))
	)
	(drawing
		(line (pt 18 131)(pt 18 13))
		(line (pt 18 85)(pt 34 85))
		(line (pt 18 60)(pt 34 60))
		(arc (pt 34 84)(pt 34 60)(rect 22 60 47 85))
		(circle (rect 10 12 18 20))
		(circle (rect 10 28 18 36))
		(circle (rect 10 44 18 52))
		(circle (rect 10 60 18 68))
		(circle (rect 10 76 18 84))
		(circle (rect 10 92 18 100))
		(circle (rect 10 108 18 116))
		(circle (rect 10 124 18 132))
	)
)
(symbol
	(rect 3080 400 3280 496)
	(text "alu_bit_select" (rect 118 0 195 14)(font "Arial" (font_size 8)))
	(text "input_bit_select" (rect 116 80 192 92)(font "Arial" ))
	(port
		(pt 200 32)
		(input)
		(text "bsel[2..0]" (rect 0 0 51 14)(font "Arial" (font_size 8)))
		(text "bsel[2..0]" (rect 128 27 179 41)(font "Arial" (font_size 8)))
		(line (pt 200 32)(pt 184 32)(line_width 3))
	)
	(port
		(pt 0 32)
		(output)
		(text "bs_out_low[3..0]" (rect 0 0 95 14)(font "Arial" (font_size 8)))
		(text "bs_out_low[3..0]" (rect 21 27 116 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(output)
		(text "bs_out_high[3..0]" (rect 0 0 97 14)(font "Arial" (font_size 8)))
		(text "bs_out_high[3..0]" (rect 21 43 118 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48)(line_width 3))
	)
	(drawing
		(rectangle (rect 16 16 184 80))
	)
	(flipy)
	(fill (color 217 255 255))
)
(symbol
	(rect 368 392 552 520)
	(text "alu_shifter_core" (rect 5 0 98 14)(font "Arial" (font_size 8)))
	(text "input_shift" (rect 8 112 59 124)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "db[7..0]" (rect 0 0 42 14)(font "Arial" (font_size 8)))
		(text "db[7..0]" (rect 21 27 63 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(input)
		(text "shift_in" (rect 0 0 41 14)(font "Arial" (font_size 8)))
		(text "shift_in" (rect 21 43 62 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(port
		(pt 0 64)
		(input)
		(text "shift_left" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "shift_left" (rect 21 59 70 73)(font "Arial" (font_size 8)))
		(line (pt 0 64)(pt 16 64))
	)
	(port
		(pt 0 80)
		(input)
		(text "shift_right" (rect 0 0 56 14)(font "Arial" (font_size 8)))
		(text "shift_right" (rect 21 75 77 89)(font "Arial" (font_size 8)))
		(line (pt 0 80)(pt 16 80))
	)
	(port
		(pt 184 32)
		(output)
		(text "shift_db0" (rect 0 0 53 14)(font "Arial" (font_size 8)))
		(text "shift_db0" (rect 110 27 163 41)(font "Arial" (font_size 8)))
		(line (pt 184 32)(pt 168 32))
	)
	(port
		(pt 184 48)
		(output)
		(text "shift_db7" (rect 0 0 53 14)(font "Arial" (font_size 8)))
		(text "shift_db7" (rect 110 43 163 57)(font "Arial" (font_size 8)))
		(line (pt 184 48)(pt 168 48))
	)
	(port
		(pt 184 64)
		(output)
		(text "out_low[3..0]" (rect 0 0 74 14)(font "Arial" (font_size 8)))
		(text "out_low[3..0]" (rect 89 59 163 73)(font "Arial" (font_size 8)))
		(line (pt 184 64)(pt 168 64)(line_width 3))
	)
	(port
		(pt 184 80)
		(output)
		(text "out_high[3..0]" (rect 0 0 76 14)(font "Arial" (font_size 8)))
		(text "out_high[3..0]" (rect 87 75 163 89)(font "Arial" (font_size 8)))
		(line (pt 184 80)(pt 168 80)(line_width 3))
	)
	(drawing
		(rectangle (rect 16 16 168 112))
	)
	(fill (color 217 255 255))
)
(symbol
	(rect 2768 296 2912 424)
	(text "alu_mux_3z" (rect 71 0 139 14)(font "Arial" (font_size 8)))
	(text "op1_latch_mux_low" (rect 41 112 136 124)(font "Arial" ))
	(port
		(pt 144 32)
		(input)
		(text "a[3..0]" (rect 0 0 35 14)(font "Arial" (font_size 8)))
		(text "a[3..0]" (rect 88 27 123 41)(font "Arial" (font_size 8)))
		(line (pt 144 32)(pt 128 32)(line_width 3))
	)
	(port
		(pt 144 48)
		(input)
		(text "sel_a" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "sel_a" (rect 93 43 123 57)(font "Arial" (font_size 8)))
		(line (pt 144 48)(pt 128 48))
	)
	(port
		(pt 144 64)
		(input)
		(text "b[3..0]" (rect 0 0 35 14)(font "Arial" (font_size 8)))
		(text "b[3..0]" (rect 88 59 123 73)(font "Arial" (font_size 8)))
		(line (pt 144 64)(pt 128 64)(line_width 3))
	)
	(port
		(pt 144 80)
		(input)
		(text "sel_b" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "sel_b" (rect 93 75 123 89)(font "Arial" (font_size 8)))
		(line (pt 144 80)(pt 128 80))
	)
	(port
		(pt 144 96)
		(input)
		(text "sel_zero" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "sel_zero" (rect 74 91 123 105)(font "Arial" (font_size 8)))
		(line (pt 144 96)(pt 128 96))
	)
	(port
		(pt 0 32)
		(output)
		(text "Q[3..0]" (rect 0 0 37 14)(font "Arial" (font_size 8)))
		(text "Q[3..0]" (rect 21 27 58 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(output)
		(text "ena" (rect 0 0 21 14)(font "Arial" (font_size 8)))
		(text "ena" (rect 21 43 42 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(drawing
		(rectangle (rect 16 16 128 112))
	)
	(flipy)
)
(symbol
	(rect 2768 496 2912 592)
	(text "alu_mux_2z" (rect 71 0 139 14)(font "Arial" (font_size 8)))
	(text "op1_latch_mux_high" (rect 36 80 136 92)(font "Arial" ))
	(port
		(pt 144 32)
		(input)
		(text "a[3..0]" (rect 0 0 35 14)(font "Arial" (font_size 8)))
		(text "a[3..0]" (rect 88 27 123 41)(font "Arial" (font_size 8)))
		(line (pt 144 32)(pt 128 32)(line_width 3))
	)
	(port
		(pt 144 48)
		(input)
		(text "sel_a" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "sel_a" (rect 93 43 123 57)(font "Arial" (font_size 8)))
		(line (pt 144 48)(pt 128 48))
	)
	(port
		(pt 144 64)
		(input)
		(text "sel_zero" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "sel_zero" (rect 74 59 123 73)(font "Arial" (font_size 8)))
		(line (pt 144 64)(pt 128 64))
	)
	(port
		(pt 0 32)
		(output)
		(text "Q[3..0]" (rect 0 0 37 14)(font "Arial" (font_size 8)))
		(text "Q[3..0]" (rect 21 27 58 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(output)
		(text "ena" (rect 0 0 21 14)(font "Arial" (font_size 8)))
		(text "ena" (rect 21 43 42 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(drawing
		(rectangle (rect 16 16 128 80))
	)
	(flipy)
)
(symbol
	(rect 864 280 1008 408)
	(text "alu_mux_3z" (rect 71 0 139 14)(font "Arial" (font_size 8)))
	(text "op2_latch_mux_low" (rect 41 112 136 124)(font "Arial" ))
	(port
		(pt 144 32)
		(input)
		(text "a[3..0]" (rect 0 0 35 14)(font "Arial" (font_size 8)))
		(text "a[3..0]" (rect 88 27 123 41)(font "Arial" (font_size 8)))
		(line (pt 144 32)(pt 128 32)(line_width 3))
	)
	(port
		(pt 144 48)
		(input)
		(text "sel_a" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "sel_a" (rect 93 43 123 57)(font "Arial" (font_size 8)))
		(line (pt 144 48)(pt 128 48))
	)
	(port
		(pt 144 64)
		(input)
		(text "b[3..0]" (rect 0 0 35 14)(font "Arial" (font_size 8)))
		(text "b[3..0]" (rect 88 59 123 73)(font "Arial" (font_size 8)))
		(line (pt 144 64)(pt 128 64)(line_width 3))
	)
	(port
		(pt 144 80)
		(input)
		(text "sel_b" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "sel_b" (rect 93 75 123 89)(font "Arial" (font_size 8)))
		(line (pt 144 80)(pt 128 80))
	)
	(port
		(pt 144 96)
		(input)
		(text "sel_zero" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "sel_zero" (rect 74 91 123 105)(font "Arial" (font_size 8)))
		(line (pt 144 96)(pt 128 96))
	)
	(port
		(pt 0 32)
		(output)
		(text "Q[3..0]" (rect 0 0 37 14)(font "Arial" (font_size 8)))
		(text "Q[3..0]" (rect 21 27 58 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(output)
		(text "ena" (rect 0 0 21 14)(font "Arial" (font_size 8)))
		(text "ena" (rect 21 43 42 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(drawing
		(rectangle (rect 16 16 128 112))
	)
	(flipy)
)
(symbol
	(rect 864 472 1008 600)
	(text "alu_mux_3z" (rect 71 0 139 14)(font "Arial" (font_size 8)))
	(text "op2_latch_mux_high" (rect 36 112 136 124)(font "Arial" ))
	(port
		(pt 144 32)
		(input)
		(text "a[3..0]" (rect 0 0 35 14)(font "Arial" (font_size 8)))
		(text "a[3..0]" (rect 88 27 123 41)(font "Arial" (font_size 8)))
		(line (pt 144 32)(pt 128 32)(line_width 3))
	)
	(port
		(pt 144 48)
		(input)
		(text "sel_a" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "sel_a" (rect 93 43 123 57)(font "Arial" (font_size 8)))
		(line (pt 144 48)(pt 128 48))
	)
	(port
		(pt 144 64)
		(input)
		(text "b[3..0]" (rect 0 0 35 14)(font "Arial" (font_size 8)))
		(text "b[3..0]" (rect 88 59 123 73)(font "Arial" (font_size 8)))
		(line (pt 144 64)(pt 128 64)(line_width 3))
	)
	(port
		(pt 144 80)
		(input)
		(text "sel_b" (rect 0 0 30 14)(font "Arial" (font_size 8)))
		(text "sel_b" (rect 93 75 123 89)(font "Arial" (font_size 8)))
		(line (pt 144 80)(pt 128 80))
	)
	(port
		(pt 144 96)
		(input)
		(text "sel_zero" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "sel_zero" (rect 74 91 123 105)(font "Arial" (font_size 8)))
		(line (pt 144 96)(pt 128 96))
	)
	(port
		(pt 0 32)
		(output)
		(text "Q[3..0]" (rect 0 0 37 14)(font "Arial" (font_size 8)))
		(text "Q[3..0]" (rect 21 27 58 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(output)
		(text "ena" (rect 0 0 21 14)(font "Arial" (font_size 8)))
		(text "ena" (rect 21 43 42 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(drawing
		(rectangle (rect 16 16 128 112))
	)
	(flipy)
)
(symbol
	(rect 760 304 824 384)
	(text "DFFE" (rect 39 0 63 10)(font "Arial" (font_size 6)))
	(text "latch_op2_low" (rect -7 68 61 80)(font "Arial" ))
	(port
		(pt 32 0)
		(input)
		(text "PRN" (rect 24 13 41 25)(font "Courier New" (bold)))
		(text "PRN" (rect 23 11 40 23)(font "Courier New" (bold)))
		(line (pt 32 4)(pt 32 0))
	)
	(port
		(pt 32 80)
		(input)
		(text "CLRN" (rect 21 59 44 71)(font "Courier New" (bold)))
		(text "CLRN" (rect 20 58 43 70)(font "Courier New" (bold)))
		(line (pt 32 80)(pt 32 76))
	)
	(port
		(pt 64 24)
		(input)
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(text "D" (rect 45 20 50 32)(font "Courier New" (bold)))
		(line (pt 64 24)(pt 52 24))
	)
	(port
		(pt 64 40)
		(input)
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(text "CLK" (rect 45 28 62 40)(font "Courier New" (bold))(invisible))
		(line (pt 64 40)(pt 52 40))
	)
	(port
		(pt 64 56)
		(input)
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(text "ENA" (rect 33 50 50 62)(font "Courier New" (bold)))
		(line (pt 64 56)(pt 52 56))
	)
	(port
		(pt 0 24)
		(output)
		(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
		(text "Q" (rect 16 20 21 32)(font "Courier New" (bold)))
		(line (pt 11 24)(pt 0 24))
	)
	(drawing
		(line (pt 52 68)(pt 12 68))
		(line (pt 52 12)(pt 12 12))
		(line (pt 12 68)(pt 12 12))
		(line (pt 52 68)(pt 52 12))
		(line (pt 52 34)(pt 45 41))
		(line (pt 46 41)(pt 52 47))
		(circle (rect 28 4 36 12))
		(circle (rect 28 68 36 76))
	)
	(flipy)
)
(symbol
	(rect 760 480 824 560)
	(text "DFFE" (rect 39 0 63 10)(font "Arial" (font_size 6)))
	(text "latch_op2_high" (rect -12 68 61 80)(font "Arial" ))
	(port
		(pt 32 0)
		(input)
		(text "PRN" (rect 24 13 41 25)(font "Courier New" (bold)))
		(text "PRN" (rect 23 11 40 23)(font "Courier New" (bold)))
		(line (pt 32 4)(pt 32 0))
	)
	(port
		(pt 32 80)
		(input)
		(text "CLRN" (rect 21 59 44 71)(font "Courier New" (bold)))
		(text "CLRN" (rect 20 58 43 70)(font "Courier New" (bold)))
		(line (pt 32 80)(pt 32 76))
	)
	(port
		(pt 64 24)
		(input)
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(text "D" (rect 45 20 50 32)(font "Courier New" (bold)))
		(line (pt 64 24)(pt 52 24))
	)
	(port
		(pt 64 40)
		(input)
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(text "CLK" (rect 45 28 62 40)(font "Courier New" (bold))(invisible))
		(line (pt 64 40)(pt 52 40))
	)
	(port
		(pt 64 56)
		(input)
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(text "ENA" (rect 33 50 50 62)(font "Courier New" (bold)))
		(line (pt 64 56)(pt 52 56))
	)
	(port
		(pt 0 24)
		(output)
		(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
		(text "Q" (rect 16 20 21 32)(font "Courier New" (bold)))
		(line (pt 11 24)(pt 0 24))
	)
	(drawing
		(line (pt 52 68)(pt 12 68))
		(line (pt 52 12)(pt 12 12))
		(line (pt 12 68)(pt 12 12))
		(line (pt 52 68)(pt 52 12))
		(line (pt 52 34)(pt 45 41))
		(line (pt 46 41)(pt 52 47))
		(circle (rect 28 4 36 12))
		(circle (rect 28 68 36 76))
	)
	(flipy)
)
(symbol
	(rect 2312 280 2376 360)
	(text "DFFE" (rect 1 70 25 80)(font "Arial" (font_size 6)))
	(text "inst" (rect 3 0 20 12)(font "Arial" ))
	(port
		(pt 32 80)
		(input)
		(text "PRN" (rect 24 13 41 25)(font "Courier New" (bold)))
		(text "PRN" (rect 24 57 41 69)(font "Courier New" (bold)))
		(line (pt 32 76)(pt 32 80))
	)
	(port
		(pt 32 0)
		(input)
		(text "CLRN" (rect 21 59 44 71)(font "Courier New" (bold)))
		(text "CLRN" (rect 21 10 44 22)(font "Courier New" (bold)))
		(line (pt 32 0)(pt 32 4))
	)
	(port
		(pt 0 56)
		(input)
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(text "D" (rect 14 48 19 60)(font "Courier New" (bold)))
		(line (pt 0 56)(pt 12 56))
	)
	(port
		(pt 0 40)
		(input)
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(text "CLK" (rect 2 40 19 52)(font "Courier New" (bold))(invisible))
		(line (pt 0 40)(pt 12 40))
	)
	(port
		(pt 0 24)
		(input)
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(text "ENA" (rect 14 18 31 30)(font "Courier New" (bold)))
		(line (pt 0 24)(pt 12 24))
	)
	(port
		(pt 64 56)
		(output)
		(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
		(text "Q" (rect 44 48 49 60)(font "Courier New" (bold)))
		(line (pt 53 56)(pt 64 56))
	)
	(drawing
		(line (pt 12 12)(pt 52 12))
		(line (pt 12 68)(pt 52 68))
		(line (pt 52 12)(pt 52 68))
		(line (pt 12 12)(pt 12 68))
		(line (pt 12 46)(pt 19 39))
		(line (pt 18 39)(pt 12 33))
		(circle (rect 28 68 36 76))
		(circle (rect 28 4 36 12))
	)
	(flipx)
)
(symbol
	(rect 2616 304 2680 384)
	(text "DFFE" (rect 39 0 63 10)(font "Arial" (font_size 6)))
	(text "latch_op1_low" (rect -7 68 61 80)(font "Arial" ))
	(port
		(pt 32 0)
		(input)
		(text "PRN" (rect 24 13 41 25)(font "Courier New" (bold)))
		(text "PRN" (rect 23 11 40 23)(font "Courier New" (bold)))
		(line (pt 32 4)(pt 32 0))
	)
	(port
		(pt 32 80)
		(input)
		(text "CLRN" (rect 21 59 44 71)(font "Courier New" (bold)))
		(text "CLRN" (rect 20 58 43 70)(font "Courier New" (bold)))
		(line (pt 32 80)(pt 32 76))
	)
	(port
		(pt 64 24)
		(input)
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(text "D" (rect 45 20 50 32)(font "Courier New" (bold)))
		(line (pt 64 24)(pt 52 24))
	)
	(port
		(pt 64 40)
		(input)
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(text "CLK" (rect 45 28 62 40)(font "Courier New" (bold))(invisible))
		(line (pt 64 40)(pt 52 40))
	)
	(port
		(pt 64 56)
		(input)
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(text "ENA" (rect 33 50 50 62)(font "Courier New" (bold)))
		(line (pt 64 56)(pt 52 56))
	)
	(port
		(pt 0 24)
		(output)
		(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
		(text "Q" (rect 16 20 21 32)(font "Courier New" (bold)))
		(line (pt 11 24)(pt 0 24))
	)
	(drawing
		(line (pt 52 68)(pt 12 68))
		(line (pt 52 12)(pt 12 12))
		(line (pt 12 68)(pt 12 12))
		(line (pt 52 68)(pt 52 12))
		(line (pt 52 34)(pt 45 41))
		(line (pt 46 41)(pt 52 47))
		(circle (rect 28 4 36 12))
		(circle (rect 28 68 36 76))
	)
	(flipy)
)
(symbol
	(rect 2616 504 2680 584)
	(text "DFFE" (rect 39 0 63 10)(font "Arial" (font_size 6)))
	(text "latch_op1_high" (rect -12 68 61 80)(font "Arial" ))
	(port
		(pt 32 0)
		(input)
		(text "PRN" (rect 24 13 41 25)(font "Courier New" (bold)))
		(text "PRN" (rect 23 11 40 23)(font "Courier New" (bold)))
		(line (pt 32 4)(pt 32 0))
	)
	(port
		(pt 32 80)
		(input)
		(text "CLRN" (rect 21 59 44 71)(font "Courier New" (bold)))
		(text "CLRN" (rect 20 58 43 70)(font "Courier New" (bold)))
		(line (pt 32 80)(pt 32 76))
	)
	(port
		(pt 64 24)
		(input)
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(text "D" (rect 45 20 50 32)(font "Courier New" (bold)))
		(line (pt 64 24)(pt 52 24))
	)
	(port
		(pt 64 40)
		(input)
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(text "CLK" (rect 45 28 62 40)(font "Courier New" (bold))(invisible))
		(line (pt 64 40)(pt 52 40))
	)
	(port
		(pt 64 56)
		(input)
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(text "ENA" (rect 33 50 50 62)(font "Courier New" (bold)))
		(line (pt 64 56)(pt 52 56))
	)
	(port
		(pt 0 24)
		(output)
		(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
		(text "Q" (rect 16 20 21 32)(font "Courier New" (bold)))
		(line (pt 11 24)(pt 0 24))
	)
	(drawing
		(line (pt 52 68)(pt 12 68))
		(line (pt 52 12)(pt 12 12))
		(line (pt 12 68)(pt 12 12))
		(line (pt 52 68)(pt 52 12))
		(line (pt 52 34)(pt 45 41))
		(line (pt 46 41)(pt 52 47))
		(circle (rect 28 4 36 12))
		(circle (rect 28 68 36 76))
	)
	(flipy)
)
(symbol
	(rect 824 248 856 296)
	(text "NOT" (rect 22 1 32 21)(font "Arial" (font_size 6))(vertical))
	(text "nclk2" (rect -1 3 11 28)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 13))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 39)(pt 16 48))
	)
	(drawing
		(line (pt 7 13)(pt 25 13))
		(line (pt 25 13)(pt 16 31))
		(line (pt 7 13)(pt 16 31))
		(circle (rect 12 31 20 39))
	)
	(rotate270)
)
(symbol
	(rect 2728 256 2760 304)
	(text "NOT" (rect 22 1 32 21)(font "Arial" (font_size 6))(vertical))
	(text "nclk1" (rect -1 3 11 28)(font "Arial" )(vertical))
	(port
		(pt 16 0)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 13 2 25 13)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 0)(pt 16 13))
	)
	(port
		(pt 16 48)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 13 32 25 49)(font "Courier New" (bold))(vertical)(invisible))
		(line (pt 16 39)(pt 16 48))
	)
	(drawing
		(line (pt 7 13)(pt 25 13))
		(line (pt 25 13)(pt 16 31))
		(line (pt 7 13)(pt 16 31))
		(circle (rect 12 31 20 39))
	)
	(rotate270)
)
(connector
	(pt 728 640)
	(pt 728 616)
	(bus)
)
(connector
	(pt 704 592)
	(pt 712 592)
)
(connector
	(pt 728 240)
	(pt 728 264)
	(bus)
)
(connector
	(pt 704 288)
	(pt 712 288)
)
(connector
	(pt 616 240)
	(pt 616 264)
	(bus)
)
(connector
	(pt 616 616)
	(pt 616 640)
	(bus)
)
(connector
	(pt 256 552)
	(pt 264 552)
)
(connector
	(pt 256 320)
	(pt 264 320)
)
(connector
	(pt 264 208)
	(pt 264 320)
)
(connector
	(pt 264 320)
	(pt 264 552)
)
(connector
	(pt 704 216)
	(pt 704 288)
)
(connector
	(pt 704 288)
	(pt 704 592)
)
(connector
	(pt 240 296)
	(pt 240 240)
	(bus)
)
(connector
	(pt 240 576)
	(pt 240 640)
	(bus)
)
(connector
	(pt 632 592)
	(pt 648 592)
)
(connector
	(pt 632 288)
	(pt 648 288)
)
(connector
	(pt 648 216)
	(pt 648 288)
)
(connector
	(pt 648 288)
	(pt 648 592)
)
(connector
	(pt 1120 424)
	(pt 1120 488)
	(bus)
)
(connector
	(pt 1288 432)
	(pt 1296 432)
	(bus)
)
(connector
	(pt 1296 432)
	(pt 1296 448)
	(bus)
)
(connector
	(pt 1296 448)
	(pt 1304 448)
	(bus)
)
(connector
	(pt 1288 480)
	(pt 1296 480)
	(bus)
)
(connector
	(pt 1296 480)
	(pt 1296 464)
	(bus)
)
(connector
	(pt 1296 464)
	(pt 1304 464)
	(bus)
)
(connector
	(pt 1288 528)
	(pt 1296 528)
	(bus)
)
(connector
	(pt 1296 528)
	(pt 1296 544)
	(bus)
)
(connector
	(pt 1296 544)
	(pt 1304 544)
	(bus)
)
(connector
	(pt 1288 576)
	(pt 1296 576)
	(bus)
)
(connector
	(pt 1296 576)
	(pt 1296 560)
	(bus)
)
(connector
	(pt 1296 560)
	(pt 1304 560)
	(bus)
)
(connector
	(pt 1224 440)
	(pt 1216 440)
)
(connector
	(pt 1224 536)
	(pt 1216 536)
)
(connector
	(pt 1200 256)
	(pt 1216 256)
)
(connector
	(pt 1392 256)
	(pt 1376 256)
)
(connector
	(pt 1368 456)
	(pt 1384 456)
	(bus)
)
(connector
	(pt 1368 552)
	(pt 1384 552)
	(bus)
)
(connector
	(pt 1392 488)
	(pt 1400 488)
)
(connector
	(pt 1384 456)
	(pt 1384 472)
	(bus)
)
(connector
	(pt 1384 552)
	(pt 1384 536)
	(bus)
)
(connector
	(pt 1480 496)
	(pt 1472 496)
	(bus)
)
(connector
	(pt 1472 496)
	(pt 1472 480)
	(bus)
)
(connector
	(pt 1464 480)
	(pt 1472 480)
	(bus)
)
(connector
	(pt 1480 512)
	(pt 1472 512)
	(bus)
)
(connector
	(pt 1472 512)
	(pt 1472 528)
	(bus)
)
(connector
	(pt 1464 528)
	(pt 1472 528)
	(bus)
)
(connector
	(pt 1376 256)
	(pt 1376 520)
)
(connector
	(text "db_high[1]" (rect 1672 581 1684 631)(font "Arial" )(vertical))
	(pt 1688 640)
	(pt 1688 216)
)
(connector
	(text "db_high[3]" (rect 1648 581 1660 631)(font "Arial" )(vertical))
	(pt 1664 640)
	(pt 1664 216)
)
(connector
	(pt 1624 216)
	(pt 1624 520)
)
(connector
	(pt 1584 216)
	(pt 1584 552)
)
(connector
	(pt 1568 216)
	(pt 1568 568)
)
(connector
	(pt 1600 216)
	(pt 1600 536)
)
(connector
	(pt 2088 216)
	(pt 2088 520)
)
(connector
	(pt 2072 504)
	(pt 1960 504)
)
(connector
	(pt 2088 520)
	(pt 1960 520)
)
(connector
	(pt 2072 216)
	(pt 2072 504)
)
(connector
	(pt 1968 320)
	(pt 1960 320)
)
(connector
	(pt 1808 304)
	(pt 1800 304)
)
(connector
	(pt 2048 312)
	(pt 2032 312)
)
(connector
	(pt 2048 216)
	(pt 2048 312)
)
(connector
	(pt 1888 312)
	(pt 1880 312)
)
(connector
	(text "result_hi[3]" (rect 1696 341 1708 395)(font "Arial" )(vertical))
	(pt 1712 400)
	(pt 1712 296)
)
(connector
	(text "result_hi[2]" (rect 1784 341 1796 395)(font "Arial" )(vertical))
	(pt 1800 400)
	(pt 1800 304)
)
(connector
	(text "result_hi[1]" (rect 1864 341 1876 395)(font "Arial" )(vertical))
	(pt 1880 400)
	(pt 1880 312)
)
(connector
	(text "result_hi[0]" (rect 1944 341 1956 395)(font "Arial" )(vertical))
	(pt 1960 400)
	(pt 1960 320)
)
(connector
	(pt 2048 400)
	(pt 2048 488)
	(bus)
	(color 0 0 255)
)
(connector
	(text "db_low[3]" (rect 1872 169 1884 215)(font "Arial" )(vertical))
	(pt 1896 216)
	(pt 1896 240)
)
(connector
	(pt 2256 344)
	(pt 2256 216)
)
(connector
	(pt 2240 344)
	(pt 2256 344)
)
(connector
	(pt 1712 216)
	(pt 1712 280)
)
(connector
	(pt 1712 432)
	(pt 1712 488)
	(bus)
)
(connector
	(pt 2168 640)
	(pt 2168 616)
	(bus)
)
(connector
	(pt 2168 488)
	(pt 2168 568)
	(bus)
)
(connector
	(pt 1216 216)
	(pt 1216 256)
)
(connector
	(pt 1216 256)
	(pt 1216 272)
)
(connector
	(pt 1200 256)
	(pt 1200 472)
)
(connector
	(pt 1200 472)
	(pt 1200 568)
)
(connector
	(pt 1392 216)
	(pt 1392 256)
)
(connector
	(pt 1392 256)
	(pt 1392 272)
)
(connector
	(pt 1712 400)
	(pt 1800 400)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 1800 400)
	(pt 1880 400)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 1880 400)
	(pt 1960 400)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 1960 400)
	(pt 2048 400)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 1480 432)
	(pt 1712 432)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 1712 432)
	(pt 2192 432)
	(bus)
	(color 255 0 0)
)
(connector
	(text "result_hi[3..0]" (rect 1974 472 2041 484)(font "Arial" ))
	(pt 1960 488)
	(pt 2048 488)
	(bus)
)
(connector
	(pt 2048 488)
	(pt 2168 488)
	(bus)
)
(connector
	(pt 2168 488)
	(pt 2272 488)
	(bus)
)
(connector
	(pt 2120 320)
	(pt 2120 336)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2120 304)
	(pt 2120 320)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2120 352)
	(pt 2120 368)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2120 368)
	(pt 2120 384)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2120 240)
	(pt 2120 288)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2120 288)
	(pt 2120 304)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2120 384)
	(pt 2120 400)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2120 400)
	(pt 2120 640)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 1120 488)
	(pt 1136 488)
	(bus)
)
(connector
	(pt 1104 584)
	(pt 1136 584)
	(bus)
)
(connector
	(pt 1200 568)
	(pt 1224 568)
)
(connector
	(pt 1184 584)
	(pt 1224 584)
	(bus)
)
(connector
	(pt 1376 520)
	(pt 1400 520)
)
(connector
	(pt 1384 536)
	(pt 1400 536)
	(bus)
)
(connector
	(text "alu_op1[3..0]" (rect 1726 472 1789 484)(font "Arial" ))
	(pt 1712 488)
	(pt 1800 488)
	(bus)
)
(connector
	(text "alu_op2[3..0]" (rect 1727 488 1790 500)(font "Arial" ))
	(pt 1544 504)
	(pt 1800 504)
	(bus)
)
(connector
	(pt 1624 520)
	(pt 1800 520)
)
(connector
	(pt 1600 536)
	(pt 1800 536)
)
(connector
	(pt 1584 552)
	(pt 1800 552)
)
(connector
	(pt 1568 568)
	(pt 1800 568)
)
(connector
	(pt 1712 280)
	(pt 1728 280)
)
(connector
	(pt 1712 296)
	(pt 1728 296)
)
(connector
	(pt 1792 288)
	(pt 1808 288)
)
(connector
	(pt 1872 296)
	(pt 1888 296)
)
(connector
	(pt 1952 304)
	(pt 1968 304)
)
(connector
	(text "db_low[2]" (rect 2127 304 2173 316)(font "Arial" ))
	(pt 2120 320)
	(pt 2176 320)
)
(connector
	(text "db_low[1]" (rect 2129 288 2175 300)(font "Arial" ))
	(pt 2120 304)
	(pt 2176 304)
)
(connector
	(text "db_low[3]" (rect 2128 320 2174 332)(font "Arial" ))
	(pt 2120 336)
	(pt 2176 336)
)
(connector
	(text "db_high[1]" (rect 2129 352 2179 364)(font "Arial" ))
	(pt 2120 368)
	(pt 2176 368)
)
(connector
	(text "db_high[0]" (rect 2127 336 2177 348)(font "Arial" ))
	(pt 2120 352)
	(pt 2176 352)
)
(connector
	(text "db_high[2]" (rect 2129 368 2179 380)(font "Arial" ))
	(pt 2120 384)
	(pt 2176 384)
)
(connector
	(text "db_low[0]" (rect 2129 272 2175 284)(font "Arial" ))
	(pt 2120 288)
	(pt 2176 288)
)
(connector
	(text "db_high[3]" (rect 2129 384 2179 396)(font "Arial" ))
	(pt 2120 400)
	(pt 2176 400)
)
(connector
	(pt 1216 320)
	(pt 1216 440)
)
(connector
	(pt 1200 472)
	(pt 1224 472)
)
(connector
	(pt 1184 488)
	(pt 1224 488)
	(bus)
)
(connector
	(pt 1104 520)
	(pt 1224 520)
	(bus)
)
(connector
	(pt 1216 440)
	(pt 1216 536)
)
(connector
	(pt 1384 472)
	(pt 1400 472)
	(bus)
)
(connector
	(pt 1392 320)
	(pt 1392 488)
)
(connector
	(pt 1024 504)
	(pt 1008 504)
	(bus)
)
(connector
	(pt 1040 520)
	(pt 1008 520)
)
(connector
	(pt 1072 552)
	(pt 1008 552)
)
(connector
	(pt 1056 536)
	(pt 1008 536)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 672 240)
	(pt 672 440)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 1056 440)
	(pt 1056 536)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 672 440)
	(pt 1056 440)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 1024 504)
	(pt 1024 640)
	(bus)
)
(connector
	(pt 1008 568)
	(pt 1088 568)
)
(connector
	(text "db_low[3..0]" (rect 432 248 521 264)(font "Arial" (font_size 10)(bold)))
	(pt 240 240)
	(pt 616 240)
	(bus)
)
(connector
	(pt 616 240)
	(pt 672 240)
	(bus)
)
(connector
	(pt 1104 456)
	(pt 1104 520)
	(bus)
)
(connector
	(pt 1104 520)
	(pt 1104 584)
	(bus)
)
(connector
	(pt 672 240)
	(pt 728 240)
	(bus)
)
(connector
	(text "db_high[3..0]" (rect 426 616 521 632)(font "Arial" (font_size 10)(bold)))
	(pt 240 640)
	(pt 616 640)
	(bus)
)
(connector
	(pt 616 640)
	(pt 728 640)
	(bus)
)
(connector
	(pt 728 640)
	(pt 1024 640)
	(bus)
)
(connector
	(pt 1024 640)
	(pt 1664 640)
	(bus)
)
(connector
	(pt 1664 640)
	(pt 1688 640)
	(bus)
)
(connector
	(pt 1688 640)
	(pt 2120 640)
	(bus)
)
(connector
	(pt 824 504)
	(pt 864 504)
	(bus)
)
(connector
	(pt 864 520)
	(pt 848 520)
)
(connector
	(pt 848 520)
	(pt 848 536)
)
(connector
	(pt 848 536)
	(pt 824 536)
)
(connector
	(text "op2_high[3..0]" (rect 781 464 850 476)(font "Arial" ))
	(pt 1104 456)
	(pt 728 456)
	(bus)
)
(connector
	(pt 728 504)
	(pt 760 504)
	(bus)
)
(connector
	(pt 728 456)
	(pt 728 504)
	(bus)
)
(connector
	(pt 728 504)
	(pt 728 568)
	(bus)
)
(connector
	(text "op2_low[3..0]" (rect 781 408 845 420)(font "Arial" ))
	(pt 728 424)
	(pt 1120 424)
	(bus)
)
(connector
	(pt 1120 424)
	(pt 1224 424)
	(bus)
)
(connector
	(pt 848 360)
	(pt 824 360)
)
(connector
	(pt 832 328)
	(pt 824 328)
	(bus)
)
(connector
	(pt 728 328)
	(pt 760 328)
	(bus)
)
(connector
	(pt 728 312)
	(pt 728 328)
	(bus)
)
(connector
	(pt 728 328)
	(pt 728 424)
	(bus)
)
(connector
	(pt 824 520)
	(pt 840 520)
)
(connector
	(pt 824 344)
	(pt 840 344)
)
(connector
	(pt 584 216)
	(pt 584 440)
)
(connector
	(pt 616 312)
	(pt 616 456)
	(bus)
)
(connector
	(pt 616 568)
	(pt 616 472)
	(bus)
)
(connector
	(pt 568 216)
	(pt 568 424)
)
(connector
	(pt 568 424)
	(pt 552 424)
)
(connector
	(pt 584 440)
	(pt 552 440)
)
(connector
	(pt 616 456)
	(pt 552 456)
	(bus)
)
(connector
	(pt 616 472)
	(pt 552 472)
	(bus)
)
(connector
	(pt 344 440)
	(pt 344 208)
)
(connector
	(pt 344 440)
	(pt 368 440)
)
(connector
	(pt 328 456)
	(pt 328 208)
)
(connector
	(pt 328 456)
	(pt 368 456)
)
(connector
	(pt 312 472)
	(pt 312 208)
)
(connector
	(pt 312 472)
	(pt 368 472)
)
(connector
	(pt 208 424)
	(pt 240 424)
	(bus)
)
(connector
	(pt 240 424)
	(pt 368 424)
	(bus)
)
(connector
	(text "db[3..0]" (rect 224 376 236 413)(font "Arial" )(vertical))
	(pt 240 344)
	(pt 240 424)
	(bus)
)
(connector
	(text "db[7..4]" (rect 224 480 236 517)(font "Arial" )(vertical))
	(pt 240 424)
	(pt 240 528)
	(bus)
)
(connector
	(pt 1024 240)
	(pt 1024 312)
	(bus)
)
(connector
	(pt 1024 312)
	(pt 1008 312)
	(bus)
)
(connector
	(pt 1040 328)
	(pt 1008 328)
)
(connector
	(pt 1072 360)
	(pt 1008 360)
)
(connector
	(pt 1088 376)
	(pt 1008 376)
)
(connector
	(pt 1480 344)
	(pt 1008 344)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 1480 432)
	(pt 1480 344)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 848 328)
	(pt 864 328)
)
(connector
	(pt 832 312)
	(pt 864 312)
	(bus)
)
(connector
	(pt 848 360)
	(pt 848 328)
)
(connector
	(pt 832 328)
	(pt 832 312)
	(bus)
)
(connector
	(pt 728 240)
	(pt 1024 240)
	(bus)
)
(connector
	(pt 1024 240)
	(pt 1896 240)
	(bus)
)
(connector
	(pt 1040 216)
	(pt 1040 328)
)
(connector
	(pt 1040 328)
	(pt 1040 520)
)
(connector
	(pt 1072 216)
	(pt 1072 360)
)
(connector
	(pt 1072 360)
	(pt 1072 552)
)
(connector
	(pt 1088 216)
	(pt 1088 376)
)
(connector
	(pt 1088 376)
	(pt 1088 568)
)
(connector
	(pt 840 216)
	(pt 840 248)
)
(connector
	(pt 840 344)
	(pt 840 520)
)
(connector
	(pt 840 296)
	(pt 840 344)
)
(connector
	(pt 2368 512)
	(pt 2376 512)
	(bus)
)
(connector
	(pt 2376 512)
	(pt 2376 496)
	(bus)
)
(connector
	(pt 2376 496)
	(pt 2384 496)
	(bus)
)
(connector
	(pt 2368 528)
	(pt 2376 528)
	(bus)
)
(connector
	(pt 2376 528)
	(pt 2376 544)
	(bus)
)
(connector
	(pt 2376 544)
	(pt 2384 544)
	(bus)
)
(connector
	(pt 2448 488)
	(pt 2456 488)
	(bus)
)
(connector
	(pt 2408 240)
	(pt 2408 264)
	(bus)
)
(connector
	(pt 2584 240)
	(pt 2584 264)
	(bus)
)
(connector
	(pt 2560 288)
	(pt 2568 288)
)
(connector
	(pt 2584 640)
	(pt 2584 616)
	(bus)
)
(connector
	(pt 2560 592)
	(pt 2568 592)
)
(connector
	(pt 2584 312)
	(pt 2584 328)
	(bus)
)
(connector
	(pt 2504 552)
	(pt 2504 512)
	(bus)
)
(connector
	(pt 2512 424)
	(pt 2512 360)
	(bus)
	(color 85 0 255)
)
(connector
	(pt 2688 424)
	(pt 2696 424)
)
(connector
	(pt 2696 424)
	(pt 2696 216)
)
(connector
	(pt 2712 440)
	(pt 2712 216)
)
(connector
	(pt 2728 456)
	(pt 2728 216)
)
(connector
	(pt 2520 424)
	(pt 2512 424)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2520 440)
	(pt 2512 440)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2512 440)
	(pt 2512 512)
	(bus)
	(color 0 0 255)
)
(connector
	(pt 2488 256)
	(pt 2488 272)
)
(connector
	(pt 2488 320)
	(pt 2488 536)
)
(connector
	(pt 2472 256)
	(pt 2472 504)
)
(connector
	(pt 2456 360)
	(pt 2456 488)
	(bus)
)
(connector
	(pt 2192 432)
	(pt 2192 520)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 2440 392)
	(pt 2288 392)
)
(connector
	(pt 2288 392)
	(pt 2288 592)
)
(connector
	(pt 2184 592)
	(pt 2288 592)
)
(connector
	(pt 2192 520)
	(pt 2304 520)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 2288 304)
	(pt 2312 304)
)
(connector
	(pt 2408 312)
	(pt 2408 336)
	(bus)
)
(connector
	(pt 2272 488)
	(pt 2272 336)
	(bus)
)
(connector
	(pt 2272 336)
	(pt 2312 336)
	(bus)
	(color 128 0 128)
)
(connector
	(pt 2600 328)
	(pt 2600 360)
	(bus)
)
(connector
	(pt 2584 528)
	(pt 2616 528)
	(bus)
)
(connector
	(pt 2928 528)
	(pt 2928 640)
	(bus)
)
(connector
	(pt 3040 592)
	(pt 3032 592)
)
(connector
	(pt 3032 288)
	(pt 3040 288)
)
(connector
	(pt 3056 568)
	(pt 3056 448)
	(bus)
)
(connector
	(pt 3056 312)
	(pt 3056 432)
	(bus)
)
(connector
	(pt 2928 240)
	(pt 2928 328)
	(bus)
)
(connector
	(pt 2960 216)
	(pt 2960 376)
)
(connector
	(pt 3008 640)
	(pt 3008 360)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 2760 344)
	(pt 2768 344)
)
(connector
	(pt 2760 360)
	(pt 2760 344)
)
(connector
	(pt 2760 560)
	(pt 2760 544)
)
(connector
	(pt 2768 544)
	(pt 2760 544)
)
(connector
	(pt 3056 432)
	(pt 3080 432)
	(bus)
)
(connector
	(pt 3056 448)
	(pt 3080 448)
	(bus)
)
(connector
	(pt 3056 248)
	(pt 3088 248)
	(bus)
)
(connector
	(pt 3056 632)
	(pt 3088 632)
	(bus)
)
(connector
	(text "clk" (rect 2736 172 2748 186)(font "Arial" )(vertical))
	(pt 2744 200)
	(pt 2744 256)
)
(connector
	(pt 2272 320)
	(pt 2312 320)
)
(connector
	(text "clk" (rect 2264 172 2276 186)(font "Arial" )(vertical))
	(pt 2272 200)
	(pt 2272 320)
)
(connector
	(pt 2560 216)
	(pt 2560 288)
)
(connector
	(pt 2560 288)
	(pt 2560 592)
)
(connector
	(pt 2456 360)
	(pt 2512 360)
	(bus)
)
(connector
	(text "op1_low[3..0]" (rect 2524 344 2588 356)(font "Arial" ))
	(pt 2512 360)
	(pt 2600 360)
	(bus)
)
(connector
	(pt 2440 216)
	(pt 2440 288)
)
(connector
	(pt 2440 288)
	(pt 2440 392)
)
(connector
	(pt 2288 256)
	(pt 2472 256)
)
(connector
	(pt 2472 256)
	(pt 2488 256)
)
(connector
	(pt 2288 216)
	(pt 2288 256)
)
(connector
	(pt 2288 256)
	(pt 2288 304)
)
(connector
	(pt 2584 328)
	(pt 2600 328)
	(bus)
)
(connector
	(pt 2600 328)
	(pt 2616 328)
	(bus)
)
(connector
	(pt 2504 512)
	(pt 2512 512)
	(bus)
)
(connector
	(text "op1_high[3..0]" (rect 2526 496 2595 508)(font "Arial" ))
	(pt 2512 512)
	(pt 2584 512)
	(bus)
)
(connector
	(pt 2584 512)
	(pt 2584 528)
	(bus)
)
(connector
	(pt 2584 528)
	(pt 2584 568)
	(bus)
)
(connector
	(pt 3032 216)
	(pt 3032 288)
)
(connector
	(pt 3032 288)
	(pt 3032 592)
)
(connector
	(pt 1896 240)
	(pt 2120 240)
	(bus)
)
(connector
	(pt 2120 240)
	(pt 2408 240)
	(bus)
)
(connector
	(pt 2408 240)
	(pt 2584 240)
	(bus)
)
(connector
	(pt 2584 240)
	(pt 2928 240)
	(bus)
)
(connector
	(pt 2928 240)
	(pt 3056 240)
	(bus)
)
(connector
	(pt 2120 640)
	(pt 2168 640)
	(bus)
)
(connector
	(pt 2168 640)
	(pt 2584 640)
	(bus)
)
(connector
	(pt 2584 640)
	(pt 2928 640)
	(bus)
)
(connector
	(pt 2928 640)
	(pt 3008 640)
	(bus)
)
(connector
	(pt 3008 640)
	(pt 3056 640)
	(bus)
)
(connector
	(pt 2944 216)
	(pt 2944 344)
)
(connector
	(pt 2944 344)
	(pt 2944 544)
)
(connector
	(pt 2976 216)
	(pt 2976 392)
)
(connector
	(pt 2976 392)
	(pt 2976 560)
)
(connector
	(pt 3056 240)
	(pt 3056 248)
	(bus)
)
(connector
	(pt 3056 248)
	(pt 3056 264)
	(bus)
)
(connector
	(pt 3056 616)
	(pt 3056 632)
	(bus)
)
(connector
	(pt 3056 632)
	(pt 3056 640)
	(bus)
)
(connector
	(pt 2744 304)
	(pt 2744 344)
)
(connector
	(pt 2744 344)
	(pt 2744 544)
)
(connector
	(pt 2448 504)
	(pt 2472 504)
)
(connector
	(pt 2448 536)
	(pt 2488 536)
)
(connector
	(pt 2448 552)
	(pt 2504 552)
	(bus)
)
(connector
	(pt 2688 440)
	(pt 2712 440)
)
(connector
	(pt 2688 456)
	(pt 2728 456)
)
(connector
	(pt 2424 288)
	(pt 2440 288)
)
(connector
	(pt 3280 432)
	(pt 3312 432)
	(bus)
)
(connector
	(pt 2912 328)
	(pt 2928 328)
	(bus)
)
(connector
	(pt 2912 344)
	(pt 2944 344)
)
(connector
	(pt 2912 360)
	(pt 3008 360)
	(bus)
	(color 255 0 0)
)
(connector
	(pt 2912 376)
	(pt 2960 376)
)
(connector
	(pt 2912 392)
	(pt 2976 392)
)
(connector
	(pt 2912 528)
	(pt 2928 528)
	(bus)
)
(connector
	(pt 2912 544)
	(pt 2944 544)
)
(connector
	(pt 2912 560)
	(pt 2976 560)
)
(connector
	(text "result_lo[3..0]" (rect 2384 344 2451 356)(font "Arial" ))
	(pt 2376 336)
	(pt 2408 336)
	(bus)
)
(connector
	(pt 2680 328)
	(pt 2768 328)
	(bus)
)
(connector
	(pt 2680 344)
	(pt 2744 344)
)
(connector
	(pt 2680 360)
	(pt 2760 360)
)
(connector
	(pt 2680 528)
	(pt 2768 528)
	(bus)
)
(connector
	(pt 2680 544)
	(pt 2744 544)
)
(connector
	(pt 2680 560)
	(pt 2760 560)
)
(junction (pt 616 240))
(junction (pt 672 240))
(junction (pt 728 240))
(junction (pt 616 640))
(junction (pt 728 640))
(junction (pt 264 320))
(junction (pt 704 288))
(junction (pt 648 288))
(junction (pt 1216 256))
(junction (pt 1216 440))
(junction (pt 1200 472))
(junction (pt 1392 256))
(junction (pt 1104 520))
(junction (pt 1120 424))
(junction (pt 1664 640))
(junction (pt 1688 640))
(junction (pt 1800 400))
(junction (pt 1880 400))
(junction (pt 1960 400))
(junction (pt 2120 240))
(junction (pt 1896 240))
(junction (pt 1712 432))
(junction (pt 2048 488))
(junction (pt 2120 640))
(junction (pt 2168 640))
(junction (pt 2168 488))
(junction (pt 2120 320))
(junction (pt 2120 304))
(junction (pt 2120 368))
(junction (pt 2120 384))
(junction (pt 2120 288))
(junction (pt 2120 400))
(junction (pt 1024 240))
(junction (pt 1024 640))
(junction (pt 728 504))
(junction (pt 728 328))
(junction (pt 840 344))
(junction (pt 240 424))
(junction (pt 1040 328))
(junction (pt 1072 360))
(junction (pt 1088 376))
(junction (pt 2560 288))
(junction (pt 2512 360))
(junction (pt 2440 288))
(junction (pt 2472 256))
(junction (pt 2288 256))
(junction (pt 2600 328))
(junction (pt 2512 512))
(junction (pt 2584 528))
(junction (pt 3032 288))
(junction (pt 2408 240))
(junction (pt 2584 240))
(junction (pt 2928 240))
(junction (pt 2584 640))
(junction (pt 2928 640))
(junction (pt 3008 640))
(junction (pt 2944 344))
(junction (pt 2976 392))
(junction (pt 3056 248))
(junction (pt 3056 632))
(junction (pt 2744 344))
(title_block
	(rect 3136 40 3457 101)
	(name "title-custom-medium")
	(section (rect 0 0 320 20)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 106 21)(font "Arial" (font_size 12)(bold)))(border))
	(section (rect 130 0 320 20)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "alu" (rect 43 2 70 21)(font "Arial" (font_size 12)(bold)))(border))
	(section (rect 0 21 320 40)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 151 19)(font "Arial" (font_size 11)))(border))
	(section (rect 0 41 240 60)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "May 18, 2014" (rect 56 3 149 19)(font "Arial" (font_size 10)))(border))
	(section (rect 241 41 320 60)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.4" (rect 43 3 64 19)(font "Arial" (font_size 10)))(border))
	(drawing
	)
)


================================================
FILE: cpu/alu/alu.bsf
================================================
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 1991-2013 Altera Corporation
Your use of Altera Corporation's design tools, logic functions 
and other software and tools, and its AMPP partner logic 
functions, and any output files from any of the foregoing 
(including device programming or simulation files), and any 
associated documentation or information are expressly subject 
to the terms and conditions of the Altera Program License 
Subscription Agreement, Altera MegaCore Function License 
Agreement, or other applicable license agreement, including, 
without limitation, that your use is for the sole purpose of 
programming logic devices manufactured by Altera and sold by 
Altera or its authorized distributors.  Please refer to the 
applicable agreement for further details.
*/
(header "symbol" (version "1.2"))
(symbol
	(rect 16 16 272 464)
	(text "alu" (rect 5 0 21 14)(font "Arial" (font_size 8)))
	(text "inst" (rect 8 432 25 444)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "alu_oe" (rect 0 0 37 14)(font "Arial" (font_size 8)))
		(text "alu_oe" (rect 21 27 58 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 0 48)
		(input)
		(text "alu_shift_in" (rect 0 0 64 14)(font "Arial" (font_size 8)))
		(text "alu_shift_in" (rect 21 43 85 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(port
		(pt 0 64)
		(input)
		(text "alu_shift_left" (rect 0 0 73 14)(font "Arial" (font_size 8)))
		(text "alu_shift_left" (rect 21 59 94 73)(font "Arial" (font_size 8)))
		(line (pt 0 64)(pt 16 64))
	)
	(port
		(pt 0 80)
		(input)
		(text "alu_shift_right" (rect 0 0 80 14)(font "Arial" (font_size 8)))
		(text "alu_shift_right" (rect 21 75 101 89)(font "Arial" (font_size 8)))
		(line (pt 0 80)(pt 16 80))
	)
	(port
		(pt 0 96)
		(input)
		(text "alu_core_R" (rect 0 0 64 14)(font "Arial" (font_size 8)))
		(text "alu_core_R" (rect 21 91 85 105)(font "Arial" (font_size 8)))
		(line (pt 0 96)(pt 16 96))
	)
	(port
		(pt 0 112)
		(input)
		(text "alu_core_V" (rect 0 0 66 14)(font "Arial" (font_size 8)))
		(text "alu_core_V" (rect 21 107 87 121)(font "Arial" (font_size 8)))
		(line (pt 0 112)(pt 16 112))
	)
	(port
		(pt 0 128)
		(input)
		(text "alu_core_S" (rect 0 0 64 14)(font "Arial" (font_size 8)))
		(text "alu_core_S" (rect 21 123 85 137)(font "Arial" (font_size 8)))
		(line (pt 0 128)(pt 16 128))
	)
	(port
		(pt 0 144)
		(input)
		(text "alu_bs_oe" (rect 0 0 59 14)(font "Arial" (font_size 8)))
		(text "alu_bs_oe" (rect 21 139 80 153)(font "Arial" (font_size 8)))
		(line (pt 0 144)(pt 16 144))
	)
	(port
		(pt 0 160)
		(input)
		(text "alu_parity_in" (rect 0 0 71 14)(font "Arial" (font_size 8)))
		(text "alu_parity_in" (rect 21 155 92 169)(font "Arial" (font_size 8)))
		(line (pt 0 160)(pt 16 160))
	)
	(port
		(pt 0 176)
		(input)
		(text "alu_shift_oe" (rect 0 0 69 14)(font "Arial" (font_size 8)))
		(text "alu_shift_oe" (rect 21 171 90 185)(font "Arial" (font_size 8)))
		(line (pt 0 176)(pt 16 176))
	)
	(port
		(pt 0 192)
		(input)
		(text "alu_core_cf_in" (rect 0 0 84 14)(font "Arial" (font_size 8)))
		(text "alu_core_cf_in" (rect 21 187 105 201)(font "Arial" (font_size 8)))
		(line (pt 0 192)(pt 16 192))
	)
	(port
		(pt 0 208)
		(input)
		(text "alu_op2_oe" (rect 0 0 66 14)(font "Arial" (font_size 8)))
		(text "alu_op2_oe" (rect 21 203 87 217)(font "Arial" (font_size 8)))
		(line (pt 0 208)(pt 16 208))
	)
	(port
		(pt 0 224)
		(input)
		(text "alu_op1_oe" (rect 0 0 66 14)(font "Arial" (font_size 8)))
		(text "alu_op1_oe" (rect 21 219 87 233)(font "Arial" (font_size 8)))
		(line (pt 0 224)(pt 16 224))
	)
	(port
		(pt 0 240)
		(input)
		(text "alu_res_oe" (rect 0 0 63 14)(font "Arial" (font_size 8)))
		(text "alu_res_oe" (rect 21 235 84 249)(font "Arial" (font_size 8)))
		(line (pt 0 240)(pt 16 240))
	)
	(port
		(pt 0 256)
		(input)
		(text "alu_op1_sel_low" (rect 0 0 96 14)(font "Arial" (font_size 8)))
		(text "alu_op1_sel_low" (rect 21 251 117 265)(font "Arial" (font_size 8)))
		(line (pt 0 256)(pt 16 256))
	)
	(port
		(pt 0 272)
		(input)
		(text "alu_op1_sel_zero" (rect 0 0 101 14)(font "Arial" (font_size 8)))
		(text "alu_op1_sel_zero" (rect 21 267 122 281)(font "Arial" (font_size 8)))
		(line (pt 0 272)(pt 16 272))
	)
	(port
		(pt 0 288)
		(input)
		(text "alu_op1_sel_bus" (rect 0 0 96 14)(font "Arial" (font_size 8)))
		(text "alu_op1_sel_bus" (rect 21 283 117 297)(font "Arial" (font_size 8)))
		(line (pt 0 288)(pt 16 288))
	)
	(port
		(pt 0 304)
		(input)
		(text "alu_op2_sel_zero" (rect 0 0 101 14)(font "Arial" (font_size 8)))
		(text "alu_op2_sel_zero" (rect 21 299 122 313)(font "Arial" (font_size 8)))
		(line (pt 0 304)(pt 16 304))
	)
	(port
		(pt 0 320)
		(input)
		(text "alu_op2_sel_bus" (rect 0 0 96 14)(font "Arial" (font_size 8)))
		(text "alu_op2_sel_bus" (rect 21 315 117 329)(font "Arial" (font_size 8)))
		(line (pt 0 320)(pt 16 320))
	)
	(port
		(pt 0 336)
		(input)
		(text "alu_op2_sel_lq" (rect 0 0 84 14)(font "Arial" (font_size 8)))
		(text "alu_op2_sel_lq" (rect 21 331 105 345)(font "Arial" (font_size 8)))
		(line (pt 0 336)(pt 16 336))
	)
	(port
		(pt 0 352)
		(input)
		(text "alu_op_low" (rect 0 0 66 14)(font "Arial" (font_size 8)))
		(text "alu_op_low" (rect 21 347 87 361)(font "Arial" (font_size 8)))
		(line (pt 0 352)(pt 16 352))
	)
	(port
		(pt 0 368)
		(input)
		(text "alu_sel_op2_neg" (rect 0 0 96 14)(font "Arial" (font_size 8)))
		(text "alu_sel_op2_neg" (rect 21 363 117 377)(font "Arial" (font_size 8)))
		(line (pt 0 368)(pt 16 368))
	)
	(port
		(pt 0 384)
		(input)
		(text "alu_sel_op2_high" (rect 0 0 99 14)(font "Arial" (font_size 8)))
		(text "alu_sel_op2_high" (rect 21 379 120 393)(font "Arial" (font_size 8)))
		(line (pt 0 384)(pt 16 384))
	)
	(port
		(pt 0 400)
		(input)
		(text "clk" (rect 0 0 15 14)(font "Arial" (font_size 8)))
		(text "clk" (rect 21 395 36 409)(font "Arial" (font_size 8)))
		(line (pt 0 400)(pt 16 400))
	)
	(port
		(pt 0 416)
		(input)
		(text "bsel[2..0]" (rect 0 0 51 14)(font "Arial" (font_size 8)))
		(text "bsel[2..0]" (rect 21 411 72 425)(font "Arial" (font_size 8)))
		(line (pt 0 416)(pt 16 416)(line_width 3))
	)
	(port
		(pt 256 32)
		(output)
		(text "alu_zero" (rect 0 0 49 14)(font "Arial" (font_size 8)))
		(text "alu_zero" (rect 186 27 235 41)(font "Arial" (font_size 8)))
		(line (pt 256 32)(pt 240 32))
	)
	(port
		(pt 256 48)
		(output)
		(text "alu_parity_out" (rect 0 0 80 14)(font "Arial" (font_size 8)))
		(text "alu_parity_out" (rect 155 43 235 57)(font "Arial" (font_size 8)))
		(line (pt 256 48)(pt 240 48))
	)
	(port
		(pt 256 64)
		(output)
		(text "alu_high_eq_9" (rect 0 0 82 14)(font "Arial" (font_size 8)))
		(text "alu_high_eq_9" (rect 153 59 235 73)(font "Arial" (font_size 8)))
		(line (pt 256 64)(pt 240 64))
	)
	(port
		(pt 256 80)
		(output)
		(text "alu_high_gt_9" (rect 0 0 79 14)(font "Arial" (font_size 8)))
		(text "alu_high_gt_9" (rect 156 75 235 89)(font "Arial" (font_size 8)))
		(line (pt 256 80)(pt 240 80))
	)
	(port
		(pt 256 96)
		(output)
		(text "alu_low_gt_9" (rect 0 0 76 14)(font "Arial" (font_size 8)))
		(text "alu_low_gt_9" (rect 159 91 235 105)(font "Arial" (font_size 8)))
		(line (pt 256 96)(pt 240 96))
	)
	(port
		(pt 256 112)
		(output)
		(text "alu_shift_db0" (rect 0 0 76 14)(font "Arial" (font_size 8)))
		(text "alu_shift_db0" (rect 159 107 235 121)(font "Arial" (font_size 8)))
		(line (pt 256 112)(pt 240 112))
	)
	(port
		(pt 256 128)
		(output)
		(text "alu_shift_db7" (rect 0 0 76 14)(font "Arial" (font_size 8)))
		(text "alu_shift_db7" (rect 159 123 235 137)(font "Arial" (font_size 8)))
		(line (pt 256 128)(pt 240 128))
	)
	(port
		(pt 256 144)
		(output)
		(text "alu_core_cf_out" (rect 0 0 93 14)(font "Arial" (font_size 8)))
		(text "alu_core_cf_out" (rect 142 139 235 153)(font "Arial" (font_size 8)))
		(line (pt 256 144)(pt 240 144))
	)
	(port
		(pt 256 160)
		(output)
		(text "alu_sf_out" (rect 0 0 60 14)(font "Arial" (font_size 8)))
		(text "alu_sf_out" (rect 175 155 235 169)(font "Arial" (font_size 8)))
		(line (pt 256 160)(pt 240 160))
	)
	(port
		(pt 256 176)
		(output)
		(text "alu_yf_out" (rect 0 0 60 14)(font "Arial" (font_size 8)))
		(text "alu_yf_out" (rect 175 171 235 185)(font "Arial" (font_size 8)))
		(line (pt 256 176)(pt 240 176))
	)
	(port
		(pt 256 192)
		(output)
		(text "alu_xf_out" (rect 0 0 60 14)(font "Arial" (font_size 8)))
		(text "alu_xf_out" (rect 175 187 235 201)(font "Arial" (font_size 8)))
		(line (pt 256 192)(pt 240 192))
	)
	(port
		(pt 256 208)
		(output)
		(text "alu_vf_out" (rect 0 0 60 14)(font "Arial" (font_size 8)))
		(text "alu_vf_out" (rect 175 203 235 217)(font "Arial" (font_size 8)))
		(line (pt 256 208)(pt 240 208))
	)
	(port
		(pt 256 224)
		(output)
		(text "test_db_low[3..0]" (rect 0 0 99 14)(font "Arial" (font_size 8)))
		(text "test_db_low[3..0]" (rect 136 219 235 233)(font "Arial" (font_size 8)))
		(line (pt 256 224)(pt 240 224)(line_width 3))
	)
	(port
		(pt 256 256)
		(output)
		(text "test_db_high[3..0]" (rect 0 0 101 14)(font "Arial" (font_size 8)))
		(text "test_db_high[3..0]" (rect 134 251 235 265)(font "Arial" (font_size 8)))
		(line (pt 256 256)(pt 240 256)(line_width 3))
	)
	(port
		(pt 256 240)
		(bidir)
		(text "db[7..0]" (rect 0 0 42 14)(font "Arial" (font_size 8)))
		(text "db[7..0]" (rect 193 235 235 249)(font "Arial" (font_size 8)))
		(line (pt 256 240)(pt 240 240)(line_width 3))
	)
	(drawing
		(rectangle (rect 16 16 240 432))
	)
)


================================================
FILE: cpu/alu/alu.v
================================================
// Copyright (C) 1991-2013 Altera Corporation
// Your use of Altera Corporation's design tools, logic functions 
// and other software and tools, and its AMPP partner logic 
// functions, and any output files from any of the foregoing 
// (including device programming or simulation files), and any 
// associated documentation or information are expressly subject 
// to the terms and conditions of the Altera Program License 
// Subscription Agreement, Altera MegaCore Function License 
// Agreement, or other applicable license agreement, including, 
// without limitation, that your use is for the sole purpose of 
// programming logic devices manufactured by Altera and sold by 
// Altera or its authorized distributors.  Please refer to the 
// applicable agreement for further details.

// PROGRAM		"Quartus II 64-Bit"
// VERSION		"Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED		"Fri Nov 07 19:44:45 2014"

module alu(
	alu_core_R,
	alu_core_V,
	alu_core_S,
	alu_bs_oe,
	alu_parity_in,
	alu_oe,
	alu_shift_oe,
	alu_core_cf_in,
	alu_op2_oe,
	alu_op1_oe,
	alu_res_oe,
	alu_op1_sel_low,
	alu_op1_sel_zero,
	alu_op1_sel_bus,
	alu_op2_sel_zero,
	alu_op2_sel_bus,
	alu_op2_sel_lq,
	alu_op_low,
	alu_shift_in,
	alu_sel_op2_neg,
	alu_sel_op2_high,
	alu_shift_left,
	alu_shift_right,
	clk,
	bsel,
	alu_zero,
	alu_parity_out,
	alu_high_eq_9,
	alu_high_gt_9,
	alu_low_gt_9,
	alu_shift_db0,
	alu_shift_db7,
	alu_core_cf_out,
	alu_sf_out,
	alu_yf_out,
	alu_xf_out,
	alu_vf_out,
	db,
	test_db_high,
	test_db_low
);


input wire	alu_core_R;
input wire	alu_core_V;
input wire	alu_core_S;
input wire	alu_bs_oe;
input wire	alu_parity_in;
input wire	alu_oe;
input wire	alu_shift_oe;
input wire	alu_core_cf_in;
input wire	alu_op2_oe;
input wire	alu_op1_oe;
input wire	alu_res_oe;
input wire	alu_op1_sel_low;
input wire	alu_op1_sel_zero;
input wire	alu_op1_sel_bus;
input wire	alu_op2_sel_zero;
input wire	alu_op2_sel_bus;
input wire	alu_op2_sel_lq;
input wire	alu_op_low;
input wire	alu_shift_in;
input wire	alu_sel_op2_neg;
input wire	alu_sel_op2_high;
input wire	alu_shift_left;
input wire	alu_shift_right;
input wire	clk;
input wire	[2:0] bsel;
output wire	alu_zero;
output wire	alu_parity_out;
output wire	alu_high_eq_9;
output wire	alu_high_gt_9;
output wire	alu_low_gt_9;
output wire	alu_shift_db0;
output wire	alu_shift_db7;
output wire	alu_core_cf_out;
output wire	alu_sf_out;
output wire	alu_yf_out;
output wire	alu_xf_out;
output wire	alu_vf_out;
inout wire	[7:0] db;
output wire	[3:0] test_db_high;
output wire	[3:0] test_db_low;

wire	[3:0] alu_op1;
wire	[3:0] alu_op2;
wire	[3:0] db_high;
wire	[3:0] db_low;
reg	[3:0] op1_high;
reg	[3:0] op1_low;
reg	[3:0] op2_high;
reg	[3:0] op2_low;
wire	[3:0] result_hi;
reg	[3:0] result_lo;
wire	[3:0] SYNTHESIZED_WIRE_0;
wire	[3:0] SYNTHESIZED_WIRE_1;
wire	[3:0] SYNTHESIZED_WIRE_2;
wire	[3:0] SYNTHESIZED_WIRE_3;
wire	SYNTHESIZED_WIRE_35;
wire	[3:0] SYNTHESIZED_WIRE_5;
wire	[3:0] SYNTHESIZED_WIRE_7;
wire	[3:0] SYNTHESIZED_WIRE_8;
wire	SYNTHESIZED_WIRE_9;
wire	[3:0] SYNTHESIZED_WIRE_10;
wire	[3:0] SYNTHESIZED_WIRE_11;
wire	[3:0] SYNTHESIZED_WIRE_12;
wire	[3:0] SYNTHESIZED_WIRE_13;
wire	[3:0] SYNTHESIZED_WIRE_14;
wire	[3:0] SYNTHESIZED_WIRE_15;
wire	[3:0] SYNTHESIZED_WIRE_16;
wire	SYNTHESIZED_WIRE_17;
wire	[3:0] SYNTHESIZED_WIRE_18;
wire	SYNTHESIZED_WIRE_36;
wire	SYNTHESIZED_WIRE_20;
wire	[3:0] SYNTHESIZED_WIRE_21;
wire	SYNTHESIZED_WIRE_23;
wire	[3:0] SYNTHESIZED_WIRE_24;
wire	SYNTHESIZED_WIRE_37;
wire	SYNTHESIZED_WIRE_26;
wire	[3:0] SYNTHESIZED_WIRE_27;
wire	SYNTHESIZED_WIRE_29;
wire	SYNTHESIZED_WIRE_30;
wire	SYNTHESIZED_WIRE_31;
wire	SYNTHESIZED_WIRE_32;
wire	[3:0] SYNTHESIZED_WIRE_33;
wire	[3:0] SYNTHESIZED_WIRE_34;




assign	db_low[3] = alu_bs_oe ? SYNTHESIZED_WIRE_0[3] : 1'bz;
assign	db_low[2] = alu_bs_oe ? SYNTHESIZED_WIRE_0[2] : 1'bz;
assign	db_low[1] = alu_bs_oe ? SYNTHESIZED_WIRE_0[1] : 1'bz;
assign	db_low[0] = alu_bs_oe ? SYNTHESIZED_WIRE_0[0] : 1'bz;

assign	db_high[3] = alu_bs_oe ? SYNTHESIZED_WIRE_1[3] : 1'bz;
assign	db_high[2] = alu_bs_oe ? SYNTHESIZED_WIRE_1[2] : 1'bz;
assign	db_high[1] = alu_bs_oe ? SYNTHESIZED_WIRE_1[1] : 1'bz;
assign	db_high[0] = alu_bs_oe ? SYNTHESIZED_WIRE_1[0] : 1'bz;


alu_core	b2v_core(
	.cy_in(alu_core_cf_in),
	.S(alu_core_S),
	.V(alu_core_V),
	.R(alu_core_R),
	.op1(alu_op1),
	.op2(alu_op2),
	.cy_out(alu_core_cf_out),
	.vf_out(alu_vf_out),
	.result(result_hi));

assign	db[3] = alu_oe ? db_low[3] : 1'bz;
assign	db[2] = alu_oe ? db_low[2] : 1'bz;
assign	db[1] = alu_oe ? db_low[1] : 1'bz;
assign	db[0] = alu_oe ? db_low[0] : 1'bz;

assign	db[7] = alu_oe ? db_high[3] : 1'bz;
assign	db[6] = alu_oe ? db_high[2] : 1'bz;
assign	db[5] = alu_oe ? db_high[1] : 1'bz;
assign	db[4] = alu_oe ? db_high[0] : 1'bz;


alu_bit_select	b2v_input_bit_select(
	.bsel(bsel),
	.bs_out_high(SYNTHESIZED_WIRE_1),
	.bs_out_low(SYNTHESIZED_WIRE_0));


alu_shifter_core	b2v_input_shift(
	.shift_in(alu_shift_in),
	.shift_left(alu_shift_left),
	.shift_right(alu_shift_right),
	.db(db),
	.shift_db0(alu_shift_db0),
	.shift_db7(alu_shift_db7),
	.out_high(SYNTHESIZED_WIRE_34),
	.out_low(SYNTHESIZED_WIRE_33));


always@(posedge clk)
begin
if (alu_op_low)
	begin
	result_lo[3:0] <= result_hi[3:0];
	end
end

assign	alu_op1 = SYNTHESIZED_WIRE_2 | SYNTHESIZED_WIRE_3;

assign	SYNTHESIZED_WIRE_17 =  ~alu_op_low;

assign	db_low[3] = alu_op2_oe ? op2_low[3] : 1'bz;
assign	db_low[2] = alu_op2_oe ? op2_low[2] : 1'bz;
assign	db_low[1] = alu_op2_oe ? op2_low[1] : 1'bz;
assign	db_low[0] = alu_op2_oe ? op2_low[0] : 1'bz;

assign	db_high[3] = alu_op2_oe ? op2_high[3] : 1'bz;
assign	db_high[2] = alu_op2_oe ? op2_high[2] : 1'bz;
assign	db_high[1] = alu_op2_oe ? op2_high[1] : 1'bz;
assign	db_high[0] = alu_op2_oe ? op2_high[0] : 1'bz;

assign	SYNTHESIZED_WIRE_5 =  ~op2_low;

assign	SYNTHESIZED_WIRE_7 =  ~op2_high;

assign	SYNTHESIZED_WIRE_12 = op2_low & {SYNTHESIZED_WIRE_35,SYNTHESIZED_WIRE_35,SYNTHESIZED_WIRE_35,SYNTHESIZED_WIRE_35};

assign	SYNTHESIZED_WIRE_11 = {alu_sel_op2_neg,alu_sel_op2_neg,alu_sel_op2_neg,alu_sel_op2_neg} & SYNTHESIZED_WIRE_5;

assign	SYNTHESIZED_WIRE_14 = op2_high & {SYNTHESIZED_WIRE_35,SYNTHESIZED_WIRE_35,SYNTHESIZED_WIRE_35,SYNTHESIZED_WIRE_35};

assign	SYNTHESIZED_WIRE_13 = {alu_sel_op2_neg,alu_sel_op2_neg,alu_sel_op2_neg,alu_sel_op2_neg} & SYNTHESIZED_WIRE_7;

assign	SYNTHESIZED_WIRE_16 = SYNTHESIZED_WIRE_8 & {SYNTHESIZED_WIRE_9,SYNTHESIZED_WIRE_9,SYNTHESIZED_WIRE_9,SYNTHESIZED_WIRE_9};

assign	SYNTHESIZED_WIRE_15 = {alu_sel_op2_high,alu_sel_op2_high,alu_sel_op2_high,alu_sel_op2_high} & SYNTHESIZED_WIRE_10;

assign	SYNTHESIZED_WIRE_8 = SYNTHESIZED_WIRE_11 | SYNTHESIZED_WIRE_12;

assign	SYNTHESIZED_WIRE_10 = SYNTHESIZED_WIRE_13 | SYNTHESIZED_WIRE_14;

assign	alu_op2 = SYNTHESIZED_WIRE_15 | SYNTHESIZED_WIRE_16;

assign	SYNTHESIZED_WIRE_35 =  ~alu_sel_op2_neg;

assign	SYNTHESIZED_WIRE_9 =  ~alu_sel_op2_high;

assign	db_low[3] = alu_res_oe ? result_lo[3] : 1'bz;
assign	db_low[2] = alu_res_oe ? result_lo[2] : 1'bz;
assign	db_low[1] = alu_res_oe ? result_lo[1] : 1'bz;
assign	db_low[0] = alu_res_oe ? result_lo[0] : 1'bz;

assign	db_high[3] = alu_res_oe ? result_hi[3] : 1'bz;
assign	db_high[2] = alu_res_oe ? result_hi[2] : 1'bz;
assign	db_high[1] = alu_res_oe ? result_hi[1] : 1'bz;
assign	db_high[0] = alu_res_oe ? result_hi[0] : 1'bz;

assign	SYNTHESIZED_WIRE_3 = op1_low & {alu_op_low,alu_op_low,alu_op_low,alu_op_low};

assign	SYNTHESIZED_WIRE_2 = {SYNTHESIZED_WIRE_17,SYNTHESIZED_WIRE_17,SYNTHESIZED_WIRE_17,SYNTHESIZED_WIRE_17} & op1_high;


always@(posedge SYNTHESIZED_WIRE_36)
begin
if (SYNTHESIZED_WIRE_20)
	begin
	op1_high[3:0] <= SYNTHESIZED_WIRE_18[3:0];
	end
end


always@(posedge SYNTHESIZED_WIRE_36)
begin
if (SYNTHESIZED_WIRE_23)
	begin
	op1_low[3:0] <= SYNTHESIZED_WIRE_21[3:0];
	end
end


always@(posedge SYNTHESIZED_WIRE_37)
begin
if (SYNTHESIZED_WIRE_26)
	begin
	op2_high[3:0] <= SYNTHESIZED_WIRE_24[3:0];
	end
end


always@(posedge SYNTHESIZED_WIRE_37)
begin
if (SYNTHESIZED_WIRE_29)
	begin
	op2_low[3:0] <= SYNTHESIZED_WIRE_27[3:0];
	end
end

assign	db_low[3] = alu_op1_oe ? op1_low[3] : 1'bz;
assign	db_low[2] = alu_op1_oe ? op1_low[2] : 1'bz;
assign	db_low[1] = alu_op1_oe ? op1_low[1] : 1'bz;
assign	db_low[0] = alu_op1_oe ? op1_low[0] : 1'bz;

assign	db_high[3] = alu_op1_oe ? op1_high[3] : 1'bz;
assign	db_high[2] = alu_op1_oe ? op1_high[2] : 1'bz;
assign	db_high[1] = alu_op1_oe ? op1_high[1] : 1'bz;
assign	db_high[0] = alu_op1_oe ? op1_high[0] : 1'bz;

assign	SYNTHESIZED_WIRE_36 =  ~clk;

assign	SYNTHESIZED_WIRE_37 =  ~clk;


alu_mux_2z	b2v_op1_latch_mux_high(
	.sel_a(alu_op1_sel_bus),
	.sel_zero(alu_op1_sel_zero),
	.a(db_high),
	.ena(SYNTHESIZED_WIRE_20),
	.Q(SYNTHESIZED_WIRE_18));


alu_mux_3z	b2v_op1_latch_mux_low(
	.sel_a(alu_op1_sel_bus),
	.sel_b(alu_op1_sel_low),
	.sel_zero(alu_op1_sel_zero),
	.a(db_low),
	.b(db_high),
	.ena(SYNTHESIZED_WIRE_23),
	.Q(SYNTHESIZED_WIRE_21));


alu_mux_3z	b2v_op2_latch_mux_high(
	.sel_a(alu_op2_sel_bus),
	.sel_b(alu_op2_sel_lq),
	.sel_zero(alu_op2_sel_zero),
	.a(db_high),
	.b(db_low),
	.ena(SYNTHESIZED_WIRE_26),
	.Q(SYNTHESIZED_WIRE_24));


alu_mux_3z	b2v_op2_latch_mux_low(
	.sel_a(alu_op2_sel_bus),
	.sel_b(alu_op2_sel_lq),
	.sel_zero(alu_op2_sel_zero),
	.a(db_low),
	.b(alu_op1),
	.ena(SYNTHESIZED_WIRE_29),
	.Q(SYNTHESIZED_WIRE_27));

assign	alu_parity_out = SYNTHESIZED_WIRE_30 ^ result_hi[0];

assign	SYNTHESIZED_WIRE_30 = SYNTHESIZED_WIRE_31 ^ result_hi[1];

assign	SYNTHESIZED_WIRE_31 = SYNTHESIZED_WIRE_32 ^ result_hi[2];

assign	SYNTHESIZED_WIRE_32 = alu_parity_in ^ result_hi[3];


alu_prep_daa	b2v_prep_daa(
	.high(op1_high),
	.low(op1_low),
	.low_gt_9(alu_low_gt_9),
	.high_gt_9(alu_high_gt_9),
	.high_eq_9(alu_high_eq_9));

assign	db_low[3] = alu_shift_oe ? SYNTHESIZED_WIRE_33[3] : 1'bz;
assign	db_low[2] = alu_shift_oe ? SYNTHESIZED_WIRE_33[2] : 1'bz;
assign	db_low[1] = alu_shift_oe ? SYNTHESIZED_WIRE_33[1] : 1'bz;
assign	db_low[0] = alu_shift_oe ? SYNTHESIZED_WIRE_33[0] : 1'bz;

assign	db_high[3] = alu_shift_oe ? SYNTHESIZED_WIRE_34[3] : 1'bz;
assign	db_high[2] = alu_shift_oe ? SYNTHESIZED_WIRE_34[2] : 1'bz;
assign	db_high[1] = alu_shift_oe ? SYNTHESIZED_WIRE_34[1] : 1'bz;
assign	db_high[0] = alu_shift_oe ? SYNTHESIZED_WIRE_34[0] : 1'bz;

assign	alu_zero = ~(db_low[2] | db_low[1] | db_low[3] | db_high[1] | db_high[0] | db_high[2] | db_low[0] | db_high[3]);

assign	alu_sf_out = db_high[3];
assign	alu_yf_out = db_high[1];
assign	alu_xf_out = db_low[3];
assign	test_db_high = db_high;
assign	test_db_low = db_low;

endmodule


================================================
FILE: cpu/alu/alu_bit_select.bdf
================================================
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 1991-2013 Altera Corporation
Your use of Altera Corporation's design tools, logic functions 
and other software and tools, and its AMPP partner logic 
functions, and any output files from any of the foregoing 
(including device programming or simulation files), and any 
associated documentation or information are expressly subject 
to the terms and conditions of the Altera Program License 
Subscription Agreement, Altera MegaCore Function License 
Agreement, or other applicable license agreement, including, 
without limitation, that your use is for the sole purpose of 
programming logic devices manufactured by Altera and sold by 
Altera or its authorized distributors.  Please refer to the 
applicable agreement for further details.
*/
(header "graphic" (version "1.4"))
(pin
	(input)
	(rect 24 32 200 48)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "bsel[2..0]" (rect 9 0 55 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(output)
	(rect 712 136 888 152)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "bs_out_low[3..0]" (rect 90 0 170 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 720 328 896 344)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "bs_out_high[3..0]" (rect 90 0 174 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(symbol
	(rect 448 120 512 168)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and0" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 448 168 512 216)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and1" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 448 216 512 264)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and2" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 448 264 512 312)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and3" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 448 312 512 360)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and4" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 448 360 512 408)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and5" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 448 408 512 456)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and6" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 448 456 512 504)
	(text "AND3" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "and7" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 16 16))
	)
	(port
		(pt 0 24)
		(input)
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 15 19 27)(font "Courier New" (bold))(invisible))
		(line (pt 0 24)(pt 16 24))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 43 24)(pt 64 24))
	)
	(drawing
		(line (pt 16 12)(pt 31 12))
		(line (pt 16 37)(pt 31 37))
		(line (pt 16 12)(pt 16 37))
		(arc (pt 31 36)(pt 31 12)(rect 19 12 44 37))
	)
)
(symbol
	(rect 272 40 320 72)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "not0" (rect 3 21 24 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 272 80 320 112)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "not1" (rect 3 21 24 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 272 120 320 152)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "not2" (rect 3 21 24 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(connector
	(pt 256 40)
	(pt 256 56)
)
(connector
	(pt 256 80)
	(pt 256 96)
)
(connector
	(pt 256 120)
	(pt 256 136)
)
(connector
	(pt 400 136)
	(pt 448 136)
)
(connector
	(pt 368 144)
	(pt 448 144)
)
(connector
	(pt 336 152)
	(pt 448 152)
)
(connector
	(pt 416 184)
	(pt 448 184)
)
(connector
	(pt 368 192)
	(pt 448 192)
)
(connector
	(pt 336 200)
	(pt 448 200)
)
(connector
	(pt 400 232)
	(pt 448 232)
)
(connector
	(pt 384 240)
	(pt 448 240)
)
(connector
	(pt 336 248)
	(pt 448 248)
)
(connector
	(pt 416 280)
	(pt 448 280)
)
(connector
	(pt 384 288)
	(pt 448 288)
)
(connector
	(pt 336 296)
	(pt 448 296)
)
(connector
	(pt 400 328)
	(pt 448 328)
)
(connector
	(pt 368 336)
	(pt 448 336)
)
(connector
	(pt 352 344)
	(pt 448 344)
)
(connector
	(pt 416 376)
	(pt 448 376)
)
(connector
	(pt 368 384)
	(pt 448 384)
)
(connector
	(pt 352 392)
	(pt 448 392)
)
(connector
	(pt 400 424)
	(pt 448 424)
)
(connector
	(pt 384 432)
	(pt 448 432)
)
(connector
	(pt 352 440)
	(pt 448 440)
)
(connector
	(pt 416 472)
	(pt 448 472)
)
(connector
	(pt 384 480)
	(pt 448 480)
)
(connector
	(pt 352 488)
	(pt 448 488)
)
(connector
	(pt 256 56)
	(pt 272 56)
)
(connector
	(pt 256 96)
	(pt 272 96)
)
(connector
	(pt 256 136)
	(pt 272 136)
)
(connector
	(text "bs_out_low[3..0]" (rect 647 128 727 140)(font "Arial" ))
	(pt 632 144)
	(pt 712 144)
	(bus)
)
(connector
	(text "bs_out_high[3..0]" (rect 644 320 728 332)(font "Arial" ))
	(pt 632 336)
	(pt 720 336)
	(bus)
)
(connector
	(text "bs_out_low[0]" (rect 562 128 629 140)(font "Arial" ))
	(pt 512 144)
	(pt 632 144)
)
(connector
	(text "bs_out_low[1]" (rect 564 176 631 188)(font "Arial" ))
	(pt 512 192)
	(pt 632 192)
)
(connector
	(text "bs_out_low[2]" (rect 563 224 630 236)(font "Arial" ))
	(pt 512 240)
	(pt 632 240)
)
(connector
	(text "bs_out_low[3]" (rect 563 272 630 284)(font "Arial" ))
	(pt 512 288)
	(pt 632 288)
)
(connector
	(text "bs_out_high[0]" (rect 563 320 634 332)(font "Arial" ))
	(pt 512 336)
	(pt 632 336)
)
(connector
	(text "bs_out_high[1]" (rect 563 368 634 380)(font "Arial" ))
	(pt 512 384)
	(pt 632 384)
)
(connector
	(text "bs_out_high[2]" (rect 564 416 635 428)(font "Arial" ))
	(pt 512 432)
	(pt 632 432)
)
(connector
	(text "bs_out_high[3]" (rect 563 464 634 476)(font "Arial" ))
	(pt 512 480)
	(pt 632 480)
)
(connector
	(pt 320 56)
	(pt 400 56)
)
(connector
	(pt 320 96)
	(pt 368 96)
)
(connector
	(pt 320 136)
	(pt 336 136)
)
(connector
	(pt 400 56)
	(pt 400 136)
)
(connector
	(pt 400 136)
	(pt 400 232)
)
(connector
	(pt 400 232)
	(pt 400 328)
)
(connector
	(pt 400 328)
	(pt 400 424)
)
(connector
	(pt 368 96)
	(pt 368 144)
)
(connector
	(pt 368 144)
	(pt 368 192)
)
(connector
	(pt 368 192)
	(pt 368 336)
)
(connector
	(pt 368 336)
	(pt 368 384)
)
(connector
	(pt 336 136)
	(pt 336 152)
)
(connector
	(pt 336 152)
	(pt 336 200)
)
(connector
	(pt 336 200)
	(pt 336 248)
)
(connector
	(pt 336 248)
	(pt 336 296)
)
(connector
	(pt 352 120)
	(pt 352 344)
)
(connector
	(pt 352 344)
	(pt 352 392)
)
(connector
	(pt 352 392)
	(pt 352 440)
)
(connector
	(pt 352 440)
	(pt 352 488)
)
(connector
	(pt 416 40)
	(pt 416 184)
)
(connector
	(pt 416 184)
	(pt 416 280)
)
(connector
	(pt 416 280)
	(pt 416 376)
)
(connector
	(pt 416 376)
	(pt 416 472)
)
(connector
	(pt 384 80)
	(pt 384 240)
)
(connector
	(pt 384 240)
	(pt 384 288)
)
(connector
	(pt 384 288)
	(pt 384 432)
)
(connector
	(pt 384 432)
	(pt 384 480)
)
(connector
	(text "bsel[0]" (rect 222 24 255 36)(font "Arial" ))
	(pt 216 40)
	(pt 256 40)
)
(connector
	(pt 256 40)
	(pt 416 40)
)
(connector
	(pt 216 40)
	(pt 216 80)
	(bus)
)
(connector
	(pt 216 80)
	(pt 216 120)
	(bus)
)
(connector
	(text "bsel[1]" (rect 221 64 254 76)(font "Arial" ))
	(pt 216 80)
	(pt 256 80)
)
(connector
	(pt 256 80)
	(pt 384 80)
)
(connector
	(text "bsel[2]" (rect 220 104 253 116)(font "Arial" ))
	(pt 216 120)
	(pt 256 120)
)
(connector
	(pt 256 120)
	(pt 352 120)
)
(connector
	(pt 632 144)
	(pt 632 192)
	(bus)
)
(connector
	(pt 632 192)
	(pt 632 240)
	(bus)
)
(connector
	(pt 632 240)
	(pt 632 288)
	(bus)
)
(connector
	(pt 632 336)
	(pt 632 384)
	(bus)
)
(connector
	(pt 632 384)
	(pt 632 432)
	(bus)
)
(connector
	(pt 632 432)
	(pt 632 480)
	(bus)
)
(connector
	(pt 200 40)
	(pt 216 40)
	(bus)
)
(junction (pt 400 136))
(junction (pt 400 232))
(junction (pt 400 328))
(junction (pt 368 144))
(junction (pt 368 192))
(junction (pt 368 336))
(junction (pt 336 152))
(junction (pt 336 200))
(junction (pt 336 248))
(junction (pt 352 344))
(junction (pt 352 392))
(junction (pt 352 440))
(junction (pt 416 184))
(junction (pt 416 280))
(junction (pt 416 376))
(junction (pt 384 240))
(junction (pt 384 288))
(junction (pt 384 432))
(junction (pt 256 40))
(junction (pt 216 40))
(junction (pt 256 80))
(junction (pt 216 80))
(junction (pt 256 120))
(junction (pt 632 144))
(junction (pt 632 192))
(junction (pt 632 240))
(junction (pt 632 336))
(junction (pt 632 384))
(junction (pt 632 432))
(title_block
	(rect 24 536 281 588)
	(name "title-custom-small")
	(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
	(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "alu_bit_select" (rect 43 2 137 17)(font "Arial" (font_size 9)(bold)))(border))
	(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
	(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "May 18, 2014" (rect 56 3 132 17)(font "Arial" (font_size 8)))(border))
	(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.0" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
	(drawing
	)
)


================================================
FILE: cpu/alu/alu_bit_select.bsf
================================================
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 1991-2013 Altera Corporation
Your use of Altera Corporation's design tools, logic functions 
and other software and tools, and its AMPP partner logic 
functions, and any output files from any of the foregoing 
(including device programming or simulation files), and any 
associated documentation or information are expressly subject 
to the terms and conditions of the Altera Program License 
Subscription Agreement, Altera MegaCore Function License 
Agreement, or other applicable license agreement, including, 
without limitation, that your use is for the sole purpose of 
programming logic devices manufactured by Altera and sold by 
Altera or its authorized distributors.  Please refer to the 
applicable agreement for further details.
*/
(header "symbol" (version "1.2"))
(symbol
	(rect 16 16 216 112)
	(text "alu_bit_select" (rect 5 0 82 14)(font "Arial" (font_size 8)))
	(text "inst" (rect 8 80 25 92)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "bsel[2..0]" (rect 0 0 51 14)(font "Arial" (font_size 8)))
		(text "bsel[2..0]" (rect 21 27 72 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 200 32)
		(output)
		(text "bs_out_low[3..0]" (rect 0 0 95 14)(font "Arial" (font_size 8)))
		(text "bs_out_low[3..0]" (rect 84 27 179 41)(font "Arial" (font_size 8)))
		(line (pt 200 32)(pt 184 32)(line_width 3))
	)
	(port
		(pt 200 48)
		(output)
		(text "bs_out_high[3..0]" (rect 0 0 97 14)(font "Arial" (font_size 8)))
		(text "bs_out_high[3..0]" (rect 82 43 179 57)(font "Arial" (font_size 8)))
		(line (pt 200 48)(pt 184 48)(line_width 3))
	)
	(drawing
		(rectangle (rect 16 16 184 80))
	)
	(fill (color 217 255 255))
)


================================================
FILE: cpu/alu/alu_bit_select.v
================================================
// Copyright (C) 1991-2013 Altera Corporation
// Your use of Altera Corporation's design tools, logic functions 
// and other software and tools, and its AMPP partner logic 
// functions, and any output files from any of the foregoing 
// (including device programming or simulation files), and any 
// associated documentation or information are expressly subject 
// to the terms and conditions of the Altera Program License 
// Subscription Agreement, Altera MegaCore Function License 
// Agreement, or other applicable license agreement, including, 
// without limitation, that your use is for the sole purpose of 
// programming logic devices manufactured by Altera and sold by 
// Altera or its authorized distributors.  Please refer to the 
// applicable agreement for further details.

// PROGRAM		"Quartus II 64-Bit"
// VERSION		"Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition"
// CREATED		"Mon Oct 13 12:21:31 2014"

module alu_bit_select(
	bsel,
	bs_out_high,
	bs_out_low
);


input wire	[2:0] bsel;
output wire	[3:0] bs_out_high;
output wire	[3:0] bs_out_low;

wire	[3:0] bs_out_high_ALTERA_SYNTHESIZED;
wire	[3:0] bs_out_low_ALTERA_SYNTHESIZED;
wire	SYNTHESIZED_WIRE_12;
wire	SYNTHESIZED_WIRE_13;
wire	SYNTHESIZED_WIRE_14;




assign	bs_out_low_ALTERA_SYNTHESIZED[0] = SYNTHESIZED_WIRE_12 & SYNTHESIZED_WIRE_13 & SYNTHESIZED_WIRE_14;

assign	bs_out_low_ALTERA_SYNTHESIZED[1] = bsel[0] & SYNTHESIZED_WIRE_13 & SYNTHESIZED_WIRE_14;

assign	bs_out_low_ALTERA_SYNTHESIZED[2] = SYNTHESIZED_WIRE_12 & bsel[1] & SYNTHESIZED_WIRE_14;

assign	bs_out_low_ALTERA_SYNTHESIZED[3] = bsel[0] & bsel[1] & SYNTHESIZED_WIRE_14;

assign	bs_out_high_ALTERA_SYNTHESIZED[0] = SYNTHESIZED_WIRE_12 & SYNTHESIZED_WIRE_13 & bsel[2];

assign	bs_out_high_ALTERA_SYNTHESIZED[1] = bsel[0] & SYNTHESIZED_WIRE_13 & bsel[2];

assign	bs_out_high_ALTERA_SYNTHESIZED[2] = SYNTHESIZED_WIRE_12 & bsel[1] & bsel[2];

assign	bs_out_high_ALTERA_SYNTHESIZED[3] = bsel[0] & bsel[1] & bsel[2];

assign	SYNTHESIZED_WIRE_12 =  ~bsel[0];

assign	SYNTHESIZED_WIRE_13 =  ~bsel[1];

assign	SYNTHESIZED_WIRE_14 =  ~bsel[2];

assign	bs_out_high = bs_out_high_ALTERA_SYNTHESIZED;
assign	bs_out_low = bs_out_low_ALTERA_SYNTHESIZED;

endmodule


================================================
FILE: cpu/alu/alu_control.bdf
================================================
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 1991-2013 Altera Corporation
Your use of Altera Corporation's design tools, logic functions 
and other software and tools, and its AMPP partner logic 
functions, and any output files from any of the foregoing 
(including device programming or simulation files), and any 
associated documentation or information are expressly subject 
to the terms and conditions of the Altera Program License 
Subscription Agreement, Altera MegaCore Function License 
Agreement, or other applicable license agreement, including, 
without limitation, that your use is for the sole purpose of 
programming logic devices manufactured by Altera and sold by 
Altera or its authorized distributors.  Please refer to the 
applicable agreement for further details.
*/
(header "graphic" (version "1.4"))
(pin
	(input)
	(rect 32 256 208 272)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "op543[2..0]" (rect 9 0 64 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 88 208 104)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "alu_shift_db0" (rect 9 0 75 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 40 208 56)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "alu_shift_db7" (rect 9 0 75 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 144 208 160)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_shift_en" (rect 9 0 66 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 872 208 888)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "alu_low_gt_9" (rect 9 0 71 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 992 208 1008)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "alu_high_gt_9" (rect 9 0 76 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 968 208 984)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "alu_high_eq_9" (rect 9 0 78 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 800 208 816)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_daa_oe" (rect 9 0 62 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1192 208 1208)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_alu_op_low" (rect 9 0 79 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1160 208 1176)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "alu_parity_out" (rect 9 0 78 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 648 208 664)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "flags_cf" (rect 9 0 50 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 632 208 648)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "flags_zf" (rect 9 0 49 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 664 208 680)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "flags_pf" (rect 9 0 50 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 680 208 696)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "flags_sf" (rect 9 0 50 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 600 208 616)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_cond_short" (rect 9 0 80 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1416 208 1432)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "alu_vf_out" (rect 9 0 62 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1432 208 1448)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "iff2" (rect 9 0 26 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1384 208 1400)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_pf_sel[1..0]" (rect 9 0 83 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1552 208 1568)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_alu_core_hf" (rect 9 0 84 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 728 208 744)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_eval_cond" (rect 9 0 77 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1448 208 1464)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "repeat_en" (rect 9 0 57 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 304 208 320)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "flags_cf_latch" (rect 9 0 79 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 888 208 904)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "flags_hf2" (rect 9 0 56 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1592 208 1608)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "flags_hf" (rect 9 0 50 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 840 208 856)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "ctl_66_oe" (rect 9 0 56 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(input)
	(rect 32 1176 208 1192)
	(text "INPUT" (rect 133 0 161 10)(font "Arial" (font_size 6)))
	(text "clk" (rect 9 0 23 12)(font "Arial" ))
	(pt 176 8)
	(drawing
		(line (pt 92 12)(pt 117 12))
		(line (pt 92 4)(pt 117 4))
		(line (pt 121 8)(pt 176 8))
		(line (pt 92 12)(pt 92 4))
		(line (pt 117 4)(pt 121 8))
		(line (pt 117 12)(pt 121 8))
	)
	(text "VCC" (rect 136 7 156 17)(font "Arial" (font_size 6)))
)
(pin
	(output)
	(rect 648 256 824 272)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "alu_shift_in" (rect 90 0 146 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 648 200 824 216)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "alu_shift_right" (rect 90 0 159 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 648 152 824 168)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "alu_shift_left" (rect 90 0 154 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 648 72 824 88)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "shift_cf_out" (rect 90 0 150 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 792 872 968 888)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "db[7..0]" (rect 90 0 127 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 576 1248 752 1264)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "alu_parity_in" (rect 90 0 152 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 800 608 976 624)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "flags_cond_true" (rect 90 0 169 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 792 1072 968 1088)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "daa_cf_out" (rect 90 0 145 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 584 1384 760 1400)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "pf_sel" (rect 90 0 120 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 576 1288 752 1304)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "alu_op_low" (rect 90 0 143 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(pin
	(output)
	(rect 528 1608 704 1624)
	(text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6)))
	(text "alu_core_cf_in" (rect 90 0 161 12)(font "Arial" ))
	(pt 0 8)
	(drawing
		(line (pt 0 8)(pt 52 8))
		(line (pt 52 4)(pt 78 4))
		(line (pt 52 12)(pt 78 12))
		(line (pt 52 12)(pt 52 4))
		(line (pt 78 4)(pt 82 8))
		(line (pt 82 8)(pt 78 12))
		(line (pt 78 12)(pt 82 8))
	)
)
(symbol
	(rect 336 352 368 368)
	(text "VCC" (rect 7 0 27 10)(font "Arial" (font_size 6)))
	(text "vcc_inst" (rect 3 5 45 17)(font "Arial" )(invisible))
	(port
		(pt 16 16)
		(output)
		(text "1" (rect 19 7 24 19)(font "Courier New" (bold))(invisible))
		(text "1" (rect 19 7 24 19)(font "Courier New" (bold))(invisible))
		(line (pt 16 16)(pt 16 8))
	)
	(drawing
		(line (pt 8 8)(pt 24 8))
	)
)
(symbol
	(rect 384 408 416 440)
	(text "GND" (rect 8 16 29 26)(font "Arial" (font_size 6)))
	(text "gnd_inst" (rect 3 21 44 33)(font "Arial" )(invisible))
	(port
		(pt 16 0)
		(output)
		(text "1" (rect 18 0 23 12)(font "Courier New" (bold))(invisible))
		(text "1" (rect 18 0 23 12)(font "Courier New" (bold))(invisible))
		(line (pt 16 8)(pt 16 0))
	)
	(drawing
		(line (pt 8 8)(pt 16 16))
		(line (pt 16 16)(pt 24 8))
		(line (pt 8 8)(pt 24 8))
	)
)
(symbol
	(rect 448 232 560 424)
	(text "alu_mux_8" (rect 5 0 66 14)(font "Arial" (font_size 8)))
	(text "inst_shift_mux" (rect 8 176 81 188)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "sel[2..0]" (rect 0 0 44 14)(font "Arial" (font_size 8)))
		(text "sel[2..0]" (rect 21 27 65 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(input)
		(text "in0" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in0" (rect 21 43 37 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(port
		(pt 0 64)
		(input)
		(text "in1" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in1" (rect 21 59 37 73)(font "Arial" (font_size 8)))
		(line (pt 0 64)(pt 16 64))
	)
	(port
		(pt 0 80)
		(input)
		(text "in2" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in2" (rect 21 75 37 89)(font "Arial" (font_size 8)))
		(line (pt 0 80)(pt 16 80))
	)
	(port
		(pt 0 96)
		(input)
		(text "in3" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in3" (rect 21 91 37 105)(font "Arial" (font_size 8)))
		(line (pt 0 96)(pt 16 96))
	)
	(port
		(pt 0 112)
		(input)
		(text "in4" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in4" (rect 21 107 37 121)(font "Arial" (font_size 8)))
		(line (pt 0 112)(pt 16 112))
	)
	(port
		(pt 0 128)
		(input)
		(text "in5" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in5" (rect 21 123 37 137)(font "Arial" (font_size 8)))
		(line (pt 0 128)(pt 16 128))
	)
	(port
		(pt 0 144)
		(input)
		(text "in6" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in6" (rect 21 139 37 153)(font "Arial" (font_size 8)))
		(line (pt 0 144)(pt 16 144))
	)
	(port
		(pt 0 160)
		(input)
		(text "in7" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in7" (rect 21 155 37 169)(font "Arial" (font_size 8)))
		(line (pt 0 160)(pt 16 160))
	)
	(port
		(pt 112 32)
		(output)
		(text "out" (rect 0 0 17 14)(font "Arial" (font_size 8)))
		(text "out" (rect 74 27 91 41)(font "Arial" (font_size 8)))
		(line (pt 112 32)(pt 96 32))
	)
	(drawing
		(rectangle (rect 16 16 96 176))
	)
)
(symbol
	(rect 480 136 544 184)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst2" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 480 184 544 232)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst1" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 384 152 432 184)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "not1" (rect 3 21 24 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 384 48 432 80)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "not2" (rect 3 21 24 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 480 80 544 128)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst3" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 480 32 544 80)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst4" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 576 56 640 104)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst5" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 704 864 752 896)
	(text "TRI" (rect 1 0 16 10)(font "Arial" (font_size 6)))
	(text "inst" (rect 3 21 20 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 24 0)
		(input)
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(text "OE" (rect 26 0 37 12)(font "Courier New" (bold))(invisible))
		(line (pt 24 12)(pt 24 0))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 32 16)(pt 48 16))
	)
	(drawing
		(line (pt 14 25)(pt 14 7))
		(line (pt 14 25)(pt 32 16))
		(line (pt 14 7)(pt 32 16))
	)
)
(symbol
	(rect 320 864 384 912)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst22" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 320 944 384 992)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst23" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 584 1096 616 1128)
	(text "GND" (rect 8 16 29 26)(font "Arial" (font_size 6)))
	(text "gnd_inst8" (rect 3 21 50 33)(font "Arial" )(invisible))
	(port
		(pt 16 0)
		(output)
		(text "1" (rect 18 0 23 12)(font "Courier New" (bold))(invisible))
		(text "1" (rect 18 0 23 12)(font "Courier New" (bold))(invisible))
		(line (pt 16 8)(pt 16 0))
	)
	(drawing
		(line (pt 8 8)(pt 16 16))
		(line (pt 16 16)(pt 24 8))
		(line (pt 8 8)(pt 24 8))
	)
)
(symbol
	(rect 224 592 272 624)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "notcc" (rect 3 21 30 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 288 536 336 568)
	(text "WIRE" (rect 1 0 24 10)(font "Arial" (font_size 6)))
	(text "inst15" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 32 16)(pt 48 16))
	)
	(drawing
		(line (pt 14 7)(pt 32 16))
		(line (pt 14 25)(pt 14 7))
		(line (pt 14 25)(pt 32 16))
	)
)
(symbol
	(rect 432 856 496 904)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst24" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 536 888 584 920)
	(text "WIRE" (rect 1 0 24 10)(font "Arial" (font_size 6)))
	(text "inst16" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 32 16)(pt 48 16))
	)
	(drawing
		(line (pt 14 7)(pt 32 16))
		(line (pt 14 25)(pt 14 7))
		(line (pt 14 25)(pt 32 16))
	)
)
(symbol
	(rect 536 920 584 952)
	(text "WIRE" (rect 1 0 24 10)(font "Arial" (font_size 6)))
	(text "inst17" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 32 16)(pt 48 16))
	)
	(drawing
		(line (pt 14 7)(pt 32 16))
		(line (pt 14 25)(pt 14 7))
		(line (pt 14 25)(pt 32 16))
	)
)
(symbol
	(rect 536 992 584 1024)
	(text "WIRE" (rect 1 0 24 10)(font "Arial" (font_size 6)))
	(text "inst18" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 32 16)(pt 48 16))
	)
	(drawing
		(line (pt 14 7)(pt 32 16))
		(line (pt 14 25)(pt 14 7))
		(line (pt 14 25)(pt 32 16))
	)
)
(symbol
	(rect 536 1024 584 1056)
	(text "WIRE" (rect 1 0 24 10)(font "Arial" (font_size 6)))
	(text "inst19" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 32 16)(pt 48 16))
	)
	(drawing
		(line (pt 14 7)(pt 32 16))
		(line (pt 14 25)(pt 14 7))
		(line (pt 14 25)(pt 32 16))
	)
)
(symbol
	(rect 360 1360 472 1488)
	(text "alu_mux_4" (rect 5 0 66 14)(font "Arial" (font_size 8)))
	(text "inst_pf_sel" (rect 8 112 62 124)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "sel[1..0]" (rect 0 0 44 14)(font "Arial" (font_size 8)))
		(text "sel[1..0]" (rect 21 27 65 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(input)
		(text "in0" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in0" (rect 21 43 37 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(port
		(pt 0 64)
		(input)
		(text "in1" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in1" (rect 21 59 37 73)(font "Arial" (font_size 8)))
		(line (pt 0 64)(pt 16 64))
	)
	(port
		(pt 0 80)
		(input)
		(text "in2" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in2" (rect 21 75 37 89)(font "Arial" (font_size 8)))
		(line (pt 0 80)(pt 16 80))
	)
	(port
		(pt 0 96)
		(input)
		(text "in3" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in3" (rect 21 91 37 105)(font "Arial" (font_size 8)))
		(line (pt 0 96)(pt 16 96))
	)
	(port
		(pt 112 32)
		(output)
		(text "out" (rect 0 0 17 14)(font "Arial" (font_size 8)))
		(text "out" (rect 74 27 91 41)(font "Arial" (font_size 8)))
		(line (pt 112 32)(pt 96 32))
	)
	(drawing
		(rectangle (rect 16 16 96 112))
	)
)
(symbol
	(rect 416 1232 480 1280)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst10" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 336 1568 400 1616)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst6" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 336 1616 400 1664)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst7" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 432 1592 496 1640)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst8" (rect 3 37 26 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 256 1616 304 1648)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "inst9" (rect 3 21 26 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 432 952 496 1032)
	(text "OR4" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst20" (rect 3 69 32 81)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 0 48)
		(input)
		(text "IN3" (rect 2 39 19 51)(font "Courier New" (bold))(invisible))
		(text "IN3" (rect 2 39 19 51)(font "Courier New" (bold))(invisible))
		(line (pt 0 48)(pt 15 48))
	)
	(port
		(pt 0 64)
		(input)
		(text "IN4" (rect 2 55 19 67)(font "Courier New" (bold))(invisible))
		(text "IN4" (rect 2 55 19 67)(font "Courier New" (bold))(invisible))
		(line (pt 0 64)(pt 13 64))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 64 40)
		(output)
		(text "OUT" (rect 48 31 65 43)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 31 62 43)(font "Courier New" (bold))(invisible))
		(line (pt 48 40)(pt 64 40))
	)
	(drawing
		(line (pt 13 67)(pt 13 51))
		(line (pt 25 52)(pt 13 52))
		(line (pt 13 12)(pt 13 29))
		(line (pt 13 29)(pt 25 29))
		(arc (pt 7 45)(pt 7 35)(rect -14 24 19 57))
		(arc (pt 49 40)(pt 25 29)(rect -6 29 57 92))
		(arc (pt 25 51)(pt 49 40)(rect -6 -11 57 52))
	)
)
(symbol
	(rect 320 792 384 840)
	(text "OR2" (rect 1 0 19 10)(font "Arial" (font_size 6)))
	(text "inst11" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 15 32))
	)
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 15 16))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 48 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 36)(pt 25 36))
		(line (pt 14 13)(pt 25 13))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
	)
)
(symbol
	(rect 448 592 560 720)
	(text "alu_mux_4" (rect 5 0 66 14)(font "Arial" (font_size 8)))
	(text "inst_cond_mux" (rect 8 112 82 124)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "sel[1..0]" (rect 0 0 44 14)(font "Arial" (font_size 8)))
		(text "sel[1..0]" (rect 21 27 65 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32)(line_width 3))
	)
	(port
		(pt 0 48)
		(input)
		(text "in0" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in0" (rect 21 43 37 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(port
		(pt 0 64)
		(input)
		(text "in1" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in1" (rect 21 59 37 73)(font "Arial" (font_size 8)))
		(line (pt 0 64)(pt 16 64))
	)
	(port
		(pt 0 80)
		(input)
		(text "in2" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in2" (rect 21 75 37 89)(font "Arial" (font_size 8)))
		(line (pt 0 80)(pt 16 80))
	)
	(port
		(pt 0 96)
		(input)
		(text "in3" (rect 0 0 16 14)(font "Arial" (font_size 8)))
		(text "in3" (rect 21 91 37 105)(font "Arial" (font_size 8)))
		(line (pt 0 96)(pt 16 96))
	)
	(port
		(pt 112 32)
		(output)
		(text "out" (rect 0 0 17 14)(font "Arial" (font_size 8)))
		(text "out" (rect 74 27 91 41)(font "Arial" (font_size 8)))
		(line (pt 112 32)(pt 96 32))
	)
	(drawing
		(rectangle (rect 16 16 96 112))
	)
)
(symbol
	(rect 288 496 336 528)
	(text "NOT" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "inst27" (rect 3 21 32 33)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(text "IN" (rect 2 7 13 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 13 16))
	)
	(port
		(pt 48 16)
		(output)
		(text "OUT" (rect 32 7 49 19)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 32 7 46 19)(font "Courier New" (bold))(invisible))
		(line (pt 39 16)(pt 48 16))
	)
	(drawing
		(line (pt 13 25)(pt 13 7))
		(line (pt 13 7)(pt 31 16))
		(line (pt 13 25)(pt 31 16))
		(circle (rect 31 12 39 20))
	)
)
(symbol
	(rect 288 576 352 624)
	(text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst28" (rect 3 37 32 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 14 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 14 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 42 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 12)(pt 30 12))
		(line (pt 14 37)(pt 31 37))
		(line (pt 14 12)(pt 14 37))
		(arc (pt 31 37)(pt 30 12)(rect 18 12 43 37))
	)
)
(symbol
	(rect 592 592 656 640)
	(text "XOR" (rect 1 0 21 10)(font "Arial" (font_size 6)))
	(text "cond_neg" (rect 3 37 50 49)(font "Arial" ))
	(port
		(pt 0 16)
		(input)
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible))
		(line (pt 0 16)(pt 11 16))
	)
	(port
		(pt 0 32)
		(input)
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible))
		(line (pt 0 32)(pt 11 32))
	)
	(port
		(pt 64 24)
		(output)
		(text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible))
		(text "OUT" (rect 48 15 62 27)(font "Courier New" (bold))(invisible))
		(line (pt 49 24)(pt 64 24))
	)
	(drawing
		(line (pt 14 13)(pt 25 13))
		(line (pt 14 36)(pt 25 36))
		(arc (pt 7 29)(pt 7 19)(rect -14 8 19 41))
		(arc (pt 49 24)(pt 25 13)(rect -6 13 57 76))
		(arc (pt 25 35)(pt 49 24)(rect -6 -27 57 36))
		(arc (pt 8 36)(pt 8 12)(rect -21 7 14 42))
	)
)
(symbol
	(rect 728 592 792 672)
	(text "DFFE" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "inst_cond" (rect 3 68 50 80)(font "Arial" ))
	(port
		(pt 32 0)
		(input)
		(text "PRN" (rect 24 13 41 25)(font "Courier New" (bold)))
		(text "PRN" (rect 24 11 41 23)(font "Courier New" (bold)))
		(line (pt 32 4)(pt 32 0))
	)
	(port
		(pt 32 80)
		(input)
		(text "CLRN" (rect 21 59 44 71)(font "Courier New" (bold)))
		(text "CLRN" (rect 21 58 44 70)(font "Courier New" (bold)))
		(line (pt 32 80)(pt 32 76))
	)
	(port
		(pt 0 24)
		(input)
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(line (pt 0 24)(pt 12 24))
	)
	(port
		(pt 0 40)
		(input)
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(line (pt 0 40)(pt 12 40))
	)
	(port
		(pt 0 56)
		(input)
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(line (pt 0 56)(pt 12 56))
	)
	(port
		(pt 64 24)
		(output)
		(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
		(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
		(line (pt 53 24)(pt 64 24))
	)
	(drawing
		(line (pt 12 68)(pt 52 68))
		(line (pt 12 12)(pt 52 12))
		(line (pt 52 68)(pt 52 12))
		(line (pt 12 68)(pt 12 12))
		(line (pt 12 34)(pt 19 41))
		(line (pt 18 41)(pt 12 47))
		(circle (rect 28 4 36 12))
		(circle (rect 28 68 36 76))
	)
)
(symbol
	(rect 320 1144 384 1224)
	(text "DFFE" (rect 1 0 25 10)(font "Arial" (font_size 6)))
	(text "latch_pf_tmp" (rect 3 68 67 80)(font "Arial" ))
	(port
		(pt 32 0)
		(input)
		(text "PRN" (rect 24 13 41 25)(font "Courier New" (bold)))
		(text "PRN" (rect 24 11 41 23)(font "Courier New" (bold)))
		(line (pt 32 4)(pt 32 0))
	)
	(port
		(pt 32 80)
		(input)
		(text "CLRN" (rect 21 59 44 71)(font "Courier New" (bold)))
		(text "CLRN" (rect 21 58 44 70)(font "Courier New" (bold)))
		(line (pt 32 80)(pt 32 76))
	)
	(port
		(pt 0 24)
		(input)
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(text "D" (rect 14 20 19 32)(font "Courier New" (bold)))
		(line (pt 0 24)(pt 12 24))
	)
	(port
		(pt 0 40)
		(input)
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(text "CLK" (rect 2 28 19 40)(font "Courier New" (bold))(invisible))
		(line (pt 0 40)(pt 12 40))
	)
	(port
		(pt 0 56)
		(input)
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(text "ENA" (rect 14 50 31 62)(font "Courier New" (bold)))
		(line (pt 0 56)(pt 12 56))
	)
	(port
		(pt 64 24)
		(output)
		(text "Q" (rect 44 20 49 32)(font "Courier New" (bold)))
		(text "Q" (rect 44 20 48 32)(font "Courier New" (bold)))
		(line (pt 53 24)(pt 64 24))
	)
	(drawing
		(line (pt 12 68)(pt 52 68))
		(line (pt 12 12)(pt 52 12))
		(line (pt 52 68)(pt 52 12))
		(line (pt 12 68)(pt 12 12))
		(line (pt 12 34)(pt 19 41))
		(line (pt 18 41)(pt 12 47))
		(circle (rect 28 4 36 12))
		(circle (rect 28 68 36 76))
	)
)
(connector
	(pt 320 168)
	(pt 384 168)
)
(connector
	(pt 320 64)
	(pt 384 64)
)
(connector
	(pt 456 200)
	(pt 456 152)
)
(connector
	(pt 560 56)
	(pt 560 72)
)
(connector
	(pt 560 104)
	(pt 560 88)
)
(connector
	(pt 640 80)
	(pt 648 80)
)
(connector
	(pt 456 200)
	(pt 480 200)
)
(connector
	(pt 320 216)
	(pt 480 216)
)
(connector
	(pt 560 88)
	(pt 576 88)
)
(connector
	(pt 560 72)
	(pt 576 72)
)
(connector
	(pt 400 392)
	(pt 448 392)
)
(connector
	(pt 448 344)
	(pt 400 344)
)
(connector
	(pt 400 312)
	(pt 400 328)
)
(connector
	(pt 448 328)
	(pt 400 328)
)
(connector
	(pt 376 280)
	(pt 376 360)
)
(connector
	(pt 448 360)
	(pt 376 360)
)
(connector
	(pt 352 376)
	(pt 352 368)
)
(connector
	(pt 448 376)
	(pt 352 376)
)
(connector
	(pt 288 96)
	(pt 288 296)
)
(connector
	(pt 448 296)
	(pt 288 296)
)
(connector
	(pt 264 48)
	(pt 264 280)
)
(connector
	(pt 416 872)
	(pt 432 872)
)
(connector
	(text "out[3]" (rect 612 944 640 956)(font "Arial" ))
	(pt 600 960)
	(pt 656 960)
)
(connector
	(text "out[7]" (rect 614 1048 642 1060)(font "Arial" ))
	(pt 600 1064)
	(pt 656 1064)
)
(connector
	(text "out[7..0]" (rect 659 864 700 876)(font "Arial" ))
	(pt 656 880)
	(pt 704 880)
	(bus)
)
(connector
	(pt 520 904)
	(pt 536 904)
)
(connector
	(pt 520 936)
	(pt 536 936)
)
(connector
	(pt 520 1008)
	(pt 536 1008)
)
(connector
	(pt 520 1040)
	(pt 536 1040)
)
(connector
	(pt 400 1248)
	(pt 416 1248)
)
(connector
	(pt 320 112)
	(pt 480 112)
)
(connector
	(text "out[0]" (rect 616 864 644 876)(font "Arial" ))
	(pt 600 880)
	(pt 656 880)
)
(connector
	(text "out[4]" (rect 614 968 642 980)(font "Arial" ))
	(pt 600 984)
	(pt 656 984)
)
(connector
	(pt 416 1264)
	(pt 288 1264)
)
(connector
	(pt 360 1408)
	(pt 264 1408)
)
(connector
	(pt 264 1168)
	(pt 264 1408)
)
(connector
	(pt 288 1296)
	(pt 576 1296)
)
(connector
	(text "op543[0]" (rect 304 212 316 254)(font "Arial" )(vertical))
	(pt 320 216)
	(pt 320 264)
)
(connector
	(pt 400 344)
	(pt 400 392)
)
(connector
	(pt 400 392)
	(pt 400 408)
)
(connector
	(pt 264 280)
	(pt 376 280)
)
(connector
	(pt 376 280)
	(pt 448 280)
)
(connector
	(pt 320 264)
	(pt 448 264)
	(bus)
)
(connector
	(pt 320 64)
	(pt 320 112)
)
(connector
	(pt 320 112)
	(pt 320 168)
)
(connector
	(pt 320 168)
	(pt 320 216)
)
(connector
	(pt 288 1264)
	(pt 288 1296)
)
(connector
	(pt 288 96)
	(pt 480 96)
)
(connector
	(pt 264 48)
	(pt 480 48)
)
(connector
	(pt 456 152)
	(pt 480 152)
)
(connector
	(pt 264 1168)
	(pt 320 1168)
)
(connector
	(pt 560 264)
	(pt 648 264)
)
(connector
	(pt 544 160)
	(pt 648 160)
)
(connector
	(pt 544 208)
	(pt 648 208)
)
(connector
	(pt 432 168)
	(pt 480 168)
)
(connector
	(pt 432 64)
	(pt 480 64)
)
(connector
	(pt 544 104)
	(pt 560 104)
)
(connector
	(pt 544 56)
	(pt 560 56)
)
(connector
	(pt 752 880)
	(pt 792 880)
	(bus)
)
(connector
	(pt 496 880)
	(pt 520 880)
)
(connector
	(text "out[1]" (rect 610 888 638 900)(font "Arial" ))
	(pt 584 904)
	(pt 656 904)
)
(connector
	(text "out[2]" (rect 613 920 641 932)(font "Arial" ))
	(pt 584 936)
	(pt 656 936)
)
(connector
	(text "out[5]" (rect 611 992 639 1004)(font "Arial" ))
	(pt 584 1008)
	(pt 656 1008)
)
(connector
	(text "out[6]" (rect 614 1024 642 1036)(font "Arial" ))
	(pt 584 1040)
	(pt 656 1040)
)
(connector
	(pt 472 1392)
	(pt 584 1392)
)
(connector
	(pt 480 1256)
	(pt 576 1256)
)
(connector
	(pt 208 96)
	(pt 288 96)
)
(connector
	(pt 208 48)
	(pt 264 48)
)
(connector
	(pt 208 152)
	(pt 456 152)
)
(connector
	(pt 208 1168)
	(pt 264 1168)
)
(connector
	(pt 208 1424)
	(pt 360 1424)
)
(connector
	(pt 208 1440)
	(pt 360 1440)
)
(connector
	(pt 208 1392)
	(pt 360 1392)
	(bus)
)
(connector
	(pt 496 1616)
	(pt 528 1616)
)
(connector
	(pt 400 1592)
	(pt 416 1592)
)
(connector
	(pt 416 1592)
	(pt 416 1608)
)
(connector
	(pt 416 1608)
	(pt 432 1608)
)
(connector
	(pt 400 1640)
	(pt 416 1640)
)
(connector
	(pt 416 1640)
	(pt 416 1624)
)
(connector
	(pt 416 1624)
	(pt 432 1624)
)
(connector
	(pt 232 1560)
	(pt 208 1560)
)
(connector
	(text "flags_cf" (rect 124 1632 165 1644)(font "Arial" ))
	(pt 120 1648)
	(pt 336 1648)
)
(connector
	(pt 232 1584)
	(pt 336 1584)
)
(connector
	(pt 232 1560)
	(pt 232 1584)
)
(connector
	(pt 232 1584)
	(pt 232 1632)
)
(connector
	(pt 304 1632)
	(pt 336 1632)
)
(connector
	(pt 256 1632)
	(pt 232 1632)
)
(connector
	(pt 208 1456)
	(pt 360 1456)
)
(connector
	(pt 208 312)
	(pt 400 312)
)
(connector
	(pt 400 312)
	(pt 448 312)
)
(connector
	(pt 520 992)
	(pt 496 992)
)
(connector
	(pt 520 1080)
	(pt 792 1080)
)
(connector
	(pt 432 888)
	(pt 384 888)
)
(connector
	(pt 208 976)
	(pt 320 976)
)
(connector
	(pt 240 880)
	(pt 240 960)
)
(connector
	(pt 240 960)
	(pt 320 960)
)
(connector
	(pt 432 968)
	(pt 416 968)
)
(connector
	(pt 432 984)
	(pt 400 984)
)
(connector
	(pt 400 984)
	(pt 400 968)
)
(connector
	(pt 384 968)
	(pt 400 968)
)
(connector
	(pt 432 1000)
	(pt 208 1000)
)
(connector
	(pt 432 1016)
	(pt 400 1016)
)
(connector
	(pt 400 1016)
	(pt 400 1032)
)
(connector
	(text "flags_cf_latch" (rect 136 1016 206 1028)(font "Arial" ))
	(pt 400 1032)
	(pt 128 1032)
)
(connector
	(pt 208 896)
	(pt 320 896)
)
(connector
	(pt 208 1600)
	(pt 336 1600)
)
(connector
	(pt 520 880)
	(pt 520 904)
)
(connector
	(pt 520 904)
	(pt 520 936)
)
(connector
	(pt 600 880)
	(pt 600 960)
)
(connector
	(pt 600 960)
	(pt 600 984)
)
(connector
	(pt 600 984)
	(pt 600 1064)
)
(connector
	(pt 600 1064)
	(pt 600 1096)
)
(connector
	(pt 656 880)
	(pt 656 904)
	(bus)
)
(connector
	(pt 656 904)
	(pt 656 936)
	(bus)
)
(connector
	(pt 656 936)
	(pt 656 960)
	(bus)
)
(connector
	(pt 656 960)
	(pt 656 984)
	(bus)
)
(connector
	(pt 656 984)
	(pt 656 1008)
	(bus)
)
(connector
	(pt 656 1008)
	(pt 656 1040)
	(bus)
)
(connector
	(pt 656 1040)
	(pt 656 1064)
	(bus)
)
(connector
	(pt 208 880)
	(pt 240 880)
)
(connector
	(pt 240 880)
	(pt 320 880)
)
(connector
	(pt 416 848)
	(pt 416 872)
)
(connector
	(pt 416 872)
	(pt 416 968)
)
(connector
	(pt 520 992)
	(pt 520 1008)
)
(connector
	(pt 520 1008)
	(pt 520 1040)
)
(connector
	(pt 520 1040)
	(pt 520 1080)
)
(connector
	(pt 728 864)
	(pt 728 816)
)
(connector
	(pt 384 816)
	(pt 728 816)
)
(connector
	(pt 208 808)
	(pt 320 808)
)
(connector
	(pt 320 824)
	(pt 240 824)
)
(connector
	(pt 240 824)
	(pt 240 848)
)
(connector
	(pt 240 848)
	(pt 416 848)
)
(connector
	(pt 208 848)
	(pt 240 848)
)
(connector
	(text "op543[0]" (rect 243 496 285 508)(font "Arial" ))
	(pt 232 512)
	(pt 288 512)
)
(connector
	(text "op543[2]" (rect 238 576 280 588)(font "Arial" ))
	(pt 288 592)
	(pt 232 592)
)
(connector
	(text "op543[1]" (rect 242 536 284 548)(font "Arial" ))
	(pt 232 552)
	(pt 288 552)
)
(connector
	(pt 272 608)
	(pt 288 608)
)
(connector
	(pt 208 608)
	(pt 224 608)
)
(connector
	(pt 208 264)
	(pt 232 264)
	(bus)
)
(connector
	(pt 232 264)
	(pt 320 264)
	(bus)
)
(connector
	(pt 232 264)
	(pt 232 512)
	(bus)
)
(connector
	(pt 232 512)
	(pt 232 552)
	(bus)
)
(connector
	(pt 232 552)
	(pt 232 592)
	(bus)
)
(connector
	(text "sel[0]" (rect 357 536 384 548)(font "Arial" ))
	(pt 336 552)
	(pt 392 552)
)
(connector
	(text "sel[1]" (rect 358 584 385 596)(font "Arial" ))
	(pt 352 600)
	(pt 392 600)
)
(connector
	(text "sel[1..0]" (rect 407 608 447 620)(font "Arial" ))
	(pt 392 624)
	(pt 448 624)
	(bus)
)
(connector
	(pt 392 552)
	(pt 392 600)
	(bus)
)
(connector
	(pt 392 600)
	(pt 392 624)
	(bus)
)
(connector
	(pt 208 656)
	(pt 448 656)
)
(connector
	(pt 208 640)
	(pt 448 640)
)
(connector
	(pt 208 672)
	(pt 448 672)
)
(connector
	(pt 208 688)
	(pt 448 688)
)
(connector
	(text "condition" (rect 669 600 712 612)(font "Arial" ))
	(pt 656 616)
	(pt 728 616)
)
(connector
	(pt 560 624)
	(pt 592 624)
)
(connector
	(pt 336 512)
	(pt 576 512)
)
(connector
	(pt 576 512)
	(pt 576 608)
)
(connector
	(pt 576 608)
	(pt 592 608)
)
(connector
	(pt 792 616)
	(pt 800 616)
)
(connector
	(pt 728 648)
	(pt 680 648)
)
(connector
	(pt 680 648)
	(pt 680 736)
)
(connector
	(pt 680 736)
	(pt 208 736)
)
(connector
	(text "clk" (rect 686 616 700 628)(font "Arial" ))
	(pt 728 632)
	(pt 680 632)
)
(connector
	(pt 400 1248)
	(pt 400 1168)
)
(connector
	(pt 400 1168)
	(pt 384 1168)
)
(connector
	(pt 288 1200)
	(pt 288 1264)
)
(connector
	(pt 208 1200)
	(pt 288 1200)
)
(connector
	(pt 288 1200)
	(pt 320 1200)
)
(connector
	(pt 208 1184)
	(pt 320 1184)
)
(junction (pt 456 152))
(junction (pt 320 216))
(junction (pt 320 168))
(junction (pt 400 392))
(junction (pt 264 48))
(junction (pt 376 280))
(junction (pt 320 264))
(junction (pt 232 264))
(junction (pt 320 112))
(junction (pt 288 96))
(junction (pt 264 1168))
(junction (pt 288 1264))
(junction (pt 232 1584))
(junction (pt 400 312))
(junction (pt 520 904))
(junction (pt 600 960))
(junction (pt 600 984))
(junction (pt 600 1064))
(junction (pt 656 960))
(junction (pt 656 984))
(junction (pt 656 880))
(junction (pt 656 904))
(junction (pt 656 936))
(junction (pt 656 1008))
(junction (pt 656 1040))
(junction (pt 240 880))
(junction (pt 416 872))
(junction (pt 520 1008))
(junction (pt 520 1040))
(junction (pt 240 848))
(junction (pt 232 512))
(junction (pt 232 552))
(junction (pt 392 600))
(junction (pt 288 1200))
(text "Bit that is shifted in depends on the opcode:" (rect 576 288 824 302)(font "Arial" (font_size 8)))
(text "000 RLC -> old D[7]" (rect 576 304 685 318)(font "Arial" (font_size 8)))
(text "001 RRC -> old D[0]" (rect 576 320 686 334)(font "Arial" (font_size 8)))
(text "010 RL -> CF" (rect 576 336 650 350)(font "Arial" (font_size 8)))
(text "011 RR -> CF" (rect 576 352 651 366)(font "Arial" (font_size 8)))
(text "100 SLA -> 0" (rect 576 368 651 382)(font "Arial" (font_size 8)))
(text "101 SRA -> D[7]" (rect 576 384 668 398)(font "Arial" (font_size 8)))
(text "110 SLL -> 1" (rect 576 400 649 414)(font "Arial" (font_size 8)))
(text "111 SRL -> 0" (rect 576 416 650 430)(font "Arial" (font_size 8)))
(text "Select cf out based on the shift direction" (rect 560 32 790 46)(font "Arial" (font_size 8)))
(text "Low nibble 0x6" (rect 432 832 519 846)(font "Arial" (font_size 8)))
(text "High nibble 0x6" (rect 432 912 518 926)(font "Arial" (font_size 8)))
(text "Shifter control" (rect 352 16 446 32)(font "Arial" (font_size 10)))
(text "DAA + bus(66) logic" (rect 336 768 474 784)(font "Arial" (font_size 10)))
(text "Half-parity control" (rect 352 1104 471 1120)(font "Arial" (font_size 10)))
(text "Flag condition mux" (rect 440 536 569 552)(font "Arial" (font_size 10)))
(text "Parity / Overflow input selector" (rect 336 1328 543 1344)(font "Arial" (font_size 10)))
(text "Mux: when op is low, \"1\"; else pf_tmp" (rect 432 1192 647 1206)(font "Arial" (font_size 8)))
(text "Carry flag into ALU core" (rect 352 1520 514 1536)(font "Arial" (font_size 10)))
(title_block
	(rect 32 1696 289 1748)
	(name "title-custom-small")
	(section (rect 0 0 256 17)(text "PROJECT" (rect 2 0 52 12)(font "Arial" ))(text "A-Z80" (rect 56 2 94 17)(font "Arial" (font_size 9)(bold)))(border))
	(section (rect 104 0 256 17)(text "MODULE" (rect 2 1 48 13)(font "Arial" ))(text "alu_control" (rect 43 2 118 17)(font "Arial" (font_size 9)(bold)))(border))
	(section (rect 0 18 256 34)(text "DESIGNER" (rect 2 0 59 12)(font "Arial" ))(text "Goran Devic" (rect 56 2 135 17)(font "Arial" (font_size 9)))(border))
	(section (rect 0 35 256 51)(text "DATE" (rect 2 0 30 12)(font "Arial" ))(text "June 28, 2014" (rect 56 3 136 17)(font "Arial" (font_size 8)))(border))
	(section (rect 192 35 256 51)(text "REV" (rect 2 1 25 13)(font "Arial" ))(text "1.6" (rect 43 3 60 17)(font "Arial" (font_size 8)))(border))
	(drawing
	)
)


================================================
FILE: cpu/alu/alu_control.bsf
================================================
/*
WARNING: Do NOT edit the input and output ports in this file in a text
editor if you plan to continue editing the block that represents it in
the Block Editor! File corruption is VERY likely to occur.
*/
/*
Copyright (C) 1991-2013 Altera Corporation
Your use of Altera Corporation's design tools, logic functions 
and other software and tools, and its AMPP partner logic 
functions, and any output files from any of the foregoing 
(including device programming or simulation files), and any 
associated documentation or information are expressly subject 
to the terms and conditions of the Altera Program License 
Subscription Agreement, Altera MegaCore Function License 
Agreement, or other applicable license agreement, including, 
without limitation, that your use is for the sole purpose of 
programming logic devices manufactured by Altera and sold by 
Altera or its authorized distributors.  Please refer to the 
applicable agreement for further details.
*/
(header "symbol" (version "1.2"))
(symbol
	(rect 16 16 248 496)
	(text "alu_control" (rect 5 0 67 14)(font "Arial" (font_size 8)))
	(text "inst" (rect 8 464 25 476)(font "Arial" ))
	(port
		(pt 0 32)
		(input)
		(text "alu_shift_db7" (rect 0 0 76 14)(font "Arial" (font_size 8)))
		(text "alu_shift_db7" (rect 21 27 97 41)(font "Arial" (font_size 8)))
		(line (pt 0 32)(pt 16 32))
	)
	(port
		(pt 0 48)
		(input)
		(text "alu_shift_db0" (rect 0 0 76 14)(font "Arial" (font_size 8)))
		(text "alu_shift_db0" (rect 21 43 97 57)(font "Arial" (font_size 8)))
		(line (pt 0 48)(pt 16 48))
	)
	(port
		(pt 0 64)
		(input)
		(text "ctl_shift_en" (rect 0 0 66 14)(font "Arial" (font_size 8)))
		(text "ctl_shift_en" (rect 21 59 87 73)(font "Arial" (font_size 8)))
		(line (pt 0 64)(pt 16 64))
	)
	(port
		(pt 0 80)
		(input)
		(text "op543[2..0]" (rect 0 0 63 14)(font "Arial" (font_size 8)))
		(text "op543[2..0]" (rect 21 75 84 89)(font "Arial" (font_size 8)))
		(line (pt 0 80)(pt 16 80)(line_width 3))
	)
	(port
		(pt 0 96)
		(input)
		(text "flags_cf_latch" (rect 0 0 81 14)(font "Arial" (font_size 8)))
		(text "flags_cf_latch" (rect 21 91 102 105)(font "Arial" (font_size 8)))
		(line (pt 0 96)(pt 16 96))
	)
	(port
		(pt 0 112)
		(input)
		(text "ctl_cond_short" (rect 0 0 84 14)(font "Arial" (font_size 8)))
		(text "ctl_cond_short" (rect 21 107 105 121)(font "Arial" (font_size 8)))
		(line (pt 0 112)(pt 16 112))
	)
	(port
		(pt 0 128)
		(input)
		(text "flags_zf" (rect 0 0 47 14)(font "Arial" (font_size 8)))
		(text "flags_zf" (rect 21 123 68 137)(font "Arial" (font_size 8)))
		(line (pt 0 128)(pt 16 128))
	)
	(port
		(pt 0 144)
		(input)
		(text "flags_cf" (rect 0 0 47 14)(font "Arial" (font_size 8)))
		(text "flags_cf" (rect 21 139 68 153)(font "Arial" (font_size 8)))
		(line (pt 0 144)(pt 16 144))
	)
	(port
		(pt 0 160)
		(input)
		(text "flags_pf" (rect 0 0 47 14)(font "Arial" (font_size 8)))
		(text "flags_pf" (rect 21 155 68 169)(font "Arial" (font_size 8)))
		(line (pt 0 160)(pt 16 160))
	)
	(port
		(pt 0 176)
		(input)
		(text "flags_sf" (rect 0 0 47 14)(font "Arial" (font_size 8)))
		(text "flags_sf" (rect 21 171 68 185)(font "Arial" (font_size 8)))
		(line (pt 0 176)(pt 16 176))
	)
	(port
		(pt 0 192)
		(input)
		(text "ctl_eval_cond" (rect 0 0 79 14)(font "Arial" (font_size 8)))
		(text "ctl_eval_cond" (rect 21 187 100 201)(font "Arial" (font_size 8)))
		(line (pt 0 192)(pt 16 192))
	)
Download .txt
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
Download .txt
SYMBOL INDEX (78 symbols across 26 files)

FILE: cpu/control/gencompile.py
  function is_ctl (line 42) | def is_ctl(name):
  function str2tok (line 47) | def str2tok(s):
  function tok2str (line 51) | def tok2str(tokens):
  function get_rval (line 55) | def get_rval(tokens, i):
  function decomment (line 65) | def decomment(s):
  function sequential_or (line 78) | def sequential_or(f, t, tokens):

FILE: cpu/control/genmatrix.py
  function getSubst (line 69) | def getSubst(key, token):

FILE: cpu/toplevel/gencoremodules.py
  function connect (line 46) | def connect(module, wire):
  function parse (line 56) | def parse(wires, lines):

FILE: cpu/toplevel/genfuse.py
  function RegWrite (line 83) | def RegWrite(reg, hex):
  function RegRead (line 96) | def RegRead(reg, hex):

FILE: modelsim_pre_commit.py
  function fixup (line 35) | def fixup():

FILE: modelsim_setup.py
  function setup (line 24) | def setup():

FILE: resources/connotate-fuse.py
  function load (line 26) | def load(opcodeFile):

FILE: resources/process-pla.py
  function xtostr (line 46) | def xtostr ( condition ):

FILE: tools/dongle/daa/z80-instruction-test-daa.py
  function serialFlush (line 16) | def serialFlush(ser):

FILE: tools/dongle/neg/z80-instruction-test-neg.py
  function serialFlush (line 16) | def serialFlush(ser):

FILE: tools/dongle/sbc/simulate-sbc.py
  function printFlags (line 8) | def printFlags(f):
  function sbc (line 44) | def sbc(inA, op2, CYin):

FILE: tools/dongle/sbc/simulate-sub.py
  function printFlags (line 8) | def printFlags(f):
  function sbc (line 44) | def sbc(inA, op2, CYin):

FILE: tools/dongle/z80-instruction-run-cb.py
  function serialFlush (line 16) | def serialFlush(ser):

FILE: tools/dongle/z80-instruction-run-dd-cb.py
  function serialFlush (line 16) | def serialFlush(ser):

FILE: tools/dongle/z80-instruction-run-dd.py
  function serialFlush (line 16) | def serialFlush(ser):

FILE: tools/dongle/z80-instruction-run-ed.py
  function serialFlush (line 16) | def serialFlush(ser):

FILE: tools/dongle/z80-instruction-run-xx.py
  function serialFlush (line 16) | def serialFlush(ser):

FILE: tools/z80_pla_checker/source/ClassLog.cs
  class ClassLog (line 6) | static public class ClassLog
    method Log (line 8) | static public void Log(string m)

FILE: tools/z80_pla_checker/source/ClassOpcodeTable.cs
  class ClassOpcodeTable (line 11) | class ClassOpcodeTable
    method Load (line 21) | public void Load(string filename, int xxindex)
    method Dump (line 48) | public void Dump(List<int> t)

FILE: tools/z80_pla_checker/source/ClassPLA.cs
  class ClassPla (line 11) | class ClassPla
    method Count (line 31) | public int Count()
    method Load (line 39) | public bool Load(string filename)
    method Dump (line 141) | public void Dump()
    method TableMatch (line 151) | public List<string> TableMatch(ClassPlaEntry.Modifier modifier, byte i...
    method MatchPLA (line 204) | public List<string> MatchPLA(ClassPlaEntry.Modifier modifier, int id)
    method Table (line 232) | public List<int> Table(ClassPlaEntry.Modifier modifier, int testNum, i...
    method QueryPla (line 291) | public void QueryPla(String bits)
    method GenVerilogPla (line 307) | public void GenVerilogPla()

FILE: tools/z80_pla_checker/source/ClassPLAEntry.cs
  class ClassPlaEntry (line 8) | public class ClassPlaEntry
    type Modifier (line 11) | [FlagsAttribute]
    method IsDuplicate (line 26) | public bool IsDuplicate() { return duplicate; }
    method Init (line 38) | public bool Init(string init)
    method Match (line 79) | public string Match(Modifier modifier, Byte instr)
    method GetBitstream (line 104) | public string GetBitstream()

FILE: tools/z80_pla_checker/source/FormMain.Designer.cs
  class FormMain (line 3) | partial class FormMain
    method Dispose (line 14) | protected override void Dispose(bool disposing)
    method InitializeComponent (line 29) | private void InitializeComponent()

FILE: tools/z80_pla_checker/source/FormMain.cs
  class FormMain (line 8) | public partial class FormMain : Form
    method FormMain (line 32) | public FormMain()
    method OnStart (line 41) | public void OnStart()
    method Log (line 73) | public void Log(String s)
    method ExitToolStripMenuItemClick (line 83) | private void ExitToolStripMenuItemClick(object sender, EventArgs e)
    method FormMainFormClosing (line 91) | private void FormMainFormClosing(object sender, FormClosingEventArgs e)
    method ScanNumber (line 96) | private static int ScanNumber(string arg, int baseValue)
    method MatchPLA (line 113) | private void MatchPLA(string arg)
    method MatchOpcodes (line 139) | private void MatchOpcodes(ClassPlaEntry.Modifier modifier, string arg)
    method DumpOpcodeTable (line 155) | private void DumpOpcodeTable(List<int> t)
    method LoadPlaTable (line 174) | private void LoadPlaTable(object sender, EventArgs e)
    method SelectOpcodeDir (line 187) | private void SelectOpcodeDir(object sender, EventArgs e)
    method BtClearClick (line 198) | private void BtClearClick(object sender, EventArgs e)
    method BtRedoClick (line 206) | private void BtRedoClick(object sender, EventArgs e)
    method UpdateButtons (line 217) | private void UpdateButtons()
    method BtIx0Click (line 230) | private void BtIx0Click(object sender, EventArgs e)
    method BtIx1Click (line 242) | private void BtIx1Click(object sender, EventArgs e)
    method BtNHaltClick (line 254) | private void BtNHaltClick(object sender, EventArgs e)
    method BtAluClick (line 260) | private void BtAluClick(object sender, EventArgs e)
    method BtXxClick (line 266) | private void BtXxClick(object sender, EventArgs e)
    method BtCbClick (line 278) | private void BtCbClick(object sender, EventArgs e)
    method BtEdClick (line 290) | private void BtEdClick(object sender, EventArgs e)
    method TextOpKeyDown (line 305) | private void TextOpKeyDown(object sender, KeyEventArgs e)
    method Command (line 348) | private string Command(string cmd)

FILE: tools/z80_pla_checker/source/Program.cs
  class Program (line 21) | static class Program
    method Main (line 28) | [STAThread]

FILE: tools/z80_pla_checker/source/Properties/Resources.Designer.cs
  class Resources (line 22) | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resource...
    method Resources (line 31) | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Mic...

FILE: tools/z80_pla_checker/source/Properties/Settings.Designer.cs
  class Settings (line 14) | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
Condensed preview — 407 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (7,818K chars).
[
  {
    "path": ".gitignore",
    "chars": 476,
    "preview": "# Quartus generated files and folders\n*.rpt\n*.done\n*.rpt\n*.smsg\n*.summary\n*.ddb\ndb/\nincremental_db/\nout/\noutput_files/\ng"
  },
  {
    "path": "cpu/alu/alu.bdf",
    "chars": 92187,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu.bsf",
    "chars": 9578,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu.v",
    "chars": 10484,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_bit_select.bdf",
    "chars": 18819,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_bit_select.bsf",
    "chars": 1899,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_bit_select.v",
    "chars": 2221,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_control.bdf",
    "chars": 59814,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_control.bsf",
    "chars": 8843,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_control.v",
    "chars": 5651,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_core.bdf",
    "chars": 18294,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_core.bsf",
    "chars": 2956,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_core.v",
    "chars": 2222,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_flags.bdf",
    "chars": 91668,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_flags.bsf",
    "chars": 9348,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_flags.v",
    "chars": 8219,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_mux_2.bdf",
    "chars": 7483,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_2.bsf",
    "chars": 1929,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_2.v",
    "chars": 1338,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_mux_2z.bdf",
    "chars": 7962,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_2z.bsf",
    "chars": 2182,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_2z.v",
    "chars": 1416,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_mux_3z.bdf",
    "chars": 11320,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_3z.bsf",
    "chars": 2578,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_3z.v",
    "chars": 1666,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_mux_4.bdf",
    "chars": 13655,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_4.bsf",
    "chars": 2325,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_4.v",
    "chars": 1704,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_mux_8.bdf",
    "chars": 25732,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_8.bsf",
    "chars": 3077,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_mux_8.v",
    "chars": 2458,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_prep_daa.bdf",
    "chars": 15237,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_prep_daa.bsf",
    "chars": 2220,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_prep_daa.v",
    "chars": 1768,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_select.bdf",
    "chars": 17098,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_select.bsf",
    "chars": 8471,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_select.v",
    "chars": 3208,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_shifter_core.bdf",
    "chars": 49807,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_shifter_core.bsf",
    "chars": 2883,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_shifter_core.v",
    "chars": 4325,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/alu_slice.bdf",
    "chars": 18223,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_slice.bsf",
    "chars": 2679,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/alu/alu_slice.v",
    "chars": 1984,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/alu/simulation/modelsim/r",
    "chars": 22,
    "preview": "restart -f ; run -all\n"
  },
  {
    "path": "cpu/alu/simulation/modelsim/test_alu.mpf",
    "chars": 30886,
    "preview": "; Copyright 1991-2009 Mentor Graphics Corporation\n;\n; All Rights Reserved.\n;\n; THIS WORK CONTAINS TRADE SECRET AND PROPR"
  },
  {
    "path": "cpu/alu/simulation/modelsim/wave_alu.do",
    "chars": 8338,
    "preview": "onerror {resume}\nquietly virtual signal -install /test_alu { (context /test_alu )&{test_db_low ,test_db_high }} test_bus"
  },
  {
    "path": "cpu/alu/simulation/modelsim/wave_core.do",
    "chars": 1107,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate -radix hexadecimal /test_core/op1_sig\nadd wave -no"
  },
  {
    "path": "cpu/alu/simulation/modelsim/wave_mux_3z.do",
    "chars": 970,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate -radix hexadecimal /test_mux_3z/a_sig\nadd wave -no"
  },
  {
    "path": "cpu/alu/simulation/modelsim/wave_prep_daa.do",
    "chars": 921,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate -color Gold -itemcolor Gold -radix hexadecimal /te"
  },
  {
    "path": "cpu/alu/simulation/modelsim/wave_shifter_core.do",
    "chars": 2068,
    "preview": "onerror {resume}\nquietly virtual signal -install /test_shifter_core { (context /test_shifter_core )&{out_high ,out_low }"
  },
  {
    "path": "cpu/alu/simulation/modelsim/wave_slice.do",
    "chars": 1174,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate -radix hexadecimal /test_slice/op1_sig\nadd wave -n"
  },
  {
    "path": "cpu/alu/test_alu.qpf",
    "chars": 1263,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/alu/test_alu.qsf",
    "chars": 3259,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/alu/test_alu.sv",
    "chars": 8751,
    "preview": "//==============================================================\n// Test complete ALU block\n//=========================="
  },
  {
    "path": "cpu/alu/test_core.sv",
    "chars": 4033,
    "preview": "//==============================================================\n// Test ALU core\n//===================================="
  },
  {
    "path": "cpu/alu/test_mux_3z.sv",
    "chars": 1743,
    "preview": "//==============================================================\n// Test ALU op1 MUX which is a bit more complicated\n//="
  },
  {
    "path": "cpu/alu/test_prep_daa.sv",
    "chars": 2175,
    "preview": "//==============================================================\n// Test ALU state preparation for DAA instruction\n//==="
  },
  {
    "path": "cpu/alu/test_shifter_core.sv",
    "chars": 4835,
    "preview": "//==============================================================\n// Test ALU shifter core block\n//======================"
  },
  {
    "path": "cpu/alu/test_slice.sv",
    "chars": 5686,
    "preview": "//==============================================================\n// Test ALU slice\n//==================================="
  },
  {
    "path": "cpu/bus/address_latch.bdf",
    "chars": 26024,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/address_latch.bsf",
    "chars": 3848,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/address_latch.v",
    "chars": 3877,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/address_mux.bdf",
    "chars": 7669,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/address_mux.bsf",
    "chars": 2172,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/address_mux.v",
    "chars": 1777,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/address_pins.bdf",
    "chars": 7395,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/address_pins.bsf",
    "chars": 2233,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/address_pins.v",
    "chars": 2362,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/bus_control.bdf",
    "chars": 6852,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/bus_control.bsf",
    "chars": 1821,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/bus_control.v",
    "chars": 1790,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/bus_switch.bsf",
    "chars": 3103,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/bus_switch.v",
    "chars": 1493,
    "preview": "//============================================================================\n// Bus switch in bus A-Z80 CPU\n//\n// Copy"
  },
  {
    "path": "cpu/bus/control_pins_n.bdf",
    "chars": 23327,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/control_pins_n.bsf",
    "chars": 6988,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/control_pins_n.v",
    "chars": 2408,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/data_pins.bdf",
    "chars": 14574,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/data_pins.bsf",
    "chars": 2622,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/data_pins.v",
    "chars": 2715,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/data_pins_lattice.v",
    "chars": 683,
    "preview": "// Use this file with Lattice toolset instead of data_pins.v\n//\n// This file is provided courtesy by JuanS\n\nmodule data_"
  },
  {
    "path": "cpu/bus/data_switch.bdf",
    "chars": 5967,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/data_switch.bsf",
    "chars": 2030,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/data_switch.v",
    "chars": 1908,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/data_switch_mask.bdf",
    "chars": 12320,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/data_switch_mask.bsf",
    "chars": 2240,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/data_switch_mask.v",
    "chars": 2340,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/inc_dec.bdf",
    "chars": 56911,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/inc_dec.bsf",
    "chars": 2204,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/inc_dec.v",
    "chars": 5227,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/inc_dec_2bit.bdf",
    "chars": 9935,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/inc_dec_2bit.bsf",
    "chars": 2821,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/bus/inc_dec_2bit.v",
    "chars": 1484,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/bus/simulation/modelsim/r",
    "chars": 22,
    "preview": "restart -f ; run -all\n"
  },
  {
    "path": "cpu/bus/simulation/modelsim/test_bus.mpf",
    "chars": 24070,
    "preview": "; Copyright 1991-2009 Mentor Graphics Corporation\n;\n; All Rights Reserved.\n;\n; THIS WORK CONTAINS TRADE SECRET AND PROPR"
  },
  {
    "path": "cpu/bus/simulation/modelsim/wave_bus.do",
    "chars": 1186,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_bus/nreset\nadd wave -noupdate /test_bus/clk\n"
  },
  {
    "path": "cpu/bus/simulation/modelsim/wave_pins.do",
    "chars": 1257,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_pins/clk\nadd wave -noupdate -divider apins\na"
  },
  {
    "path": "cpu/bus/test_bus.qpf",
    "chars": 1263,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/bus/test_bus.qsf",
    "chars": 4027,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/bus/test_bus.sv",
    "chars": 3628,
    "preview": "//==============================================================\n// Test address latch and increment block\n//==========="
  },
  {
    "path": "cpu/bus/test_pins.sv",
    "chars": 3580,
    "preview": "//==============================================================\n// Test address and data pins blocks\n//================"
  },
  {
    "path": "cpu/control/Timings.csv",
    "chars": 86522,
    "preview": "A-Z80 Timing Table\tM_\tT_\tFunction\tvalid\tnextM\tsetM1\tA:reg rd\tA:reg wr\tinc/dec\tA:latch\tD:reg rd\tD:reg wr\tReg gate\tSW2\tSW1"
  },
  {
    "path": "cpu/control/clk_delay.bdf",
    "chars": 27816,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/clk_delay.bsf",
    "chars": 4365,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/clk_delay.v",
    "chars": 3268,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/decode_state.bdf",
    "chars": 29412,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/decode_state.bsf",
    "chars": 5932,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/decode_state.v",
    "chars": 3521,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/exec_matrix.vh",
    "chars": 249829,
    "preview": "// Automatically generated by genmatrix.py\n\n// 8-bit Load Group\nif (pla[17] & ~pla[50]) begin\n    if (M1 & T1) begin\n   "
  },
  {
    "path": "cpu/control/exec_matrix_compiled.vh",
    "chars": 372079,
    "preview": "// Automatically generated by gencompile.py\n\nctl_reg_gp_we = ctl_reg_gp_we | (pla[17]&~pla[50])&(M1&T1);\nctl_reg_gp_sel_"
  },
  {
    "path": "cpu/control/exec_module.vh",
    "chars": 3179,
    "preview": "// Automatically generated by genref.py\n\n// Module: control/decode_state.v\noutput reg ctl_state_iy_set,\noutput reg ctl_s"
  },
  {
    "path": "cpu/control/exec_zero.vh",
    "chars": 2455,
    "preview": "// Automatically generated by genref.py\n\n// Module: control/decode_state.v\nctl_state_iy_set = 0;\nctl_state_ixiy_clr = 0;"
  },
  {
    "path": "cpu/control/execute.bsf",
    "chars": 27716,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/execute.v",
    "chars": 7484,
    "preview": "//=============================================================================\n// This module implements the instructio"
  },
  {
    "path": "cpu/control/gencompile.py",
    "chars": 6028,
    "preview": "#!/usr/bin/env python3\n#\n# This script reads 'exec_matrix.vh' file and compiles it into an alternate format\n# that can b"
  },
  {
    "path": "cpu/control/genmatrix.py",
    "chars": 7975,
    "preview": "#!/usr/bin/env python3\n#\n# This script reads A-Z80 instruction timing data from a spreadsheet text file\n# 'Timings.csv' "
  },
  {
    "path": "cpu/control/genref.py",
    "chars": 2710,
    "preview": "#!/usr/bin/env python3\n#\n# This script reads and parses selected Verilog and SystemVerilog modules\n# and generates a set"
  },
  {
    "path": "cpu/control/interrupts.bdf",
    "chars": 45006,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/interrupts.bsf",
    "chars": 4329,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/interrupts.v",
    "chars": 4793,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/ir.bdf",
    "chars": 7252,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/ir.bsf",
    "chars": 2393,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/ir.v",
    "chars": 1418,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/memory_ifc.bdf",
    "chars": 81481,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/memory_ifc.bsf",
    "chars": 5368,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/memory_ifc.v",
    "chars": 6774,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/pin_control.bdf",
    "chars": 25362,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/pin_control.bsf",
    "chars": 3526,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/pin_control.v",
    "chars": 2320,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/pla_decode.bsf",
    "chars": 1767,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/pla_decode.v",
    "chars": 12163,
    "preview": "//=====================================================================================\n// This file is automatically ge"
  },
  {
    "path": "cpu/control/resets.bdf",
    "chars": 26057,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/resets.bsf",
    "chars": 2732,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/resets.v",
    "chars": 2806,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/sequencer.bdf",
    "chars": 48922,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/sequencer.bsf",
    "chars": 4885,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/control/sequencer.v",
    "chars": 4604,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/control/simulation/modelsim/r",
    "chars": 22,
    "preview": "restart -f ; run -all\n"
  },
  {
    "path": "cpu/control/simulation/modelsim/test_control.mpf",
    "chars": 25525,
    "preview": "; Copyright 1991-2009 Mentor Graphics Corporation\n;\n; All Rights Reserved.\n;\n; THIS WORK CONTAINS TRADE SECRET AND PROPR"
  },
  {
    "path": "cpu/control/simulation/modelsim/wave_interrupts.do",
    "chars": 1488,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_interrupts/clk\nadd wave -noupdate /test_inte"
  },
  {
    "path": "cpu/control/simulation/modelsim/wave_pin_control.do",
    "chars": 1253,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_pin_control/fFetch_sig\nadd wave -noupdate /t"
  },
  {
    "path": "cpu/control/simulation/modelsim/wave_reset.do",
    "chars": 1128,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_reset/clk\nadd wave -noupdate /test_reset/res"
  },
  {
    "path": "cpu/control/simulation/modelsim/wave_sequencer.do",
    "chars": 1623,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_sequencer/clk\nadd wave -noupdate /test_seque"
  },
  {
    "path": "cpu/control/temp_wires.vh",
    "chars": 25286,
    "preview": "// Automatically generated by gencompile.py\n\nreg ctl_reg_gp_sel_pla17npla50M1T1_2;\nreg ctl_reg_gp_hilo_pla17npla50M1T1_3"
  },
  {
    "path": "cpu/control/test_control.qpf",
    "chars": 1267,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/control/test_control.qsf",
    "chars": 3837,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/control/test_decode.sv",
    "chars": 5873,
    "preview": "//==============================================================\n// Test PLA decode and combinatorial static execute\n//="
  },
  {
    "path": "cpu/control/test_interrupts.sv",
    "chars": 2933,
    "preview": "//==============================================================\n// Test interrupts unit\n//============================="
  },
  {
    "path": "cpu/control/test_pin_control.sv",
    "chars": 3537,
    "preview": "//==============================================================\n// Test pin control unit\n//============================"
  },
  {
    "path": "cpu/control/test_reset.sv",
    "chars": 1978,
    "preview": "//==============================================================\n// Test reset circuit\n//==============================="
  },
  {
    "path": "cpu/control/test_sequencer.sv",
    "chars": 2293,
    "preview": "//==============================================================\n// Test sequencer\n//==================================="
  },
  {
    "path": "cpu/control/timing_macros.i",
    "chars": 21254,
    "preview": "//=========================================================================================\n// This file contains substi"
  },
  {
    "path": "cpu/copyleft.txt",
    "chars": 746,
    "preview": "//----------------------------------------------------------------------------\n//  A-Z80 CPU Copyright (C) 2014,2017  Go"
  },
  {
    "path": "cpu/export.py",
    "chars": 2490,
    "preview": "#!/usr/bin/env python3\n#\n# Run this script to export necessary CPU files away and into your project.\n#\n#----------------"
  },
  {
    "path": "cpu/readme.txt",
    "chars": 1319,
    "preview": "A-Z80 Logic Design\n==================\nEach functional block contains a Quartus project file:\n./<block>/test_<block>.qpf\n"
  },
  {
    "path": "cpu/registers/reg_control.bdf",
    "chars": 84331,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/registers/reg_control.bsf",
    "chars": 10477,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/registers/reg_control.v",
    "chars": 7996,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/registers/reg_file.bdf",
    "chars": 158253,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/registers/reg_file.bsf",
    "chars": 8009,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/registers/reg_file.v",
    "chars": 15182,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/registers/reg_latch.bdf",
    "chars": 6550,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/registers/reg_latch.bsf",
    "chars": 1982,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/registers/reg_latch.v",
    "chars": 1463,
    "preview": "// Copyright (C) 1991-2013 Altera Corporation\n// Your use of Altera Corporation's design tools, logic functions \n// and "
  },
  {
    "path": "cpu/registers/simulation/modelsim/r",
    "chars": 22,
    "preview": "restart -f ; run -all\n"
  },
  {
    "path": "cpu/registers/simulation/modelsim/test_registers.mpf",
    "chars": 23570,
    "preview": "; Copyright 1991-2009 Mentor Graphics Corporation\n;\n; All Rights Reserved.\n;\n; THIS WORK CONTAINS TRADE SECRET AND PROPR"
  },
  {
    "path": "cpu/registers/simulation/modelsim/wave_latch.do",
    "chars": 892,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_latch/clk\nadd wave -noupdate -radix hexadeci"
  },
  {
    "path": "cpu/registers/simulation/modelsim/wave_regfile.do",
    "chars": 2195,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_regfile/clk\nadd wave -noupdate -radix hexade"
  },
  {
    "path": "cpu/registers/simulation/modelsim/wave_registers.do",
    "chars": 4874,
    "preview": "onerror {resume}\nquietly WaveActivateNextPane {} 0\nadd wave -noupdate /test_registers/clk\nadd wave -noupdate -expand -gr"
  },
  {
    "path": "cpu/registers/test_latch.sv",
    "chars": 1540,
    "preview": "//==============================================================\n// Test 8-bit latch block\n//==========================="
  },
  {
    "path": "cpu/registers/test_regfile.sv",
    "chars": 6757,
    "preview": "//==============================================================\n// Test register file block (without reg. control unit)"
  },
  {
    "path": "cpu/registers/test_registers.qpf",
    "chars": 1269,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/registers/test_registers.qsf",
    "chars": 3549,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/registers/test_registers.sv",
    "chars": 11708,
    "preview": "//==============================================================\n// Test register control and register file blocks\n//==="
  },
  {
    "path": "cpu/top-level-files.txt",
    "chars": 1376,
    "preview": "# This is a list of A-Z80 files and their dependencies. It is used by several scripts.\n# To copy A-Z80 files into your p"
  },
  {
    "path": "cpu/toplevel/core.vh",
    "chars": 2820,
    "preview": "//============================================================================\n// A-Z80 core, instantiates and connects "
  },
  {
    "path": "cpu/toplevel/coremodules.vh",
    "chars": 16626,
    "preview": "// Automatically generated by gencoremodules.py\n\nclk_delay clk_delay_(\n    .clk (clk),\n    .in_intr (in_intr),\n    .nres"
  },
  {
    "path": "cpu/toplevel/fuse/README",
    "chars": 2311,
    "preview": "These files are part of the Fuse emulator Z80 test vectors:\nhttp://fuse-emulator.sourceforge.net/\n\nFile formats\n========"
  },
  {
    "path": "cpu/toplevel/fuse/regress.expected",
    "chars": 4902,
    "preview": "00      NOP\n    0 MC 0000\n    4 MR 0000 00\n0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001\n00 01 0 0 0 0 4\n\n"
  },
  {
    "path": "cpu/toplevel/fuse/regress.in",
    "chars": 3499,
    "preview": "00      NOP\n0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n00 00 0 0 0 0     1\n0000 00 -1\n-1\n\ned67    RRD\n3"
  },
  {
    "path": "cpu/toplevel/fuse/tests.expected",
    "chars": 325828,
    "preview": "00      NOP\n    0 MC 0000\n    4 MR 0000 00\n0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001\n00 01 0 0 0 0 4\n\n"
  },
  {
    "path": "cpu/toplevel/fuse/tests.in",
    "chars": 169990,
    "preview": "00      NOP\n0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000\n00 00 0 0 0 0     1\n0000 00 -1\n-1\n\n01      LD BC"
  },
  {
    "path": "cpu/toplevel/gencoremodules.py",
    "chars": 4599,
    "preview": "#!/usr/bin/env python3\n#\n# This script reads and parses all top-level modules and generates a core block\n# file containi"
  },
  {
    "path": "cpu/toplevel/genfuse.py",
    "chars": 12592,
    "preview": "#!/usr/bin/env python3\n#\n# This script generates a test include file from a set of \"Fuse\" test vectors.\n#\n# Three common"
  },
  {
    "path": "cpu/toplevel/genglobals.py",
    "chars": 2619,
    "preview": "#!/usr/bin/env python3\n#\n# This script reads and parses selected Verilog and SystemVerilog modules\n# and generates a set"
  },
  {
    "path": "cpu/toplevel/globals.vh",
    "chars": 5252,
    "preview": "// Automatically generated by genglobals.py\n\n// Module: control/clk_delay.v\nwire hold_clk_iorq;\nwire hold_clk_wait;\nwire"
  },
  {
    "path": "cpu/toplevel/simulation/modelsim/io.hex",
    "chars": 2,
    "preview": "00"
  },
  {
    "path": "cpu/toplevel/simulation/modelsim/r",
    "chars": 22,
    "preview": "restart -f ; run -all\n"
  },
  {
    "path": "cpu/toplevel/simulation/modelsim/ram.hexdump",
    "chars": 1176,
    "preview": "C3 8F 00 00 00 79 FE 02 CA 11 00 FE 09 CA 21 00 \nC9 01 00 0A ED 78 CB 47 C2 11 00 01 00 08 ED 59 \nC9 D5 E1 5E 7B FE 24 C"
  },
  {
    "path": "cpu/toplevel/simulation/modelsim/test_top.mpf",
    "chars": 45315,
    "preview": "; Copyright 1991-2009 Mentor Graphics Corporation\n;\n; All Rights Reserved.\n;\n; THIS WORK CONTAINS TRADE SECRET AND PROPR"
  },
  {
    "path": "cpu/toplevel/simulation/modelsim/wave_fuse.do",
    "chars": 31797,
    "preview": "onerror {resume}\r\nquietly virtual function -install /test_fuse/dut/alu_ -env /test_fuse { &{/test_fuse/dut/alu_/op1_high"
  },
  {
    "path": "cpu/toplevel/simulation/modelsim/wave_top.do",
    "chars": 30937,
    "preview": "onerror {resume}\nquietly virtual function -install /test_top/dut/alu_ -env /test_top { &{/test_top/dut/alu_/op1_high, /t"
  },
  {
    "path": "cpu/toplevel/tb_io.sv",
    "chars": 1879,
    "preview": "//--------------------------------------------------------------\n// Implements I/O Model for simulation\n//--------------"
  },
  {
    "path": "cpu/toplevel/tb_iorq.sv",
    "chars": 848,
    "preview": "//--------------------------------------------------------------\n// Interrupt test for simulation\n// This model injects "
  },
  {
    "path": "cpu/toplevel/tb_ram.sv",
    "chars": 1149,
    "preview": "//--------------------------------------------------------------\n// Implements RAM Model for simulation\n// Loads in a fi"
  },
  {
    "path": "cpu/toplevel/test_fuse.sv",
    "chars": 1112,
    "preview": "//--------------------------------------------------------------\n// Testbench using Fuse Z80 emulator test vectors\n//---"
  },
  {
    "path": "cpu/toplevel/test_fuse.vh",
    "chars": 264528,
    "preview": "// Automatically generated by genfuse.py\n\nforce dut.resets_.clrpc=0;\nforce dut.reg_file_.reg_gp_we=0;\nforce dut.reg_cont"
  },
  {
    "path": "cpu/toplevel/test_top.sv",
    "chars": 2697,
    "preview": "//--------------------------------------------------------------\n// Testbench for the top level design\n//---------------"
  },
  {
    "path": "cpu/toplevel/toplevel.bdf",
    "chars": 39369,
    "preview": "/*\nWARNING: Do NOT edit the input and output ports in this file in a text\neditor if you plan to continue editing the blo"
  },
  {
    "path": "cpu/toplevel/toplevel.qpf",
    "chars": 1263,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  },
  {
    "path": "cpu/toplevel/toplevel.qsf",
    "chars": 30460,
    "preview": "# -------------------------------------------------------------------------- #\n#\n# Copyright (C) 1991-2013 Altera Corpor"
  }
]

// ... and 207 more files (download for full content)

About this extraction

This page contains the full source code of the gdevic/A-Z80 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 407 files (7.1 MB), approximately 1.9M tokens, and a symbol index with 78 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!