diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/DefenderHardware.sdc b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/DefenderHardware.sdc
index 1c565ca0..13477d83 100644
--- a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/DefenderHardware.sdc
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/DefenderHardware.sdc
@@ -119,8 +119,8 @@ set_clock_groups -asynchronous -group [get_clocks $sdram_clk] -group [get_clocks
set_multicycle_path -from [get_clocks $game_clk] -to [get_clocks $sdram_clk] -setup 2
set_multicycle_path -from [get_clocks $game_clk] -to [get_clocks $sdram_clk] -hold 1
-set_multicycle_path -to {VGA_*[*]} -setup 2
-set_multicycle_path -to {VGA_*[*]} -hold 1
+set_multicycle_path -to {VGA_*[*]} -setup 3
+set_multicycle_path -to {VGA_*[*]} -hold 2
#**************************************************************
# Set Maximum Delay
diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/ReadMe.txt b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/ReadMe.txt
index 2265b0dd..57f083ff 100644
--- a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/ReadMe.txt
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/ReadMe.txt
@@ -3,6 +3,16 @@
-- Arcade: Defender port to MiST by Gehstock
-- 11 June 2019
--
+--
+-- Usage:
+-- - Create ROM and ARC files from the MRA files in the meta directory
+-- using the MRA utility.
+-- Example: mra -A -z /path/to/mame/roms Defender.mra
+-- - Copy the ROM files to the root of the SD Card
+-- - Copy the RBF and ARC files to the same folder on the SD Card
+--
+-- MRA utility: https://github.com/sebdel/mra-tools-c/
+--
---------------------------------------------------------------------------------
-- A simulation model of Williams 6809 hardware
-- by Dar (darfpga@aol.fr)
diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Colony7.mra b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Colony7.mra
new file mode 100644
index 00000000..a38f9e3f
--- /dev/null
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Colony7.mra
@@ -0,0 +1,33 @@
+
+ Colony 7 (set 1)
+ 0216
+ colony7
+ 201911270000
+ 1981
+ Taito
+ Space / Shooter
+ defender
+
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Defender.mra b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Defender.mra
new file mode 100644
index 00000000..a817d89e
--- /dev/null
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Defender.mra
@@ -0,0 +1,37 @@
+
+ Defender (Red label)
+ 0216
+ 201911270000
+ 1980
+ Williams
+ Space / Defender
+ defender
+
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Jin.mra b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Jin.mra
new file mode 100644
index 00000000..bbe18afe
--- /dev/null
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Jin.mra
@@ -0,0 +1,29 @@
+
+ Jin
+ 0216
+ jin
+ 201911270000
+ 1982
+ Falcon
+ Maze / Qix
+ defender
+
+ 3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Mayday.mra b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Mayday.mra
new file mode 100644
index 00000000..adf130be
--- /dev/null
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/meta/Mayday.mra
@@ -0,0 +1,93 @@
+
+ Mayday (set 1)
+ 0216
+ mayday
+ 201911270000
+ 1980
+ Hoei
+ Space / Defender
+ defender
+
+ 2
+
+
+
+
+
+
+
+
+
+
+00 40 80 01 41 81 02 42 82 03 43 83 04 44 84 05
+45 85 06 46 86 07 47 87 08 48 88 09 49 89 0a 4a
+8a 0b 4b 8b 0c 4c 8c 0d 4d 8d 0e 4e 8e 0f 4f 8f
+10 50 90 11 51 91 12 52 92 13 53 93 14 54 94 15
+55 95 16 56 96 17 57 97 18 58 98 19 59 99 1a 5a
+9a 1b 5b 9b 1c 5c 9c 1d 5d 9d 1e 5e 9e 1f 5f 9f
+20 60 a0 21 61 a1 22 62 a2 23 63 a3 24 64 a4 25
+65 a5 26 66 a6 27 67 a7 28 68 a8 29 69 a9 2a 6a
+aa 2b 6b ab 2c 6c ac 2d 6d ad 2e 6e ae 2f 6f af
+30 70 b0 31 71 b1 32 72 b2 33 73 b3 34 74 b4 35
+75 b5 36 76 b6 37 77 b7 38 78 b8 39 79 b9 3a 7a
+ba 3b 7b bb 3c 7c bc 3d 7d bd 3e 7e be 3f 7f bf
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 40 80 01 41 72 32 b1 71 31 b0 70 30 af 6f 2f
+ae 6e 2e ad 6d 2d ac 6c 2c ab 6b 2b aa 6a 2a a9
+69 29 a8 68 28 a7 67 27 a6 66 26 a5 65 25 a4 64
+24 a3 63 23 a2 62 22 a1 61 21 a0 60 20 9f 5f 1f
+9e 5e 1e 9d 5d 1d 9c 5c 1c 9b 5b 1b 9a 5a 1a 99
+59 19 98 58 18 97 57 17 96 56 16 95 55 15 94 54
+14 93 53 13 92 52 12 91 51 11 90 50 10 8f 4f 0f
+8e 4e 0e 8d 4d 0d 8c 4c 0c 8b 4b 0b 8a 4a 0a 89
+49 09 88 48 08 87 47 07 86 46 06 85 45 05 84 44
+04 83 43 03 82 42 02 81 b2 33 73 b3 34 74 b4 35
+75 b5 36 76 b6 37 77 b7 38 78 b8 39 79 b9 3a 7a
+ba 3b 7b bb 3c 7c bc 3d 7d bd 3e 7e be 3f 7f bf
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
+
+
+00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
+10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f
+20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f
+30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f
+40 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f
+50 51 52 53 54 55 56 57 58 59 5a 5b 5c 5d 5e 5f
+60 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f
+70 71 72 73 74 75 76 77 78 79 7a 7b 7c 7d 7e 7f
+80 81 82 83 84 85 86 87 88 89 8a 8b 8c 8d 8e 8f
+90 91 92 93 94 95 96 97 98 99 9a 9b 9c 9d 9e 9f
+a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 aa ab ac ad ae af
+b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 ba bb bc bd be bf
+c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf
+d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd de df
+e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef
+f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd fe ff
+fb fa f9 f8 f7 f6 f5 f4 f3 f2 f1 f0 ef ee ed ec
+eb ea e9 e8 e7 e6 e5 e4 e3 e2 e1 e0 df de dd dc
+db da d9 d8 d7 d6 d5 d4 d3 d2 d1 d0 cf ce cd cc
+cb ca c9 c8 c7 c6 c5 c4 c3 c2 c1 c0 bf be bd bc
+bb ba b9 b8 b7 b6 b5 b4 b3 b2 b1 b0 af ae ad ac
+ab aa a9 a8 a7 a6 a5 a4 a3 a2 a1 a0 9f 9e 9d 9c
+9b 9a 99 98 97 96 95 94 93 92 91 90 8f 8e 8d 8c
+8b 8a 89 88 87 86 85 84 83 82 81 80 7f 7e 7d 7c
+7b 7a 79 78 77 76 75 74 73 72 71 70 6f 6e 6d 6c
+6b 6a 69 68 67 66 65 64 63 62 61 60 5f 5e 5d 5c
+5b 5a 59 58 57 56 55 54 53 52 51 50 4f 4e 4d 4c
+4b 4a 49 48 47 46 45 44 43 42 41 40 3f 3e 3d 3c
+3b 3a 39 38 37 36 35 34 33 32 31 30 2f 2e 2d 2c
+2b 2a 29 28 27 26 25 24 23 22 21 20 1f 1e 1d 1c
+1b 1a 19 18 17 16 15 14 13 12 11 10 0f 0e 0d 0c
+0b 0a 09 08 07 06 05 04 03 02 01 00 fc fd fe ff
+
+
+
+
+
+
diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/Defender_MiST.sv b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/Defender_MiST.sv
index d7006e43..042e85af 100644
--- a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/Defender_MiST.sv
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/Defender_MiST.sv
@@ -34,21 +34,31 @@ module Defender_MiST(
`include "rtl/build_id.v"
-//`define CORE_NAME "DEFENDER"
-//`define CORE_NAME "COLONY7"
-//`define CORE_NAME "MAYDAY"
-`define CORE_NAME "JIN"
+`define CORE_NAME "DEFENDER"
localparam CONF_STR = {
`CORE_NAME,";ROM;",
"O2,Rotate Controls,Off,On;",
"O34,Scanlines,Off,25%,50%,75%;",
"O5,Blend,Off,On;",
+ "DIP;",
"T0,Reset;",
"V,v1.2.",`BUILD_DATE
};
-wire rotate = status[2];
+wire rotate = status[2];
+wire [1:0] scanlines = status[4:3];
+wire blend = status[5];
+wire autoup = status[7];
+wire adv = status[8];
+wire hsr = status[9];
+
+wire advance, hsreset;
+trigger adv_button(clk_sys, adv, advance);
+trigger hsr_button(clk_sys, hsr, hsreset);
+
+wire [6:0] core_mod;
+reg [8*8-1:0] core_name;
reg [7:0] input0;
reg [7:0] input1;
reg [7:0] input2;
@@ -61,7 +71,10 @@ always @(*) begin
input1 = 0;
input2 = 0;
orientation = 2'b10;
- if (`CORE_NAME == "DEFENDER") begin
+
+ case (core_mod)
+ 7'h0: // DEFENDER
+ begin
/*
-- pia rom board port a - input0
-- bit 0 Auto Up / manual Down
@@ -73,7 +86,7 @@ always @(*) begin
-- bit 6 led 2 (output)
-- bit 7 led 1 (output)
*/
- input0 = { 3'b000, m_coin1, 1'b0/*btn_score_reset*/, 1'b0, m_fireF, m_fireE };
+ input0 = { 3'b000, m_coin1, /*btn_score_reset*/hsreset, 1'b0, advance, autoup };
/*
-- pia io port a - input1
-- bit 0 Fire
@@ -93,36 +106,45 @@ always @(*) begin
-- other <= GND
*/
input2 = { 7'b000000, m_up };
- end else if (`CORE_NAME == "COLONY7") begin
+ end
+ 7'h1: // COLONY7
+ begin
orientation = 2'b01;
- input0 = { 3'b000, m_coin1, 4'b0001 };
+ input0 = { 3'b000, m_coin1, 2'b00, /*bonus at*/status[11], /*lives23*/status[10] };
input1 = { m_fireB, m_fireA, m_one_player, m_two_players, m_up, m_left, m_right, m_down };
input2 = { 7'b000000, m_fireC };
- end else if (`CORE_NAME == "MAYDAY") begin
+ end
+ 7'h2: // MAYDAY
+ begin
mayday = 1;
- input0 = { 2'b00, m_coin2, m_coin1, 1'b0, 1'b0/*service*/, m_fireF, m_fireE };
+ input0 = { 2'b00, m_coin2, m_coin1, 1'b0, hsreset, advance, autoup };
input1 = { m_down, 1'b0, m_one_player, m_two_players, m_fireB, m_fireC, m_right, m_fireA };
input2 = { 7'b000000, m_up };
- end else if (`CORE_NAME == "JIN") begin
+ end
+ 7'h3: // JIN
+ begin
orientation = 2'b11;
input0 = { 3'b000, m_coin2, m_coin1, 3'b000 };
input1 = { m_fireB, m_fireA, m_one_player, m_two_players, m_right, m_left, m_down, m_up };
//unknown/Level completed/Level completed/unknown/Lives/Coinage/Coinage/Coinage
- input2 = 0;
+ input2 = { 1'b0, ~status[12:11], 1'b0, status[10], 3'b000 };
end
+ default: ;
+ endcase
+
end
assign LED = ~ioctl_downl;
-assign SDRAM_CLK = clk_sys;
+assign SDRAM_CLK = clk_mem;
assign SDRAM_CKE = 1;
-wire clk_sys, clk_6, clk_0p89;
+wire clk_sys, clk_vid, clk_mem = clk_vid, clk_0p89;
wire pll_locked;
pll_mist pll(
.inclk0(CLOCK_27),
.areset(0),
- .c0(clk_sys),//54
- .c1(clk_6),//6
+ .c0(clk_vid),//72
+ .c1(clk_sys),//6
.c2(clk_0p89),//0.89
.locked(pll_locked)
);
@@ -134,15 +156,34 @@ wire [7:0] joystick_0;
wire [7:0] joystick_1;
wire scandoublerD;
wire ypbpr;
-wire [7:0] audio;
-wire hs, vs;
-wire blankn;
-wire [2:0] r,g;
-wire [1:0] b;
+wire no_csync;
wire key_pressed;
wire [7:0] key_code;
wire key_strobe;
+user_io #(
+ .STRLEN($size(CONF_STR)>>3))
+user_io(
+ .clk_sys (clk_sys ),
+ .conf_str (CONF_STR ),
+ .SPI_CLK (SPI_SCK ),
+ .SPI_SS_IO (CONF_DATA0 ),
+ .SPI_MISO (SPI_DO ),
+ .SPI_MOSI (SPI_DI ),
+ .buttons (buttons ),
+ .switches (switches ),
+ .scandoubler_disable (scandoublerD ),
+ .ypbpr (ypbpr ),
+ .no_csync (no_csync ),
+ .core_mod (core_mod ),
+ .key_strobe (key_strobe ),
+ .key_pressed (key_pressed ),
+ .key_code (key_code ),
+ .joystick_0 (joystick_0 ),
+ .joystick_1 (joystick_1 ),
+ .status (status )
+ );
+
wire ioctl_downl;
wire [7:0] ioctl_index;
wire ioctl_wr;
@@ -179,7 +220,7 @@ wire [15:0] snd_do;
sdram #(.MHZ(54)) sdram(
.*,
.init_n ( pll_locked ),
- .clk ( clk_sys ),
+ .clk ( clk_mem ),
// port1 used for main CPU
.port1_req ( port1_req ),
@@ -231,8 +272,14 @@ always @(posedge clk_sys) begin
reset <= status[0] | buttons[1] | ioctl_downl | ~rom_loaded;
end
+wire [7:0] audio;
+wire hs, vs;
+wire blankn;
+wire [2:0] r,g;
+wire [1:0] b;
+
defender defender (
- .clock_6 ( clk_6 ),
+ .clock_6 ( clk_sys ),
.clk_0p89 ( clk_0p89 ),
.reset ( reset ),
.video_r ( r ),
@@ -263,7 +310,7 @@ defender defender (
);
mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(11)) mist_video(
- .clk_sys ( clk_sys ),
+ .clk_sys ( clk_vid ),
.SPI_SCK ( SPI_SCK ),
.SPI_SS3 ( SPI_SS3 ),
.SPI_DI ( SPI_DI ),
@@ -279,42 +326,22 @@ mist_video #(.COLOR_DEPTH(3), .SD_HCNT_WIDTH(11)) mist_video(
.VGA_HS ( VGA_HS ),
.rotate ( {orientation[1],rotate} ),
.scandoubler_disable( scandoublerD ),
- .scanlines ( status[4:3] ),
- .blend ( status[5] ),
+ .no_csync ( no_csync ),
+ .scanlines ( scanlines ),
+ .blend ( blend ),
.ypbpr ( ypbpr )
);
-user_io #(
- .STRLEN(($size(CONF_STR)>>3)))
-user_io(
- .clk_sys (clk_sys ),
- .conf_str (CONF_STR ),
- .SPI_CLK (SPI_SCK ),
- .SPI_SS_IO (CONF_DATA0 ),
- .SPI_MISO (SPI_DO ),
- .SPI_MOSI (SPI_DI ),
- .buttons (buttons ),
- .switches (switches ),
- .scandoubler_disable (scandoublerD ),
- .ypbpr (ypbpr ),
- .key_strobe (key_strobe ),
- .key_pressed (key_pressed ),
- .key_code (key_code ),
- .joystick_0 (joystick_0 ),
- .joystick_1 (joystick_1 ),
- .status (status )
- );
-
wire dac_o;
assign AUDIO_L = dac_o;
assign AUDIO_R = dac_o;
dac #(
- .C_bits(8))
+ .C_bits(11))
dac(
.clk_i(clk_0p89),
.res_n_i(1),
- .dac_i(audio),
+ .dac_i({3'b000, audio}), // silence by 9dB
.dac_o(dac_o)
);
@@ -338,4 +365,24 @@ arcade_inputs inputs (
.player2 ( {m_fire2F, m_fire2E, m_fire2D, m_fire2C, m_fire2B, m_fire2A, m_up2, m_down2, m_left2, m_right2} )
);
-endmodule
+endmodule
+
+module trigger (
+ input clk,
+ input btn,
+ output trigger
+);
+
+reg [23:0] counter;
+assign trigger = (counter != 0);
+
+always @(posedge clk) begin
+ reg btn_d;
+
+ btn_d <= btn;
+ if (~btn_d & btn) counter <= 24'hfffff;
+ if (counter != 0) counter <= counter - 1'd1;
+
+end
+
+endmodule
diff --git a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/pll_mist.vhd b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/pll_mist.vhd
index c6ccb266..cb9f503e 100644
--- a/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/pll_mist.vhd
+++ b/Arcade_MiST/Williams 6809 rev.1 Hardware/Defender Hardware/rtl/pll_mist.vhd
@@ -156,9 +156,9 @@ BEGIN
altpll_component : altpll
GENERIC MAP (
bandwidth_type => "AUTO",
- clk0_divide_by => 1,
+ clk0_divide_by => 3,
clk0_duty_cycle => 50,
- clk0_multiply_by => 2,
+ clk0_multiply_by => 8,
clk0_phase_shift => "0",
clk1_divide_by => 9,
clk1_duty_cycle => 50,
@@ -255,7 +255,7 @@ END SYN;
-- Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
-- Retrieval info: PRIVATE: DUTY_CYCLE1 STRING "50.00000000"
-- Retrieval info: PRIVATE: DUTY_CYCLE2 STRING "50.00000000"
--- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "54.000000"
+-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "72.000000"
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE1 STRING "6.000000"
-- Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE2 STRING "0.890110"
-- Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
@@ -284,14 +284,14 @@ END SYN;
-- Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"
-- Retrieval info: PRIVATE: MIRROR_CLK1 STRING "0"
-- Retrieval info: PRIVATE: MIRROR_CLK2 STRING "0"
--- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "6"
+-- Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "4"
-- Retrieval info: PRIVATE: MULT_FACTOR1 NUMERIC "2"
-- Retrieval info: PRIVATE: MULT_FACTOR2 NUMERIC "3"
-- Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
--- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "36.00000000"
+-- Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "72.00000000"
-- Retrieval info: PRIVATE: OUTPUT_FREQ1 STRING "6.00000000"
-- Retrieval info: PRIVATE: OUTPUT_FREQ2 STRING "0.89000000"
--- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "0"
+-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE1 STRING "0"
-- Retrieval info: PRIVATE: OUTPUT_FREQ_MODE2 STRING "0"
-- Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
@@ -343,9 +343,9 @@ END SYN;
-- Retrieval info: PRIVATE: ZERO_DELAY_RADIO STRING "0"
-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
-- Retrieval info: CONSTANT: BANDWIDTH_TYPE STRING "AUTO"
--- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "1"
+-- Retrieval info: CONSTANT: CLK0_DIVIDE_BY NUMERIC "3"
-- Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
--- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "2"
+-- Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "8"
-- Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
-- Retrieval info: CONSTANT: CLK1_DIVIDE_BY NUMERIC "9"
-- Retrieval info: CONSTANT: CLK1_DUTY_CYCLE NUMERIC "50"