forked from alangarf/apple-one
-
Notifications
You must be signed in to change notification settings - Fork 0
/
apple-one.core
151 lines (141 loc) · 4.44 KB
/
apple-one.core
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
CAPI=2:
name : ::apple-one:0
filesets:
cpu:
files:
- rtl/cpu/arlet/cpu.v
- rtl/cpu/arlet/ALU.v
- rtl/cpu/arlet_6502.v
file_type : verilogSource
main:
files:
- roms/basic.hex: {copyto : basic.hex , is_include_file : true}
- rtl/rom_basic.v
- rtl/apple1.v
- roms/wozmon.hex: {copyto : wozmon.hex, is_include_file : true}
- rtl/rom_wozmon.v
- roms/ram.hex: {copyto : ram.hex , is_include_file : true}
- rtl/ram.v
file_type : verilogSource
ps2keyboard:
files:
- rtl/ps2keyboard/debounce.v
- rtl/ps2keyboard/ps2keyboard.v
file_type : verilogSource
synth:
files:
- rtl/pwr_reset.v
- rtl/clock.v
file_type : verilogSource
vga:
files:
- roms/vga_font_bitreversed.hex: {copyto : vga_font_bitreversed.hex, is_include_file : true}
- roms/vga_vram.bin: {copyto : vga_vram.bin, is_include_file : true}
- rtl/vga/vram.v
- rtl/vga/vga.v
- rtl/vga/font_rom.v
file_type : verilogSource
uart:
files:
- rtl/uart/uart.v
- rtl/uart/async_tx_rx.v
file_type : verilogSource
de0:
files:
- rtl/boards/terasic_de0/segmentdisplay.v : {file_type : verilogSource}
- boards/terasic_de0/Quartus/apple-one.sdc : {file_type : SDC}
- boards/terasic_de0/Quartus/options.tcl : {file_type : tclSource}
- boards/terasic_de0/Quartus/pinmap.tcl : {file_type : tclSource}
- rtl/boards/terasic_de0/apple1_de0_top.v : {file_type : verilogSource}
apple1_tb:
files:
- tools/iverilog/apple1_tb.v
file_type : verilogSource
s3e_starterkit:
files:
- boards/spartan3e_starterkit/webpack_ise/apple1_s3e_starterkit_top.ucf : {file_type : UCF}
- rtl/boards/spartan3e_starterkit/apple1_s3e_starterkit_top.v : {file_type : verilogSource}
tinyfpga_b2:
files:
- boards/tinyfpga_b2/yosys/tinyfpga.pcf : {file_type : PCF}
- rtl/boards/tinyfpga_b2/clock_pll.v
- rtl/boards/tinyfpga_b2/apple1_hx8k.v
file_type : verilogSource
vga_tb:
files:
- tools/iverilog/vga_tb.v
file_type : verilogSource
targets:
de0:
default_tool : quartus
filesets: [cpu, main, synth, ps2keyboard, uart, vga, de0]
parameters : [BASIC_FILENAME, FONT_ROM_FILENAME, RAM_FILENAME, VRAM_FILENAME, WOZMON_ROM_FILENAME]
tools:
quartus:
family : "Cyclone III"
device : EP3C16F484C6
toplevel: [apple1_de0_top]
apple1_tb:
default_tool : icarus
filesets : [cpu, main, synth, ps2keyboard, uart, vga, apple1_tb]
parameters : [BASIC_FILENAME, FONT_ROM_FILENAME, RAM_FILENAME, VRAM_FILENAME, WOZMON_ROM_FILENAME]
toplevel : [apple1_tb]
tools:
icarus:
iverilog_options : [-DSIM]
modelsim:
vlog_options : [+define+SIM]
s3e_starterkit:
default_tool : ise
filesets : [main, synth, cpu, uart, vga, ps2keyboard, s3e_starterkit]
parameters : [BASIC_FILENAME, FONT_ROM_FILENAME, RAM_FILENAME, VRAM_FILENAME, WOZMON_ROM_FILENAME]
tools :
ise :
family : Spartan3E
device : xc3s500e
package : fg320
speed : -4
toplevel : [apple1_s3e_starterkit_top]
tinyfpga_b2:
default_tool : icestorm
filesets : [main, synth, cpu, uart, vga, ps2keyboard, tinyfpga_b2]
parameters : [BASIC_FILENAME, FONT_ROM_FILENAME, RAM_FILENAME, VRAM_FILENAME, WOZMON_ROM_FILENAME]
toplevel : [apple1_top]
tools:
icestorm :
arachne_pnr_options : [-d, 8k, -P, cm81]
vga_tb:
default_tool : icarus
filesets : [vga, vga_tb]
toplevel : [vga_tb]
parameters:
BASIC_FILENAME:
datatype : file
default : basic.hex
description : BASIC interpreter ROM (hex format)
paramtype : vlogparam
scope : private
FONT_ROM_FILENAME:
datatype : file
default : vga_font_bitreversed.hex
description : Font ROM (hex format)
paramtype : vlogparam
scope : private
RAM_FILENAME:
datatype : file
default : ram.hex
description : Initial RAM contents (hex format)
paramtype : vlogparam
scope : private
VRAM_FILENAME:
datatype : file
default : vga_vram.bin
description : Initial Video RAM contents (bin format)
paramtype : vlogparam
scope : private
WOZMON_ROM_FILENAME:
datatype : file
default : wozmon.hex
description : WozMon ROM (hex format)
paramtype : vlogparam
scope : private