Removed hw, doc, host
|
Before Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
Before Width: | Height: | Size: 24 KiB |
@@ -1,14 +0,0 @@
|
||||
# Common
|
||||
*.bak
|
||||
|
||||
# CPLD tool
|
||||
*.bsd
|
||||
*.rpt
|
||||
tb2_ie_info.xml
|
||||
**/cpld/db/
|
||||
**/cpld/incremental_db/
|
||||
**/cpld/output_files/
|
||||
**/cpld/simulation/
|
||||
|
||||
# KiCad
|
||||
*.kicad_pcb-bak
|
||||
@@ -1,55 +0,0 @@
|
||||
PortaPack H1 is portability add-on hardware for the HackRF One
|
||||
software-defined radio (SDR).
|
||||
|
||||
Schematic
|
||||
=========
|
||||
|
||||
The schematic was drawn using KiCad.
|
||||
|
||||
Schematic symbols are cached in the design files, but are also
|
||||
available in a separate repository:
|
||||
|
||||
https://github.com/sharebrained/library-kicad/
|
||||
|
||||
PCB
|
||||
===
|
||||
|
||||
The circuit board was designed using KiCad.
|
||||
|
||||
PCB footprints are cached in the design files, but are also
|
||||
avaliable in a separate repository:
|
||||
|
||||
https://github.com/sharebrained/library-kicad/
|
||||
|
||||
The PCB is a four-layer design. Services such as OSHPark.com have suitable
|
||||
four-layer stack ups.
|
||||
|
||||
CPLD
|
||||
====
|
||||
|
||||
The CPLD bitstream is prepared using Altera Quartus tools.
|
||||
|
||||
The CPLD is programmed from within the PortaPack firmware, by bit-banging
|
||||
the JTAG pins from the HackRF One's microcontroller.
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
Copyright (C) 2013, 2014, 2015 Jared Boone, ShareBrained Technology, Inc.
|
||||
|
||||
These files are part of PortaPack.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING. If not, write to
|
||||
the Free Software Foundation, Inc., 51 Franklin Street,
|
||||
Boston, MA 02110-1301, USA.
|
||||
@@ -1,80 +0,0 @@
|
||||
use <pp_h1_shell.scad>
|
||||
//use <pp_h1_holes.scad>
|
||||
use <pp_h1_stack.scad>
|
||||
include <pp_h1_parameters.scad>
|
||||
|
||||
module case() {
|
||||
difference() {
|
||||
if( case_radiused ) {
|
||||
case_outer_volume_radiused();
|
||||
} else {
|
||||
case_outer_volume_squared();
|
||||
}
|
||||
|
||||
union() {
|
||||
if( case_radiused ) {
|
||||
case_bottom_void_tool_volume_ball();
|
||||
} else {
|
||||
case_bottom_void_tool_volume_end();
|
||||
}
|
||||
|
||||
case_pcb_plane_void_tool_volume();
|
||||
pcb_attach_drills_volume();
|
||||
case_bumpers_emboss();
|
||||
translate([0, 0, h1_pcb_thickness]) portapack_h1_stack_drills();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Cross section */
|
||||
module case_cross_section() {
|
||||
difference() {
|
||||
case();
|
||||
translate([70, -10, -10]) cube([100, 100, 100]);
|
||||
}
|
||||
}
|
||||
|
||||
module case_and_h1() {
|
||||
case();
|
||||
translate([0, 0, h1_pcb_thickness]) hackrf_one();
|
||||
}
|
||||
|
||||
module case_and_stack() {
|
||||
case();
|
||||
translate([0, 0, h1_pcb_thickness]) portapack_h1_stack();
|
||||
}
|
||||
|
||||
module stack_case_interference() {
|
||||
intersection() {
|
||||
case();
|
||||
translate([0, 0, h1_pcb_thickness]) portapack_h1_stack();
|
||||
}
|
||||
}
|
||||
|
||||
module stack_stack_interference() {
|
||||
// Ensure stack and spacers do not interfere.
|
||||
intersection() {
|
||||
union() {
|
||||
portapack_h1_stack_hackrf_one();
|
||||
portapack_h1_stack_portapack();
|
||||
}
|
||||
portapack_h1_stack_spacers();
|
||||
}
|
||||
|
||||
// Ensure screws do not interfere with stack.
|
||||
intersection() {
|
||||
union() {
|
||||
portapack_h1_stack_hackrf_one();
|
||||
portapack_h1_stack_spacers();
|
||||
portapack_h1_stack_portapack();
|
||||
}
|
||||
portapack_h1_stack_screws();
|
||||
}
|
||||
}
|
||||
|
||||
case();
|
||||
//case_and_h1();
|
||||
//case_and_stack();
|
||||
//case_cross_section();
|
||||
//stack_case_interference();
|
||||
//stack_stack_interference();
|
||||
@@ -1,64 +0,0 @@
|
||||
pcb_l = 120;
|
||||
pcb_w = 75;
|
||||
pcb_corner_r = 4;
|
||||
pcb_hole_r = 3.2 / 2;
|
||||
pcb_hole_pad_r = 5.6 / 2;
|
||||
|
||||
h1_pcb_thickness = 1.64;
|
||||
pp_h1_pcb_thickness = 1.56;
|
||||
|
||||
spacer_height = 0.5 * 25.4;
|
||||
|
||||
bolt_drill_d = 3.0;
|
||||
pcb_attach_drills_depth = 4.0;
|
||||
|
||||
pcb_case_clearance = 0.5;
|
||||
case_thickness = 1.5;
|
||||
case_bottom_thickness = case_thickness * 2;
|
||||
h1_pcb_bottom_clearance = 4.0;
|
||||
case_bottom_tool_r = 3.0;
|
||||
case_lid_thickness = 0.125 * 25.4;
|
||||
|
||||
case_height_above_datum = h1_pcb_thickness + spacer_height + pp_h1_pcb_thickness + case_lid_thickness;
|
||||
case_height_below_datum = case_bottom_thickness + h1_pcb_bottom_clearance;
|
||||
case_height = case_height_below_datum + case_height_above_datum;
|
||||
|
||||
attach_foot_r = pcb_hole_pad_r;
|
||||
attach_drill_r = bolt_drill_d / 2.0;
|
||||
|
||||
case_bumper_d = 0.5 * 25.4;
|
||||
case_bumper_clearance = 0.5;
|
||||
case_bumper_emboss_depth = 1.0;
|
||||
|
||||
case_radiused = true;
|
||||
|
||||
case_bumper_inset_from_pcb_edge = case_radiused ? 10.0 : 8.0;
|
||||
|
||||
mounting_drills = [
|
||||
[4, 4],
|
||||
[66, pcb_w - 4],
|
||||
[116, 4],
|
||||
[4, pcb_w - 4],
|
||||
[71, pcb_w - 44],
|
||||
[116, pcb_w - 4]
|
||||
];
|
||||
|
||||
module pcb_extents() {
|
||||
square([pcb_l, pcb_w]);
|
||||
}
|
||||
|
||||
module pcb_outline() {
|
||||
minkowski() {
|
||||
offset(r=-pcb_corner_r) {
|
||||
pcb_extents();
|
||||
}
|
||||
circle(r=pcb_corner_r);
|
||||
}
|
||||
}
|
||||
|
||||
module pcb_outline_clearance() {
|
||||
minkowski() {
|
||||
pcb_outline();
|
||||
circle(r=pcb_case_clearance);
|
||||
}
|
||||
}
|
||||
@@ -1,152 +0,0 @@
|
||||
include <pp_h1_parameters.scad>
|
||||
|
||||
$fs=0.1;
|
||||
|
||||
module attach_corner() {
|
||||
circle(attach_foot_r);
|
||||
polygon([[-10, -10],[attach_foot_r, -10],[attach_foot_r, 0],[0, attach_foot_r],[-10, attach_foot_r]]);
|
||||
}
|
||||
|
||||
module attach_side() {
|
||||
circle(attach_foot_r);
|
||||
translate([0, -attach_foot_r]) square([10, attach_foot_r * 2]);
|
||||
}
|
||||
|
||||
module attach_center() {
|
||||
circle(attach_foot_r);
|
||||
}
|
||||
|
||||
module pcb_supports() {
|
||||
translate(mounting_drills[0]) attach_corner();
|
||||
translate(mounting_drills[1]) rotate(90) attach_side();
|
||||
translate(mounting_drills[2]) rotate(90) attach_corner();
|
||||
translate(mounting_drills[3]) rotate(270) attach_corner();
|
||||
translate(mounting_drills[4]) attach_center();
|
||||
translate(mounting_drills[5]) rotate(180) attach_corner();
|
||||
}
|
||||
|
||||
module pcb_attach_drill_outline() {
|
||||
circle(r=attach_drill_r);
|
||||
}
|
||||
|
||||
module pcb_attach_drills_outline() {
|
||||
for(p = mounting_drills) {
|
||||
translate(p) pcb_attach_drill_outline();
|
||||
}
|
||||
}
|
||||
|
||||
module pcb_attach_drills_volume() {
|
||||
translate([0, 0, -pcb_attach_drills_depth]) linear_extrude(height=30) {
|
||||
pcb_attach_drills_outline();
|
||||
}
|
||||
}
|
||||
|
||||
module case_bottom_void_edge() {
|
||||
// Edge of PCB, plus case clearance, minus board supports.
|
||||
difference() {
|
||||
pcb_outline_clearance();
|
||||
pcb_supports();
|
||||
}
|
||||
}
|
||||
|
||||
module case_bottom_void_tool_path() {
|
||||
// Tool path to cut bottom of case.
|
||||
offset(r=-case_bottom_tool_r) {
|
||||
case_bottom_void_edge();
|
||||
}
|
||||
}
|
||||
|
||||
module case_bottom_void_tool_volume_ball() {
|
||||
$fs=2;
|
||||
$fn=18;
|
||||
// Tool cut volume for bottom of case.
|
||||
// Z=0 at bottom plane of H1 PCB
|
||||
translate([0, 0, -h1_pcb_bottom_clearance + case_bottom_tool_r]) minkowski() {
|
||||
linear_extrude(height=50, convexity=10) {
|
||||
case_bottom_void_tool_path();
|
||||
}
|
||||
sphere(r=case_bottom_tool_r);
|
||||
}
|
||||
}
|
||||
|
||||
module case_outer_volume_radiused() {
|
||||
$fs=2;
|
||||
$fn=18;
|
||||
tool_r = case_bottom_tool_r + case_thickness;
|
||||
tz = h1_pcb_bottom_clearance + case_bottom_thickness - tool_r;
|
||||
difference() {
|
||||
// Rounded volume
|
||||
translate([0, 0, -tz]) {
|
||||
minkowski() {
|
||||
linear_extrude(height=30, convexity=10) {
|
||||
offset(r=-case_bottom_tool_r) {
|
||||
pcb_outline_clearance();
|
||||
}
|
||||
}
|
||||
sphere(r=tool_r);
|
||||
}
|
||||
}
|
||||
|
||||
// Cut off the top.
|
||||
translate([-10, -10, case_height_above_datum]) cube([200, 200, 200]);
|
||||
}
|
||||
}
|
||||
|
||||
module case_bottom_void_tool_volume_end() {
|
||||
// Tool cut volume for bottom of case.
|
||||
// Z=0 at bottom plane of H1 PCB
|
||||
translate([0, 0, -h1_pcb_bottom_clearance]) {
|
||||
linear_extrude(height=50) {
|
||||
minkowski() {
|
||||
case_bottom_void_tool_path();
|
||||
circle(r=case_bottom_tool_r);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module case_bumper_emboss_outline() {
|
||||
circle(r=case_bumper_d / 2 + case_bumper_clearance);
|
||||
}
|
||||
|
||||
module case_bumper_emboss_tool() {
|
||||
height = 10;
|
||||
translate([0, 0, -height]) linear_extrude(height=height) {
|
||||
case_bumper_emboss_outline();
|
||||
}
|
||||
}
|
||||
|
||||
module case_bumpers_emboss() {
|
||||
tz = case_height_below_datum - case_bumper_emboss_depth;
|
||||
translate([0, 0, -tz]) {
|
||||
translate([case_bumper_inset_from_pcb_edge, case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
|
||||
translate([pcb_l - case_bumper_inset_from_pcb_edge, case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
|
||||
translate([case_bumper_inset_from_pcb_edge, pcb_w - case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
|
||||
translate([pcb_l - case_bumper_inset_from_pcb_edge, pcb_w - case_bumper_inset_from_pcb_edge, 0]) case_bumper_emboss_tool();
|
||||
}
|
||||
}
|
||||
|
||||
module case_pcb_plane_void_tool_edge() {
|
||||
offset(r=-pcb_corner_r) {
|
||||
pcb_outline_clearance();
|
||||
}
|
||||
}
|
||||
|
||||
module case_pcb_plane_void_tool_volume() {
|
||||
linear_extrude(height=30, convexity=10) {
|
||||
minkowski() {
|
||||
case_pcb_plane_void_tool_edge();
|
||||
circle(r=pcb_corner_r);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module case_outer_volume_squared() {
|
||||
t = case_bottom_thickness + h1_pcb_bottom_clearance;
|
||||
translate([0, 0, -t]) linear_extrude(height=t + case_height_above_datum) {
|
||||
minkowski() {
|
||||
pcb_outline();
|
||||
circle(r=pcb_case_clearance + case_thickness);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 1991-2014 Altera Corporation
|
||||
# Your use of Altera Corporation's design tools, logic functions
|
||||
# and other software and tools, and its AMPP 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 Altera Program License
|
||||
# Subscription Agreement, Altera MegaCore Function License
|
||||
# Agreement, or other applicable license agreement, including,
|
||||
# without limitation, that your use is for the sole purpose of
|
||||
# programming logic devices manufactured by Altera and sold by
|
||||
# Altera or its authorized distributors. Please refer to the
|
||||
# applicable agreement for further details.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus II 32-bit
|
||||
# Version 13.1.4 Build 182 03/12/2014 SJ Web Edition
|
||||
# Date created = 21:24:55 April 29, 2014
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
QUARTUS_VERSION = "13.1"
|
||||
DATE = "21:24:55 April 29, 2014"
|
||||
|
||||
# Revisions
|
||||
|
||||
PROJECT_REVISION = "portapack_h1_cpld"
|
||||
@@ -1,288 +0,0 @@
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Copyright (C) 1991-2014 Altera Corporation
|
||||
# Your use of Altera Corporation's design tools, logic functions
|
||||
# and other software and tools, and its AMPP 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 Altera Program License
|
||||
# Subscription Agreement, Altera MegaCore Function License
|
||||
# Agreement, or other applicable license agreement, including,
|
||||
# without limitation, that your use is for the sole purpose of
|
||||
# programming logic devices manufactured by Altera and sold by
|
||||
# Altera or its authorized distributors. Please refer to the
|
||||
# applicable agreement for further details.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Quartus II 32-bit
|
||||
# Version 13.1.4 Build 182 03/12/2014 SJ Web Edition
|
||||
# Date created = 21:24:55 April 29, 2014
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
#
|
||||
# Notes:
|
||||
#
|
||||
# 1) The default values for assignments are stored in the file:
|
||||
# portapack_h1_cpld_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 II software
|
||||
# and any changes you make may be lost or overwritten.
|
||||
#
|
||||
# -------------------------------------------------------------------------- #
|
||||
|
||||
|
||||
set_global_assignment -name FAMILY "MAX V"
|
||||
set_global_assignment -name DEVICE 5M40ZE64C5
|
||||
set_global_assignment -name TOP_LEVEL_ENTITY top
|
||||
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 13.1
|
||||
set_global_assignment -name PROJECT_CREATION_TIME_DATE "21:24:55 APRIL 29, 2014"
|
||||
set_global_assignment -name LAST_QUARTUS_VERSION 14.1.0
|
||||
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||
set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0
|
||||
set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85
|
||||
set_global_assignment -name DEVICE_FILTER_PACKAGE EQFP
|
||||
set_global_assignment -name DEVICE_FILTER_PIN_COUNT 64
|
||||
set_global_assignment -name ERROR_CHECK_FREQUENCY_DIVISOR "-1"
|
||||
set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (VHDL)"
|
||||
set_global_assignment -name EDA_NETLIST_WRITER_OUTPUT_DIR simulation/modelsim -section_id eda_simulation
|
||||
set_global_assignment -name EDA_OUTPUT_DATA_FORMAT VHDL -section_id eda_simulation
|
||||
set_global_assignment -name VHDL_INPUT_VERSION VHDL_2008
|
||||
set_global_assignment -name VHDL_SHOW_LMF_MAPPING_MESSAGES OFF
|
||||
set_global_assignment -name SDC_FILE portapack_h1_cpld.sdc
|
||||
set_global_assignment -name VHDL_FILE top.vhd
|
||||
set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVCMOS"
|
||||
set_location_assignment PIN_46 -to LCD_DB[15]
|
||||
set_location_assignment PIN_47 -to LCD_DB[14]
|
||||
set_location_assignment PIN_48 -to LCD_DB[13]
|
||||
set_location_assignment PIN_49 -to LCD_DB[12]
|
||||
set_location_assignment PIN_50 -to LCD_DB[11]
|
||||
set_location_assignment PIN_51 -to LCD_DB[10]
|
||||
set_location_assignment PIN_52 -to LCD_DB[9]
|
||||
set_location_assignment PIN_53 -to LCD_DB[8]
|
||||
set_location_assignment PIN_54 -to LCD_DB[7]
|
||||
set_location_assignment PIN_55 -to LCD_DB[6]
|
||||
set_location_assignment PIN_56 -to LCD_DB[5]
|
||||
set_location_assignment PIN_58 -to LCD_DB[4]
|
||||
set_location_assignment PIN_59 -to LCD_DB[3]
|
||||
set_location_assignment PIN_60 -to LCD_DB[2]
|
||||
set_location_assignment PIN_61 -to LCD_DB[1]
|
||||
set_location_assignment PIN_62 -to LCD_DB[0]
|
||||
set_location_assignment PIN_44 -to LCD_RDX
|
||||
set_location_assignment PIN_43 -to LCD_RS
|
||||
set_location_assignment PIN_63 -to LCD_TE
|
||||
set_location_assignment PIN_45 -to LCD_WRX
|
||||
set_location_assignment PIN_10 -to SW_D
|
||||
set_location_assignment PIN_28 -to SW_L
|
||||
set_location_assignment PIN_9 -to SW_R
|
||||
set_location_assignment PIN_11 -to SW_ROT_A
|
||||
set_location_assignment PIN_12 -to SW_ROT_B
|
||||
set_location_assignment PIN_13 -to SW_SEL
|
||||
set_location_assignment PIN_25 -to SW_U
|
||||
set_location_assignment PIN_1 -to TP_D
|
||||
set_location_assignment PIN_2 -to TP_L
|
||||
set_location_assignment PIN_64 -to TP_R
|
||||
set_location_assignment PIN_3 -to TP_U
|
||||
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_D
|
||||
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_L
|
||||
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_R
|
||||
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_ROT_A
|
||||
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_ROT_B
|
||||
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_SEL
|
||||
set_instance_assignment -name IO_STANDARD "3.3V SCHMITT TRIGGER INPUT" -to SW_U
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_D
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_L
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_R
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to TP_U
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[15]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[14]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[13]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[12]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[11]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[10]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[9]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[8]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[7]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[6]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[5]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[4]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[3]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[2]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[1]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_DB[0]
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_RDX
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_RS
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_TE
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_WRX
|
||||
set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS TEST_BENCH_MODE -section_id eda_simulation
|
||||
set_global_assignment -name EDA_NATIVELINK_SIMULATION_TEST_BENCH top_tb -section_id eda_simulation
|
||||
set_global_assignment -name EDA_TEST_BENCH_NAME top_tb -section_id eda_simulation
|
||||
set_global_assignment -name EDA_DESIGN_INSTANCE_NAME uut -section_id top_tb
|
||||
set_global_assignment -name EDA_TEST_BENCH_MODULE_NAME top_tb -section_id top_tb
|
||||
set_global_assignment -name POWER_PRESET_COOLING_SOLUTION "NO HEAT SINK WITH STILL AIR"
|
||||
set_global_assignment -name EDA_TEST_BENCH_RUN_SIM_FOR "500 ns" -section_id top_tb
|
||||
set_global_assignment -name EDA_TEST_BENCH_FILE top_tb.vhd -section_id top_tb
|
||||
set_global_assignment -name EDA_BOARD_DESIGN_BOUNDARY_SCAN_TOOL "BSDL (Boundary Scan)"
|
||||
set_global_assignment -name EDA_NETLIST_WRITER_OUTPUT_DIR /home/jboone/src/portapack/portapack_hackrf/hardware/portapack_h1/cpld -section_id eda_board_design_boundary_scan
|
||||
set_global_assignment -name EDA_BOARD_BOUNDARY_SCAN_OPERATION POST_CONFIG -section_id eda_board_design_boundary_scan
|
||||
set_global_assignment -name AUTO_RESTART_CONFIGURATION OFF
|
||||
set_global_assignment -name ENABLE_CONFIGURATION_PINS OFF
|
||||
set_global_assignment -name ENABLE_NCE_PIN OFF
|
||||
set_global_assignment -name ENABLE_BOOT_SEL_PIN OFF
|
||||
set_global_assignment -name USE_CONFIGURATION_DEVICE ON
|
||||
set_global_assignment -name GENERATE_RBF_FILE OFF
|
||||
set_global_assignment -name GENERATE_SVF_FILE ON
|
||||
set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED WITH BUS-HOLD"
|
||||
set_location_assignment PIN_38 -to LCD_RESETX
|
||||
set_instance_assignment -name IO_STANDARD "1.8 V" -to LCD_RESETX
|
||||
set_location_assignment PIN_18 -to MCU_D[7]
|
||||
set_location_assignment PIN_19 -to MCU_D[6]
|
||||
set_location_assignment PIN_21 -to MCU_D[5]
|
||||
set_location_assignment PIN_20 -to MCU_D[4]
|
||||
set_location_assignment PIN_22 -to MCU_D[3]
|
||||
set_location_assignment PIN_24 -to MCU_D[2]
|
||||
set_location_assignment PIN_27 -to MCU_D[1]
|
||||
set_location_assignment PIN_26 -to MCU_D[0]
|
||||
set_location_assignment PIN_33 -to MCU_ADDR
|
||||
set_location_assignment PIN_42 -to MCU_DIR
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_ADDR
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[7]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[6]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[5]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[4]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[3]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[2]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[1]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_D[0]
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_DIR
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_D
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_L
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_R
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_U
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_ROT_B
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_SEL
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to SW_ROT_A
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[15]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[14]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[13]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[12]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[11]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[10]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[9]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[8]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[7]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[6]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[5]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[4]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[3]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[2]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[1]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_DB[0]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_RDX
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_RESETX
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_RS
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_TE
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_WRX
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_ADDR
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[7]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[6]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[5]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[4]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[3]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[2]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[1]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_D[0]
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_DIR
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_D
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_L
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_R
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_ROT_A
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_ROT_B
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_SEL
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to SW_U
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_D
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_L
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_R
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MAXIMUM CURRENT" -to TP_U
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[15]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[14]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[13]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[12]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[11]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[10]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[9]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[8]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[7]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[6]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[5]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[4]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[3]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[2]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[1]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_DB[0]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_RDX
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_RESETX
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_RS
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_TE
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_WRX
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_ADDR
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[7]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[6]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[5]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[4]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[3]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[2]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[1]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_D[0]
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_DIR
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_D
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_L
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_R
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_ROT_A
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_ROT_B
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_SEL
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to SW_U
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_D
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_L
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_R
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to TP_U
|
||||
set_global_assignment -name ENABLE_DEVICE_WIDE_RESET ON
|
||||
set_global_assignment -name IOBANK_VCCIO 1.8V -section_id 2
|
||||
set_global_assignment -name IOBANK_VCCIO 3.3V -section_id 1
|
||||
set_instance_assignment -name PCI_IO OFF -to MCU_DIR
|
||||
set_global_assignment -name ALLOW_LVTTL_LVCMOS_INPUT_LEVELS_TO_OVERDRIVE_INPUT_BUFFER ON
|
||||
set_location_assignment PIN_4 -to LCD_BACKLIGHT
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to LCD_BACKLIGHT
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to LCD_BACKLIGHT
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to LCD_BACKLIGHT
|
||||
set_instance_assignment -name PCI_IO OFF -to LCD_BACKLIGHT
|
||||
set_location_assignment PIN_30 -to MCU_LCD_RD
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_LCD_RD
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_LCD_RD
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_LCD_RD
|
||||
set_location_assignment PIN_40 -to MCU_LCD_WR
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_LCD_WR
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_LCD_WR
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_LCD_WR
|
||||
set_instance_assignment -name PCI_IO OFF -to MCU_LCD_WR
|
||||
set_location_assignment PIN_32 -to MCU_IO_STBX
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_IO_STBX
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_IO_STBX
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_IO_STBX
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_R
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_D
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_L
|
||||
set_instance_assignment -name WEAK_PULL_UP_RESISTOR ON -to TP_U
|
||||
set_location_assignment PIN_31 -to MCU_LCD_TE
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_LCD_TE
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_LCD_TE
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_LCD_TE
|
||||
set_location_assignment PIN_34 -to MCU_P2_8
|
||||
set_instance_assignment -name IO_STANDARD "3.3-V LVCMOS" -to MCU_P2_8
|
||||
set_instance_assignment -name CURRENT_STRENGTH_NEW "MINIMUM CURRENT" -to MCU_P2_8
|
||||
set_instance_assignment -name SLOW_SLEW_RATE ON -to MCU_P2_8
|
||||
set_instance_assignment -name PCI_IO OFF -to MCU_P2_8
|
||||