Skip to content

Commit 22c2334

Browse files
committed
add m60k pll
1 parent 3d9a353 commit 22c2334

12 files changed

+1112
-0
lines changed

gbatang_m60k.gprj

+78
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
<?xml version="1" encoding="UTF-8"?>
2+
<!DOCTYPE gowin-fpga-project>
3+
<Project>
4+
<Template>FPGA</Template>
5+
<Version>5</Version>
6+
<Device name="GW5AT-60B" pn="GW5AT-LV60PG484AC1/I0">gw5at60b-002</Device>
7+
<FileList>
8+
<File path="src/common/dpram32_block.v" type="file.verilog" enable="1"/>
9+
<File path="src/common/dpram_block.v" type="file.verilog" enable="1"/>
10+
<File path="src/common/dual_clk_fifo.v" type="file.verilog" enable="1"/>
11+
<File path="src/common/eprocreg_gba.sv" type="file.verilog" enable="1"/>
12+
<File path="src/cpu/gba_cpu.v" type="file.verilog" enable="1"/>
13+
<File path="src/cpu/gba_cpu_thumbdecoder.v" type="file.verilog" enable="1"/>
14+
<File path="src/cpu/gba_interrupts.v" type="file.verilog" enable="1"/>
15+
<File path="src/gba2hdmi.sv" type="file.verilog" enable="1"/>
16+
<File path="src/gbatang_top.sv" type="file.verilog" enable="1"/>
17+
<File path="src/gpu/gba_drawer_merge.v" type="file.verilog" enable="1"/>
18+
<File path="src/gpu/gba_drawer_mode0.v" type="file.verilog" enable="1"/>
19+
<File path="src/gpu/gba_drawer_mode2.v" type="file.verilog" enable="1"/>
20+
<File path="src/gpu/gba_drawer_mode345.v" type="file.verilog" enable="1"/>
21+
<File path="src/gpu/gba_drawer_obj.sv" type="file.verilog" enable="1"/>
22+
<File path="src/gpu/gba_gpu.v" type="file.verilog" enable="1"/>
23+
<File path="src/gpu/gba_gpu_colorshade.sv" type="file.verilog" enable="1"/>
24+
<File path="src/gpu/gba_gpu_drawer.v" type="file.verilog" enable="1"/>
25+
<File path="src/gpu/gba_gpu_timing.v" type="file.verilog" enable="1"/>
26+
<File path="src/gpu/gba_timer.v" type="file.verilog" enable="1"/>
27+
<File path="src/gpu/gba_timer_module.v" type="file.verilog" enable="1"/>
28+
<File path="src/gpu/linebuffer.v" type="file.verilog" enable="1"/>
29+
<File path="src/gpu/vram_hi.v" type="file.verilog" enable="1"/>
30+
<File path="src/gpu/vram_lo.v" type="file.verilog" enable="1"/>
31+
<File path="src/hdmi/audio_clock_regeneration_packet.sv" type="file.verilog" enable="1"/>
32+
<File path="src/hdmi/audio_info_frame.sv" type="file.verilog" enable="1"/>
33+
<File path="src/hdmi/audio_sample_packet.sv" type="file.verilog" enable="1"/>
34+
<File path="src/hdmi/auxiliary_video_information_info_frame.sv" type="file.verilog" enable="1"/>
35+
<File path="src/hdmi/hdmi.sv" type="file.verilog" enable="1"/>
36+
<File path="src/hdmi/packet_assembler.sv" type="file.verilog" enable="1"/>
37+
<File path="src/hdmi/packet_picker.sv" type="file.verilog" enable="1"/>
38+
<File path="src/hdmi/serializer.sv" type="file.verilog" enable="1"/>
39+
<File path="src/hdmi/source_product_description_info_frame.sv" type="file.verilog" enable="1"/>
40+
<File path="src/hdmi/tmds_channel.sv" type="file.verilog" enable="1"/>
41+
<File path="src/iosys/gowin_dpb_menu.v" type="file.verilog" enable="1"/>
42+
<File path="src/iosys/iosys.v" type="file.verilog" enable="1"/>
43+
<File path="src/iosys/picorv32.v" type="file.verilog" enable="1"/>
44+
<File path="src/iosys/simplespimaster.v" type="file.verilog" enable="1"/>
45+
<File path="src/iosys/simpleuart.v" type="file.verilog" enable="1"/>
46+
<File path="src/iosys/spi_master.v" type="file.verilog" enable="1"/>
47+
<File path="src/iosys/spiflash.v" type="file.verilog" enable="1"/>
48+
<File path="src/iosys/textdisp.v" type="file.verilog" enable="1"/>
49+
<File path="src/m138k/fb.v" type="file.verilog" enable="1"/>
50+
<File path="src/m60k/pll_27.v" type="file.verilog" enable="1"/>
51+
<File path="src/m60k/pll_33.v" type="file.verilog" enable="1"/>
52+
<File path="src/m60k/pll_74.v" type="file.verilog" enable="1"/>
53+
<File path="src/memory/gba_dma.v" type="file.verilog" enable="1"/>
54+
<File path="src/memory/gba_dma_module.sv" type="file.verilog" enable="1"/>
55+
<File path="src/memory/gba_eeprom.sv" type="file.verilog" enable="1"/>
56+
<File path="src/memory/gba_flash_sram.sv" type="file.verilog" enable="1"/>
57+
<File path="src/memory/gba_memory.sv" type="file.verilog" enable="1"/>
58+
<File path="src/memory/mem_eeprom.v" type="file.verilog" enable="1"/>
59+
<File path="src/memory/mem_iwram.v" type="file.verilog" enable="1"/>
60+
<File path="src/memory/rv_sdram_adapter.v" type="file.verilog" enable="1"/>
61+
<File path="src/memory/sdram_gba.v" type="file.verilog" enable="1"/>
62+
<File path="src/peripherals/controller_ds2.sv" type="file.verilog" enable="1"/>
63+
<File path="src/peripherals/dualshock_controller.v" type="file.verilog" enable="1"/>
64+
<File path="src/peripherals/gba_joypad.v" type="file.verilog" enable="1"/>
65+
<File path="src/sound/gba_sound.v" type="file.verilog" enable="1"/>
66+
<File path="src/sound/gba_sound_ch1.v" type="file.verilog" enable="1"/>
67+
<File path="src/sound/gba_sound_ch3.v" type="file.verilog" enable="1"/>
68+
<File path="src/sound/gba_sound_ch4.v" type="file.verilog" enable="1"/>
69+
<File path="src/sound/gba_sound_dma.v" type="file.verilog" enable="1"/>
70+
<File path="src/m138k/m138k.cst" type="file.cst" enable="1"/>
71+
<File path="src/m138kpro.cst" type="file.cst" enable="0"/>
72+
<File path="src/gbatang.sdc" type="file.sdc" enable="1"/>
73+
<File path="src/eeprom.gao" type="file.gao" enable="0"/>
74+
<File path="src/gbatang.gao" type="file.gao" enable="0"/>
75+
<File path="src/gpu.gao" type="file.gao" enable="0"/>
76+
<File path="src/iosys.gao" type="file.gao" enable="0"/>
77+
</FileList>
78+
</Project>

src/m60k/config.v

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
`ifndef CONFIG_H
2+
`define CONFIG_H
3+
4+
`define M60K
5+
6+
`endif CONFIG_H

src/m60k/pll_27.ipc

+145
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
[General]
2+
ipc_version=4
3+
file=pll_27
4+
module=pll_27
5+
target_device=gw5at60b-002
6+
type=clock_plladv
7+
version=1.0
8+
9+
[Config]
10+
AdvancedMode=false
11+
ClkfbDivideFactorStatic=true
12+
ClkfbDivideFactorStaticValue=1
13+
ClkfbInternal=true
14+
ClkfboutExpectedFrequency=400
15+
ClkfboutTolerance=0.0
16+
ClkfboutVCODivideFactorStatic=true
17+
ClkfboutVCODivideFactorStaticValue=27
18+
ClkfboutVCOFractionalDivideFactorStaticValue=0
19+
ClkinClockFrequency=50
20+
ClkinDividerFactorStatic=true
21+
ClkinDividerFactorStaticValue=1
22+
ClkinDividerReset=false
23+
Clkou1BPhaseStatic=true
24+
Clkou2BPhaseStatic=true
25+
Clkou3BPhaseStatic=true
26+
Clkout0Bypass=false
27+
Clkout0DutyCycleDynamic=false
28+
Clkout0DutyCycleDynamicValue=0
29+
Clkout0DutyCycleStatic=true
30+
Clkout0DutyTrimStatic=true
31+
Clkout0DutyTrimStaticFalling=false
32+
Clkout0DutyTrimStaticRising=true
33+
Clkout0DutyTrimStaticStep=0
34+
Clkout0ExpectedFrequency=27
35+
Clkout0PhaseDynamic=false
36+
Clkout0PhaseStatic=true
37+
Clkout0PhaseStaticValue=0
38+
Clkout0Tolerance=0.0
39+
Clkout0VCODivideFactorStatic=true
40+
Clkout0VCODivideFactorStaticValue=50
41+
Clkout0VCOFractionalDivideFactorStaticValue=0
42+
Clkout1Bypass=false
43+
Clkout1DutyCycleDynamic=false
44+
Clkout1DutyCycleDynamicValue=0
45+
Clkout1DutyCycleStatic=true
46+
Clkout1DutyTrimStatic=true
47+
Clkout1DutyTrimStaticFalling=false
48+
Clkout1DutyTrimStaticRising=true
49+
Clkout1DutyTrimStaticStep=0
50+
Clkout1ExpectedFrequency=400
51+
Clkout1PhaseDynamic=false
52+
Clkout1PhaseStaticValue=0
53+
Clkout1Tolerance=0.0
54+
Clkout1VCODivideFactorStatic=true
55+
Clkout1VCODivideFactorStaticValue=8
56+
Clkout2Bypass=false
57+
Clkout2DutyCycleDynamic=false
58+
Clkout2DutyCycleDynamicValue=0
59+
Clkout2DutyCycleStatic=true
60+
Clkout2DutyTrimStatic=true
61+
Clkout2DutyTrimStaticFalling=false
62+
Clkout2DutyTrimStaticRising=true
63+
Clkout2DutyTrimStaticStep=0
64+
Clkout2ExpectedFrequency=400
65+
Clkout2PhaseDynamic=false
66+
Clkout2PhaseStaticValue=0
67+
Clkout2Tolerance=0.0
68+
Clkout2VCODivideFactorStatic=true
69+
Clkout2VCODivideFactorStaticValue=8
70+
Clkout3Bypass=false
71+
Clkout3DutyCycleDynamic=false
72+
Clkout3DutyCycleDynamicValue=0
73+
Clkout3DutyCycleStatic=true
74+
Clkout3DutyTrimStatic=true
75+
Clkout3DutyTrimStaticFalling=false
76+
Clkout3DutyTrimStaticRising=true
77+
Clkout3DutyTrimStaticStep=0
78+
Clkout3ExpectedFrequency=400
79+
Clkout3PhaseDynamic=false
80+
Clkout3PhaseStaticValue=0
81+
Clkout3Tolerance=0.0
82+
Clkout3VCODivideFactorStatic=true
83+
Clkout3VCODivideFactorStaticValue=8
84+
Clkout4Bypass=false
85+
Clkout4DutyCycleDynamic=false
86+
Clkout4DutyCycleDynamicValue=0
87+
Clkout4DutyCycleStatic=true
88+
Clkout4ExpectedFrequency=400
89+
Clkout4PhaseDynamic=false
90+
Clkout4PhaseStatic=true
91+
Clkout4PhaseStaticValue=0
92+
Clkout4Tolerance=0.0
93+
Clkout4VCODivideFactorStatic=true
94+
Clkout4VCODivideFactorStaticValue=8
95+
Clkout5Bypass=false
96+
Clkout5DutyCycleDynamic=false
97+
Clkout5DutyCycleDynamicValue=0
98+
Clkout5DutyCycleStatic=true
99+
Clkout5ExpectedFrequency=400
100+
Clkout5PhaseDynamic=false
101+
Clkout5PhaseStatic=true
102+
Clkout5PhaseStaticValue=0
103+
Clkout5Tolerance=0.0
104+
Clkout5VCODivideFactorStatic=true
105+
Clkout5VCODivideFactorStaticValue=8
106+
Clkout6Bypass=false
107+
Clkout6DutyCycleDynamic=false
108+
Clkout6DutyCycleDynamicValue=0
109+
Clkout6DutyCycleStatic=true
110+
Clkout6ExpectedFrequency=400
111+
Clkout6PhaseDynamic=false
112+
Clkout6PhaseStatic=true
113+
Clkout6PhaseStaticValue=0
114+
Clkout6Tolerance=0.0
115+
Clkout6VCODivideFactorStatic=true
116+
Clkout6VCODivideFactorStaticValue=8
117+
ClkoutDividerReset=false
118+
EnableCascade=false
119+
EnableClkfbout=false
120+
EnableClkout0Divider=false
121+
EnableClkout1=false
122+
EnableClkout1Divider=false
123+
EnableClkout2=false
124+
EnableClkout2Divider=false
125+
EnableClkout3=false
126+
EnableClkout3Divider=false
127+
EnableClkout4=false
128+
EnableClkout4Divider=false
129+
EnableClkout5=false
130+
EnableClkout5Divider=false
131+
EnableClkout6=false
132+
EnableClkout6Divider=false
133+
EnableLock=false
134+
EnableSsc=false
135+
GeneralMode=true
136+
ICPSELStatic=true
137+
ICPSELStaticValue=X
138+
LANG=0
139+
LPFCAPStaticValue=C0
140+
LPFRESStaticValue=X
141+
LPFSELStatic=true
142+
PLLPowerDown=false
143+
PLLReset=false
144+
clkfbExternal=false
145+
clkfbExternalValue=

src/m60k/pll_27.mod

+43
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
-series GW5AT
2+
-device GW5AT-60
3+
-device_version B
4+
-package PBGA484A
5+
-part_number GW5AT-LV60PG484AC1/I0
6+
7+
8+
-mod_name pll_27
9+
-file_name pll_27
10+
-path Y:/mdtang/src/m60k/
11+
-type PLL_ADV
12+
-file_type vlg
13+
-ssc false
14+
-rst false
15+
-rst_pwd false
16+
-rst_i false
17+
-rst_o false
18+
-fclkin 50
19+
-idiv_sel 1
20+
-clkfb_sel 0
21+
-fbdiv_sel 1
22+
-en_lock false
23+
-dyn_dpa_en false
24+
-clkout0_bypass false
25+
-odiv0_sel 50
26+
-odiv0_frac_sel 0
27+
-clkout0_dt_dir 1
28+
-clkout0_dt_step 0
29+
-dyn_pe0_sel false
30+
-clkout0_pe_coarse 0
31+
-clkout0_pe_fine 0
32+
-de0_en false
33+
-clkout0_dt_dir 1
34+
-clkout0_dt_step 0
35+
-en_clkout1 false
36+
-en_clkout2 false
37+
-en_clkout3 false
38+
-en_clkout4 false
39+
-en_clkout5 false
40+
-en_clkout6 false
41+
-en_clkfbout false
42+
-mdiv_sel 27
43+
-mdiv_frac_sel 0

0 commit comments

Comments
 (0)