From bcc8b46fa6a06f8c9bfa94eafc7eb2975a5cca4d Mon Sep 17 00:00:00 2001
From: Minyong Li <ml10g20@soton.ac.uk>
Date: Sat, 21 Aug 2021 14:04:41 +0100
Subject: [PATCH] fpga/de1-soc: add Quartus Prime project file w/ constraint

---
 fpga/de1-soc/Can.qpf     | 31 ++++++++++++++++
 fpga/de1-soc/CanCore.qsf | 78 ++++++++++++++++++++++++++++++++++++++++
 fpga/de1-soc/CanCore.sdc |  6 ++++
 3 files changed, 115 insertions(+)
 create mode 100644 fpga/de1-soc/Can.qpf
 create mode 100644 fpga/de1-soc/CanCore.qsf
 create mode 100644 fpga/de1-soc/CanCore.sdc

diff --git a/fpga/de1-soc/Can.qpf b/fpga/de1-soc/Can.qpf
new file mode 100644
index 0000000..2b08b90
--- /dev/null
+++ b/fpga/de1-soc/Can.qpf
@@ -0,0 +1,31 @@
+# -------------------------------------------------------------------------- #
+#
+# Copyright (C) 2020  Intel Corporation. All rights reserved.
+# Your use of Intel Corporation's design tools, logic functions 
+# and other software and tools, and any partner logic 
+# functions, and any output files from any of the foregoing 
+# (including device programming or simulation files), and any 
+# associated documentation or information are expressly subject 
+# to the terms and conditions of the Intel Program License 
+# Subscription Agreement, the Intel Quartus Prime License Agreement,
+# the Intel FPGA IP License Agreement, or other applicable license
+# agreement, including, without limitation, that your use is for
+# the sole purpose of programming logic devices manufactured by
+# Intel and sold by Intel or its authorized distributors.  Please
+# refer to the applicable agreement for further details, at
+# https://fpgasoftware.intel.com/eula.
+#
+# -------------------------------------------------------------------------- #
+#
+# Quartus Prime
+# Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
+# Date created = 13:39:23  August 21, 2021
+#
+# -------------------------------------------------------------------------- #
+
+QUARTUS_VERSION = "20.1"
+DATE = "13:39:23  August 21, 2021"
+
+# Revisions
+
+PROJECT_REVISION = "CanCore"
diff --git a/fpga/de1-soc/CanCore.qsf b/fpga/de1-soc/CanCore.qsf
new file mode 100644
index 0000000..788757e
--- /dev/null
+++ b/fpga/de1-soc/CanCore.qsf
@@ -0,0 +1,78 @@
+# -------------------------------------------------------------------------- #
+#
+# Copyright (C) 2020  Intel Corporation. All rights reserved.
+# Your use of Intel Corporation's design tools, logic functions 
+# and other software and tools, and any partner logic 
+# functions, and any output files from any of the foregoing 
+# (including device programming or simulation files), and any 
+# associated documentation or information are expressly subject 
+# to the terms and conditions of the Intel Program License 
+# Subscription Agreement, the Intel Quartus Prime License Agreement,
+# the Intel FPGA IP License Agreement, or other applicable license
+# agreement, including, without limitation, that your use is for
+# the sole purpose of programming logic devices manufactured by
+# Intel and sold by Intel or its authorized distributors.  Please
+# refer to the applicable agreement for further details, at
+# https://fpgasoftware.intel.com/eula.
+#
+# -------------------------------------------------------------------------- #
+#
+# Quartus Prime
+# Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition
+# Date created = 13:39:23  August 21, 2021
+#
+# -------------------------------------------------------------------------- #
+#
+# Notes:
+#
+# 1) The default values for assignments are stored in the file:
+#		CanCore_assignment_defaults.qdf
+#    If this file doesn't exist, see file:
+#		assignment_defaults.qdf
+#
+# 2) Altera recommends that you do not modify this file. This
+#    file is updated automatically by the Quartus Prime software
+#    and any changes you make may be lost or overwritten.
+#
+# -------------------------------------------------------------------------- #
+
+
+set_global_assignment -name FAMILY "Cyclone V"
+set_global_assignment -name DEVICE 5CSEMA5F31C6
+set_global_assignment -name TOP_LEVEL_ENTITY CanCore
+set_global_assignment -name ORIGINAL_QUARTUS_VERSION 20.1.1
+set_global_assignment -name PROJECT_CREATION_TIME_DATE "13:39:23  AUGUST 21, 2021"
+set_global_assignment -name LAST_QUARTUS_VERSION "20.1.1 Lite Edition"
+set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
+set_global_assignment -name BOARD "DE1-SoC Board"
+set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)"
+set_global_assignment -name EDA_TIME_SCALE "1 ps" -section_id eda_simulation
+set_global_assignment -name EDA_OUTPUT_DATA_FORMAT "VERILOG HDL" -section_id eda_simulation
+set_global_assignment -name EDA_GENERATE_FUNCTIONAL_NETLIST OFF -section_id eda_board_design_timing
+set_global_assignment -name EDA_GENERATE_FUNCTIONAL_NETLIST OFF -section_id eda_board_design_symbol
+set_global_assignment -name EDA_GENERATE_FUNCTIONAL_NETLIST OFF -section_id eda_board_design_signal_integrity
+set_global_assignment -name EDA_GENERATE_FUNCTIONAL_NETLIST OFF -section_id eda_board_design_boundary_scan
+set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
+set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
+set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "23 MM HEAT SINK WITH 200 LFPM AIRFLOW"
+set_global_assignment -name POWER_BOARD_THERMAL_MODEL "NONE (CONSERVATIVE)"
+set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top
+set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top
+set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top
+set_instance_assignment -name VIRTUAL_PIN ON -to io_dataMemory_write_en
+set_instance_assignment -name VIRTUAL_PIN ON -to io_halted
+set_instance_assignment -name VIRTUAL_PIN ON -to io_programMemory_write_en
+set_instance_assignment -name VIRTUAL_PIN ON -to io_take
+set_instance_assignment -name VIRTUAL_PIN ON -to reset
+set_instance_assignment -name VIRTUAL_PIN ON -to io_dataMemory_read_addr
+set_instance_assignment -name VIRTUAL_PIN ON -to io_dataMemory_read_data
+set_instance_assignment -name VIRTUAL_PIN ON -to io_dataMemory_write_addr
+set_instance_assignment -name VIRTUAL_PIN ON -to io_dataMemory_write_data
+set_instance_assignment -name VIRTUAL_PIN ON -to io_programMemory_read_addr
+set_instance_assignment -name VIRTUAL_PIN ON -to io_programMemory_read_data
+set_instance_assignment -name VIRTUAL_PIN ON -to io_programMemory_write_addr
+set_instance_assignment -name VIRTUAL_PIN ON -to io_programMemory_write_data
+set_location_assignment PIN_AF14 -to clock
+set_global_assignment -name SDC_FILE CanCore.sdc
+set_global_assignment -name VERILOG_FILE ../../CanCore.v
+set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
\ No newline at end of file
diff --git a/fpga/de1-soc/CanCore.sdc b/fpga/de1-soc/CanCore.sdc
new file mode 100644
index 0000000..4a51fe5
--- /dev/null
+++ b/fpga/de1-soc/CanCore.sdc
@@ -0,0 +1,6 @@
+# Timing constraints with one DE1-SoC clock source
+# SPDX-FileCopyrightText: 2021 Minyong Li <ml10g20@soton.ac.uk>
+# SPDX-License-Identifier: CC0-1.0
+
+create_clock -name CLK_50MHz -period 20 [get_ports {clock}]
+set_false_path -from [get_ports {io_*}] -to [get_ports {io_*}]
-- 
GitLab