Skip to content

Commit dc09565

Browse files
committed
added cores folder
1 parent ef24b2d commit dc09565

31 files changed

+3698
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# -------------------------------------------------------------------------- #
2+
#
3+
# Copyright (C) 2017 Intel Corporation. All rights reserved.
4+
# Your use of Intel Corporation's design tools, logic functions
5+
# and other software and tools, and its AMPP partner logic
6+
# functions, and any output files from any of the foregoing
7+
# (including device programming or simulation files), and any
8+
# associated documentation or information are expressly subject
9+
# to the terms and conditions of the Intel Program License
10+
# Subscription Agreement, the Intel Quartus Prime License Agreement,
11+
# the Intel FPGA IP License Agreement, or other applicable license
12+
# agreement, including, without limitation, that your use is for
13+
# the sole purpose of programming logic devices manufactured by
14+
# Intel and sold by Intel or its authorized distributors. Please
15+
# refer to the applicable agreement for further details.
16+
#
17+
# -------------------------------------------------------------------------- #
18+
#
19+
# Quartus Prime
20+
# Version 17.1.0 Build 590 10/25/2017 SJ Lite Edition
21+
# Date created = 21:43:57 January 08, 2021
22+
#
23+
# -------------------------------------------------------------------------- #
24+
25+
QUARTUS_VERSION = "17.1"
26+
DATE = "21:43:57 January 08, 2021"
27+
28+
# Revisions
29+
30+
PROJECT_REVISION = "Deca_Interface_Test"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,155 @@
1+
# -------------------------------------------------------------------------- #
2+
#
3+
# Copyright (C) 2017 Intel Corporation. All rights reserved.
4+
# Your use of Intel Corporation's design tools, logic functions
5+
# and other software and tools, and its AMPP partner logic
6+
# functions, and any output files from any of the foregoing
7+
# (including device programming or simulation files), and any
8+
# associated documentation or information are expressly subject
9+
# to the terms and conditions of the Intel Program License
10+
# Subscription Agreement, the Intel Quartus Prime License Agreement,
11+
# the Intel FPGA IP License Agreement, or other applicable license
12+
# agreement, including, without limitation, that your use is for
13+
# the sole purpose of programming logic devices manufactured by
14+
# Intel and sold by Intel or its authorized distributors. Please
15+
# refer to the applicable agreement for further details.
16+
#
17+
# -------------------------------------------------------------------------- #
18+
#
19+
# Quartus Prime
20+
# Version 17.1.0 Build 590 10/25/2017 SJ Lite Edition
21+
# Date created = 21:43:57 January 08, 2021
22+
#
23+
# -------------------------------------------------------------------------- #
24+
#
25+
# Notes:
26+
#
27+
# 1) The default values for assignments are stored in the file:
28+
# gpio_sega_assignment_defaults.qdf
29+
# If this file doesn't exist, see file:
30+
# assignment_defaults.qdf
31+
#
32+
# 2) Altera recommends that you do not modify this file. This
33+
# file is updated automatically by the Quartus Prime software
34+
# and any changes you make may be lost or overwritten.
35+
#
36+
# -------------------------------------------------------------------------- #
37+
38+
39+
set_global_assignment -name FAMILY "Cyclone V"
40+
set_global_assignment -name DEVICE 5CSXFC6D6F31C6
41+
set_global_assignment -name TOP_LEVEL_ENTITY Deca_Interface_Test
42+
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 17.1.0
43+
set_global_assignment -name PROJECT_CREATION_TIME_DATE "21:43:57 JANUARY 08, 2021"
44+
set_global_assignment -name LAST_QUARTUS_VERSION "17.1.0 Lite Edition"
45+
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
46+
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
47+
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
48+
set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR 256
49+
set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
50+
set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
51+
set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
52+
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
53+
set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
54+
55+
#============================================================
56+
57+
set_location_assignment PIN_K14 -to CLK_50
58+
59+
set_location_assignment PIN_AE9 -to RESET
60+
61+
set_location_assignment PIN_AF10 -to BOARD_LEDS[0]
62+
set_location_assignment PIN_AD10 -to BOARD_LEDS[1]
63+
set_location_assignment PIN_AE11 -to BOARD_LEDS[2]
64+
set_location_assignment PIN_AD7 -to BOARD_LEDS[3]
65+
66+
67+
68+
# assign GPIO0_D[4] = PS2_KEYBOARD_CLK; //HSMC_CLKIN_n1 PIN_AB27
69+
set_location_assignment PIN_AB27 -to PS2_KEYBOARD_CLK
70+
# assign GPIO0_D[5] = PS2_KEYBOARD_DAT; //HSMC_RX _n[7] PIN_F8
71+
set_location_assignment PIN_F8 -to PS2_KEYBOARD_DAT
72+
73+
# assign GPIO0_D[6] = PS2_MOUSE_CLK; //HSMC_CLKIN_p1 PIN_AA26
74+
set_location_assignment PIN_AA26 -to PS2_MOUSE_CLK
75+
# assign GPIO0_D[7] = PS2_MOUSE_DAT; //HSMC_RX _p[7] PIN_F9
76+
set_location_assignment PIN_F9 -to PS2_MOUSE_DAT
77+
78+
# assign GPIO0_D[8] = UART_RXD; //HSMC_TX _n[7] PIN_B3
79+
set_location_assignment PIN_B3 -to UART_RXD
80+
# assign GPIO0_D[9] = UART_TXD; //HSMC_RX _n[6] PIN_G8
81+
set_location_assignment PIN_G8 -to UART_TXD
82+
83+
# assign GPIO0_D[10] = JOY1_B2_P9; //HSMC_TX _p[7] PIN_C3
84+
set_location_assignment PIN_C3 -to JOY1_B2_P9
85+
# assign GPIO0_D[11] = JOY1_B1_P6; //HSMC_RX _p[6] PIN_H8
86+
set_location_assignment PIN_H8 -to JOY1_B1_P6
87+
# assign GPIO0_D[12] = JOY1_UP; //HSMC_TX _n[6] PIN_D4
88+
set_location_assignment PIN_D4 -to JOY1_UP
89+
# assign GPIO0_D[13] = JOY1_DOWN; //HSMC_RX _n[5] PIN_H7
90+
set_location_assignment PIN_H7 -to JOY1_DOWN
91+
92+
# POWER PINS
93+
94+
# assign GPIO0_D[16] = JOY1_LEFT; //HSMC_TX _p[6] PIN_E4
95+
set_location_assignment PIN_E4 -to JOY1_LEFT
96+
# assign GPIO0_D[17] = JOY1_RIGHT; //HSMC_RX _p[5] PIN_J7
97+
set_location_assignment PIN_J7 -to JOY1_RIGHT
98+
# assign GPIO0_D[18] = JOYX_SEL_O; //HSMC_TX _n[5] PIN_E2
99+
set_location_assignment PIN_E2 -to JOYX_SEL_O
100+
101+
# assign GPIO0_D[19] = PMOD1[0]; //HSMC_RX _n[4] PIN_K8
102+
set_location_assignment PIN_K8 -to PMOD1[0]
103+
# assign GPIO0_D[20] = PMOD1[1]; //HSMC_TX _p[5] PIN_E3
104+
set_location_assignment PIN_E3 -to PMOD1[1]
105+
# assign GPIO0_D[21] = PMOD1[2]; //HSMC_RX _p[4] PIN_K7
106+
set_location_assignment PIN_K7 -to PMOD1[2]
107+
# assign GPIO0_D[22] = PMOD1[3]; //HSMC_CLKOUT_n1 PIN_E6
108+
set_location_assignment PIN_E6 -to PMOD1[3]
109+
# assign GPIO0_D[23] = PMOD1[4]; //HSMC_RX _n[3] PIN_J9
110+
set_location_assignment PIN_J9 -to PMOD1[4]
111+
# assign GPIO0_D[24] = PMOD1[5]; //HSMC_CLKOUT_p1 PIN_E7
112+
set_location_assignment PIN_E7 -to PMOD1[5]
113+
# assign GPIO0_D[25] = PMOD1[6]; //HSMC_RX _p[3] PIN_J10
114+
set_location_assignment PIN_J10 -to PMOD1[6]
115+
# assign GPIO0_D[26] = PMOD1[7]; //HSMC_TX _n[4] PIN_C4
116+
set_location_assignment PIN_C4 -to PMOD1[7]
117+
118+
#============================================================
119+
120+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to BOARD_LEDS[3]
121+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to BOARD_LEDS[2]
122+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to BOARD_LEDS[1]
123+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to BOARD_LEDS[0]
124+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to JOY1_B1_P6
125+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to JOY1_B2_P9
126+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to JOY1_DOWN
127+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to JOY1_LEFT
128+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to JOY1_RIGHT
129+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to JOY1_UP
130+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to JOYX_SEL_O
131+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[7]
132+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[0]
133+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[1]
134+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[2]
135+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[3]
136+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[4]
137+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[5]
138+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PMOD1[6]
139+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_KEYBOARD_CLK
140+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_KEYBOARD_DAT
141+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_MOUSE_CLK
142+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to PS2_MOUSE_DAT
143+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to RESET
144+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to UART_RXD
145+
set_instance_assignment -name IO_STANDARD "3.3-V LVTTL" -to UART_TXD
146+
147+
#============================================================
148+
149+
set_global_assignment -name SDC_FILE Deca_Interface_Test.sdc
150+
set_global_assignment -name VERILOG_FILE Deca_Interface_Test.v
151+
152+
#============================================================
153+
154+
155+
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
create_clock -name "CLK_50" -period 20.000ns [get_ports {CLK_50}]
2+
derive_pll_clocks
3+
derive_clock_uncertainty
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
`timescale 1ns / 1ps
2+
//////////////////////////////////////////////////////////////////////////////////
3+
//
4+
// Module Name: Deca_Interface_Test
5+
// Create Date: 05/05/2022
6+
// Description:
7+
//
8+
// Revision 0.01 - File Created
9+
// Additional Comments:
10+
//
11+
//////////////////////////////////////////////////////////////////////////////////
12+
13+
14+
module Deca_Interface_Test(
15+
input CLK_50,
16+
input RESET, // KEY0
17+
18+
// LED output
19+
output [3:0] BOARD_LEDS, // LED0..3
20+
21+
// PS2
22+
input PS2_KEYBOARD_CLK,
23+
input PS2_KEYBOARD_DAT,
24+
input PS2_MOUSE_CLK,
25+
input PS2_MOUSE_DAT,
26+
27+
// UART
28+
input UART_RXD,
29+
input UART_TXD, //output
30+
31+
// JOYSTICK
32+
input JOY1_B2_P9,
33+
input JOY1_B1_P6,
34+
input JOY1_UP,
35+
input JOY1_DOWN,
36+
input JOY1_LEFT,
37+
input JOY1_RIGHT,
38+
input JOYX_SEL_O, //output
39+
40+
//Pmod MicroSD
41+
inout [7:0] PMOD1
42+
43+
);
44+
45+
assign BOARD_LEDS[0] = PS2_KEYBOARD_CLK;
46+
assign BOARD_LEDS[1] = PS2_KEYBOARD_DAT;
47+
assign BOARD_LEDS[2] = PS2_MOUSE_CLK;
48+
assign BOARD_LEDS[3] = PS2_MOUSE_DAT;
49+
50+
// assign BOARD_LEDS[0] = UART_RXD;
51+
// assign BOARD_LEDS[1] = UART_TXD;
52+
// assign BOARD_LEDS[2] = JOY1_B2_P9;
53+
// assign BOARD_LEDS[3] = JOY1_B1_P6;
54+
55+
// assign BOARD_LEDS[0] = JOY1_UP;
56+
// assign BOARD_LEDS[1] = JOY1_DOWN;
57+
// assign BOARD_LEDS[2] = JOY1_LEFT;
58+
// assign BOARD_LEDS[3] = JOY1_RIGHT;
59+
60+
// assign BOARD_LEDS[0] = JOYX_SEL_O;
61+
// assign BOARD_LEDS[1] = PMOD1[0];
62+
// assign BOARD_LEDS[2] = PMOD1[1];
63+
// assign BOARD_LEDS[3] = PMOD1[2];
64+
65+
// assign BOARD_LEDS[0] = PMOD1[3];
66+
// assign BOARD_LEDS[1] = PMOD1[4];
67+
// assign BOARD_LEDS[2] = PMOD1[5];
68+
// assign BOARD_LEDS[3] = PMOD1[6];
69+
70+
// assign BOARD_LEDS[0] = PMOD1[7];
71+
72+
// assign BOARD_LEDS[0] = PS2_KEYBOARD_CLK || UART_RXD || JOY1_UP || JOYX_SEL_O || PMOD1[3] || PMOD1[7] || ~RESET;
73+
// assign BOARD_LEDS[1] = PS2_KEYBOARD_DAT || UART_TXD || JOY1_DOWN || PMOD1[0] || PMOD1[4] || ~RESET;
74+
// assign BOARD_LEDS[2] = PS2_MOUSE_CLK || JOY1_B2_P9 || JOY1_LEFT || PMOD1[1] || PMOD1[5] || ~RESET;
75+
// assign BOARD_LEDS[3] = PS2_MOUSE_DAT || JOY1_B1_P6 || JOY1_RIGHT || PMOD1[2] || PMOD1[6] || ~RESET;
76+
77+
endmodule

Cores/MemTest/README.md

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# MemTest - Utility to test SDRAM daughter board - SOCKIT PORT
2+
3+
Memtest by Somhic ported from Neptuno https://github.com/neptuno-fpga/MemTest_Mister, which was ported from Multicore 2, which was already ported from original Memory tester for MiSTer (https://github.com/MiSTer-devel/MemTest_MiSTer).
4+
5+
**Features:**
6+
7+
* VGA video output
8+
9+
**Additional hardware**:
10+
11+
- SDRAM module for testing.
12+
- PS/2 Keyboard connected to GPIO
13+
14+
**STATUS**:
15+
16+
- 22/04/22 Sockit Port. **Only does the test at fixed 120 MHz frecuency**
17+
- Does not work with 128 MB memory modules.
18+
19+
**Compiling:**
20+
21+
* Load project in /synth/sockit/memtest_sockit.qpf
22+
* sof file already included in /synth/sockit/output_files/
23+
24+
**Pinout connections:**
25+
26+
See qsf file
27+
28+
## Memtest screen:
29+
30+
![MemTest screen](memtest.png)
31+
32+
1. Auto mode indicator (animated)
33+
2. Test time passed in minutes
34+
3. Current memory module frequency in MHz
35+
4. Memory module size:
36+
* 0 - no memory board
37+
* 1 - 32 MB
38+
* 2 - 64 MB
39+
* 3 - 128 MB
40+
5. Number of of passed test cycles (each cycle is 32 MB)
41+
6. Number of failed tests.
42+
43+
## Controls (keyboard)
44+
* Up - increase frequency ~~(KEY0 BUTTON)~~
45+
46+
* Down - decrease frequency ~~(KEY1 BUTTON)~~
47+
48+
* ESC - reset the test
49+
50+
* A - auto mode, detecting the maximum frequency for module being tested. Test starts from maximum frequency. With every error frequency will be decreased. [~~SW1 SWITCH~~]
51+
52+
53+
54+
Test is passed if amount of errors is 0. For quick test let it run for 10 minutes in auto mode. If you want to be sure, let it run for 1-2 hours.
55+
56+
Board should pass at least 130 MHz clock test. Any higher clock will assure the higher quality of the board.

Cores/MemTest/memtest.png

77.3 KB
Loading

Cores/MemTest/src/README.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# MemTest - Utility to test SDRAM daughter board.
2+
3+
## Memtest screen:
4+
5+
![MemTest screen](img/memtest.png)
6+
7+
1. Auto mode indicator (animated),
8+
2. Test time passed in minutes,
9+
3. Current memory module frequency in MHz,
10+
4. Memory module size:
11+
* 0 - no memory board detected
12+
* 1 - 32 MB
13+
* 2 - 64 MB
14+
* 3 - 128 MB
15+
5. Number of of passed test cycles (each cycle is 32 MB),
16+
6. Number of failed tests.
17+
18+
## Controls (keyboard)
19+
* Up - increase frequency
20+
* Down - decrease frequency
21+
* Enter - reset the test
22+
* A - auto mode, detecting the maximum frequency for module being tested. Test starts from maximum frequency.
23+
With every error frequency will be decreased.
24+
25+
Test is passed if amount of errors is 0. For quick test let it run for 10 minutes in auto mode. If you want to be sure, let it run for 1-2 hours.
26+
Board should pass at least 130 MHz clock test. Any higher clock will assure the higher quality of the board.

0 commit comments

Comments
 (0)