From ced4d07ab81b21078ad22dbba96259ae9a919717 Mon Sep 17 00:00:00 2001 From: Roman Boykov Date: Wed, 14 Feb 2024 16:19:40 +0300 Subject: [PATCH] Use only 14MHz clk from bus --- Firmware/ClockGenerator.sv | 8 +- Firmware/SprinterJoy.qsf | 5 +- Firmware/SprinterJoy.qws | Bin 2051 -> 0 bytes Firmware/SprinterJoy.sv | 4 +- Firmware/output_files/SprinterJoy.cdf | 4 +- Firmware/output_files/SprinterJoy.jdi | 4 +- Firmware/output_files/SprinterJoy.pin | 122 +++++++++++++------------- Firmware/output_files/SprinterJoy.pof | Bin 8040 -> 8023 bytes 8 files changed, 73 insertions(+), 74 deletions(-) delete mode 100644 Firmware/SprinterJoy.qws diff --git a/Firmware/ClockGenerator.sv b/Firmware/ClockGenerator.sv index d7a3dc4..2ef3f1d 100644 --- a/Firmware/ClockGenerator.sv +++ b/Firmware/ClockGenerator.sv @@ -7,19 +7,19 @@ module ClockGenerator ( output reg sj_clk // Clock for sega joystick ); - reg [6:0] clk_ctr; - localparam [6:0] divisor = 120; + reg [5:0] clk_ctr; + localparam [5:0] divisor = 34; //assign sj_clk = clk_ctr[7]; always_ff @ (posedge clk, posedge reset) if (reset) begin - clk_ctr <= 7'h00; + clk_ctr <= 6'h00; sj_clk <= 1'b0; end else begin if (clk_ctr == divisor) begin - clk_ctr <= 7'h00; + clk_ctr <= 6'h00; sj_clk <= !sj_clk; end else clk_ctr <= clk_ctr + 1'b1; diff --git a/Firmware/SprinterJoy.qsf b/Firmware/SprinterJoy.qsf index ea21f19..87521b2 100644 --- a/Firmware/SprinterJoy.qsf +++ b/Firmware/SprinterJoy.qsf @@ -65,7 +65,6 @@ set_location_assignment PIN_2 -to a[9] set_location_assignment PIN_5 -to a[10] set_location_assignment PIN_6 -to a[11] set_location_assignment PIN_90 -to clk14 -set_location_assignment PIN_87 -to clk50 set_location_assignment PIN_12 -to d[0] set_location_assignment PIN_13 -to d[1] set_location_assignment PIN_14 -to d[2] @@ -80,9 +79,9 @@ set_global_assignment -name SYSTEMVERILOG_FILE ClockGenerator.sv set_global_assignment -name SYSTEMVERILOG_FILE SegaJoy.sv set_global_assignment -name USE_CONFIGURATION_DEVICE ON set_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND "AS INPUT TRI-STATED" -set_location_assignment PIN_35 -to sj1[5] +set_location_assignment PIN_36 -to sj1[5] set_location_assignment PIN_29 -to sj1[4] -set_location_assignment PIN_76 -to sj1[3] +set_location_assignment PIN_35 -to sj1[3] set_location_assignment PIN_32 -to sj1[2] set_location_assignment PIN_30 -to sj1[1] set_location_assignment PIN_28 -to sj1[0] diff --git a/Firmware/SprinterJoy.qws b/Firmware/SprinterJoy.qws deleted file mode 100644 index bde72f699ac5ee31c74b2b876bc9ef33923d487b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2051 zcmd6nO;1xn6o%hh3}I1 z?)?dFj2pJD{0*)}@p-3h)M`vbMd#+sIWzanoUeDzxwc+IW4LHrBzfl?5DM)8ec|v zv`smvpse=(*H~SI=n2yyq>rAY)DD}^5l#$f0zPptSiqEmE|8&wXnUH{6>Y@O2IV_%xInJ-32E{u;hzP=Yv!2pSv2o8*z1# zgNb&6?Gg^xLzEpmHyV{e)Q zVnAIL9)rp(e#dxhq%J|lfYe1QRz|XR1#H&P$b;}=kQcN!j6d4PUMQMT;kbxz{1W`^ zfioI?V4Bo5DqbT{zpgSN*O8lOr=D38I_)&|Po}n69~-7zj?of14AZ~G)HyBFe@ePZ zXIv$NYhbJd$~OScvexb3sN;VRTjN(L)=Qi8pjMwumcyeowyJbFcRTYc)pi%mff@J1 zEMFB$Q~gZnb!m8pzZrJi4c!HEXcWG})(e}mjUl!Wqf^kUFW8zUD`gP8g`Fu-RbyT; zx - + - + diff --git a/Firmware/output_files/SprinterJoy.pin b/Firmware/output_files/SprinterJoy.pin index 1356cdf..138bb47 100644 --- a/Firmware/output_files/SprinterJoy.pin +++ b/Firmware/output_files/SprinterJoy.pin @@ -23,7 +23,7 @@ --------------------------------------------------------------------------------- -- NC : No Connect. This pin has no internal connection to the device. -- DNU : Do Not Use. This pin MUST NOT be connected. - -- VCCINT : Dedicated power pin, which MUST be connected to VCC (3.3V). + -- VCC : Dedicated power pin, which MUST be connected to VCC. -- VCCIO : Dedicated power pin, which MUST be connected to VCC -- of its bank. -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. @@ -56,64 +56,64 @@ -- Pin directions (input, output or bidir) are based on device operating in user mode. --------------------------------------------------------------------------------- -Quartus II 32-bit Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition -CHIP "SprinterJoy" ASSIGNED TO AN: EPM3128ATC100-10 +Quartus II 64-Bit Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition +CHIP "SprinterJoy" ASSIGNED TO AN: EPM7128STC100-10 Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment ------------------------------------------------------------------------------------------------------------- -a[8] : 1 : input : 3.3-V LVTTL : : : Y -a[9] : 2 : input : 3.3-V LVTTL : : : Y -VCCIO : 3 : power : : 3.3V : : -TDI : 4 : input : 3.3-V LVTTL : : : Y -a[10] : 5 : input : 3.3-V LVTTL : : : Y -a[11] : 6 : input : 3.3-V LVTTL : : : Y -a[12] : 7 : input : 3.3-V LVTTL : : : Y -a[13] : 8 : input : 3.3-V LVTTL : : : Y -a[14] : 9 : input : 3.3-V LVTTL : : : Y -a[15] : 10 : input : 3.3-V LVTTL : : : Y +a[8] : 1 : input : TTL : : : Y +a[9] : 2 : input : TTL : : : Y +VCCIO : 3 : power : : 5.0V : : +TDI : 4 : input : TTL : : : N +a[10] : 5 : input : TTL : : : Y +a[11] : 6 : input : TTL : : : Y +RESERVED_INPUT : 7 : : : : : +RESERVED_INPUT : 8 : : : : : +RESERVED_INPUT : 9 : : : : : +RESERVED_INPUT : 10 : : : : : GND : 11 : gnd : : : : -d[0] : 12 : bidir : 3.3-V LVTTL : : : Y -d[1] : 13 : bidir : 3.3-V LVTTL : : : Y -d[2] : 14 : bidir : 3.3-V LVTTL : : : Y -TMS : 15 : input : 3.3-V LVTTL : : : Y -d[3] : 16 : bidir : 3.3-V LVTTL : : : Y -d[4] : 17 : bidir : 3.3-V LVTTL : : : Y -VCCIO : 18 : power : : 3.3V : : -d[5] : 19 : bidir : 3.3-V LVTTL : : : Y -d[6] : 20 : bidir : 3.3-V LVTTL : : : Y -d[7] : 21 : bidir : 3.3-V LVTTL : : : Y +d[0] : 12 : bidir : TTL : : : Y +d[1] : 13 : bidir : TTL : : : Y +d[2] : 14 : bidir : TTL : : : Y +TMS : 15 : input : TTL : : : N +d[3] : 16 : bidir : TTL : : : Y +d[4] : 17 : bidir : TTL : : : Y +VCCIO : 18 : power : : 5.0V : : +d[5] : 19 : bidir : TTL : : : Y +d[6] : 20 : bidir : TTL : : : Y +d[7] : 21 : bidir : TTL : : : Y RESERVED_INPUT : 22 : : : : : RESERVED_INPUT : 23 : : : : : -ior_n : 24 : input : 3.3-V LVTTL : : : Y +ior_n : 24 : input : TTL : : : Y RESERVED_INPUT : 25 : : : : : GND : 26 : gnd : : : : RESERVED_INPUT : 27 : : : : : -sj1[0] : 28 : input : 3.3-V LVTTL : : : Y -sj1[4] : 29 : input : 3.3-V LVTTL : : : Y -sj1[1] : 30 : input : 3.3-V LVTTL : : : Y -sj1_sel : 31 : output : 3.3-V LVTTL : : : Y -sj1[2] : 32 : input : 3.3-V LVTTL : : : Y -GND : 33 : gnd : : : : -VCCIO : 34 : power : : 3.3V : : -sj1[3] : 35 : input : 3.3-V LVTTL : : : Y -sj1[5] : 36 : input : 3.3-V LVTTL : : : Y +sj1[0] : 28 : input : TTL : : : Y +sj1[4] : 29 : input : TTL : : : Y +sj1[1] : 30 : input : TTL : : : Y +sj1_sel : 31 : output : TTL : : : Y +sj1[2] : 32 : input : TTL : : : Y +RESERVED_INPUT : 33 : : : : : +VCCIO : 34 : power : : 5.0V : : +sj1[3] : 35 : input : TTL : : : Y +sj1[5] : 36 : input : TTL : : : Y RESERVED_INPUT : 37 : : : : : GND : 38 : gnd : : : : -VCCINT : 39 : power : : 3.3V : : +VCCINT : 39 : power : : 5.0V : : RESERVED_INPUT : 40 : : : : : RESERVED_INPUT : 41 : : : : : RESERVED_INPUT : 42 : : : : : GND : 43 : gnd : : : : -sj2[0] : 44 : input : 3.3-V LVTTL : : : Y -sj2[4] : 45 : input : 3.3-V LVTTL : : : Y -sj2[1] : 46 : input : 3.3-V LVTTL : : : Y -sj2_sel : 47 : output : 3.3-V LVTTL : : : Y -sj2[2] : 48 : input : 3.3-V LVTTL : : : Y -sj2[3] : 49 : input : 3.3-V LVTTL : : : Y -sj2[5] : 50 : input : 3.3-V LVTTL : : : Y -VCCIO : 51 : power : : 3.3V : : +sj2[0] : 44 : input : TTL : : : Y +sj2[4] : 45 : input : TTL : : : Y +sj2[1] : 46 : input : TTL : : : Y +sj2_sel : 47 : output : TTL : : : Y +sj2[2] : 48 : input : TTL : : : Y +sj2[3] : 49 : input : TTL : : : Y +sj2[5] : 50 : input : TTL : : : Y +VCCIO : 51 : power : : 5.0V : : RESERVED_INPUT : 52 : : : : : -GND : 53 : gnd : : : : +RESERVED_INPUT : 53 : : : : : RESERVED_INPUT : 54 : : : : : RESERVED_INPUT : 55 : : : : : RESERVED_INPUT : 56 : : : : : @@ -122,42 +122,42 @@ RESERVED_INPUT : 58 : : : GND : 59 : gnd : : : : RESERVED_INPUT : 60 : : : : : RESERVED_INPUT : 61 : : : : : -TCK : 62 : input : 3.3-V LVTTL : : : Y +TCK : 62 : input : TTL : : : N RESERVED_INPUT : 63 : : : : : RESERVED_INPUT : 64 : : : : : -GND : 65 : gnd : : : : -VCCIO : 66 : power : : 3.3V : : +RESERVED_INPUT : 65 : : : : : +VCCIO : 66 : power : : 5.0V : : RESERVED_INPUT : 67 : : : : : RESERVED_INPUT : 68 : : : : : RESERVED_INPUT : 69 : : : : : RESERVED_INPUT : 70 : : : : : RESERVED_INPUT : 71 : : : : : RESERVED_INPUT : 72 : : : : : -TDO : 73 : output : 3.3-V LVTTL : : : Y +TDO : 73 : output : TTL : : : N GND : 74 : gnd : : : : RESERVED_INPUT : 75 : : : : : RESERVED_INPUT : 76 : : : : : RESERVED_INPUT : 77 : : : : : -GND : 78 : gnd : : : : +RESERVED_INPUT : 78 : : : : : RESERVED_INPUT : 79 : : : : : RESERVED_INPUT : 80 : : : : : RESERVED_INPUT : 81 : : : : : -VCCIO : 82 : power : : 3.3V : : +VCCIO : 82 : power : : 5.0V : : RESERVED_INPUT : 83 : : : : : RESERVED_INPUT : 84 : : : : : RESERVED_INPUT : 85 : : : : : GND : 86 : gnd : : : : -clk50 : 87 : input : 3.3-V LVTTL : : : Y +GND+ : 87 : : : : : GND+ : 88 : : : : : -reset : 89 : input : 3.3-V LVTTL : : : Y -clk14 : 90 : input : 3.3-V LVTTL : : : Y -VCCINT : 91 : power : : 3.3V : : -a[0] : 92 : input : 3.3-V LVTTL : : : Y -a[1] : 93 : input : 3.3-V LVTTL : : : Y -a[2] : 94 : input : 3.3-V LVTTL : : : Y +reset : 89 : input : TTL : : : Y +clk14 : 90 : input : TTL : : : Y +VCCINT : 91 : power : : 5.0V : : +a[0] : 92 : input : TTL : : : Y +a[1] : 93 : input : TTL : : : Y +a[2] : 94 : input : TTL : : : Y GND : 95 : gnd : : : : -a[3] : 96 : input : 3.3-V LVTTL : : : Y -a[4] : 97 : input : 3.3-V LVTTL : : : Y -a[5] : 98 : input : 3.3-V LVTTL : : : Y -a[6] : 99 : input : 3.3-V LVTTL : : : Y -a[7] : 100 : input : 3.3-V LVTTL : : : Y +a[3] : 96 : input : TTL : : : Y +a[4] : 97 : input : TTL : : : Y +a[5] : 98 : input : TTL : : : Y +a[6] : 99 : input : TTL : : : Y +a[7] : 100 : input : TTL : : : Y diff --git a/Firmware/output_files/SprinterJoy.pof b/Firmware/output_files/SprinterJoy.pof index 23205318172a2e4a7c24086aec457f8eb1f01b9b..c2025c1f98e111937eadec7e3e4100f1d8248f52 100644 GIT binary patch literal 8023 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