Merge branch 'first_start' into 'master'
Get the FPGA part working See merge request bslathi19/super6502!1
This commit is contained in:
6
hw/fpga/.gitignore
vendored
6
hw/fpga/.gitignore
vendored
@@ -26,6 +26,10 @@
|
||||
# *.vhd
|
||||
# *.v
|
||||
|
||||
# Don't keep signal tap files.
|
||||
*.stp
|
||||
*.vcd
|
||||
|
||||
# ignore Quartus II generated files
|
||||
*_generation_script*
|
||||
*_inst.vhd
|
||||
@@ -59,7 +63,7 @@
|
||||
# ignore Quartus II generated folders
|
||||
*/db/
|
||||
*/incremental_db/
|
||||
*/simulation/
|
||||
*/*/simulation/
|
||||
*/timing/
|
||||
*/testbench/
|
||||
*/*_sim/
|
||||
|
||||
27
hw/fpga/HexDriver.sv
Normal file
27
hw/fpga/HexDriver.sv
Normal file
@@ -0,0 +1,27 @@
|
||||
module HexDriver (input [3:0] In0,
|
||||
output logic [6:0] Out0);
|
||||
|
||||
always_comb
|
||||
begin
|
||||
unique case (In0)
|
||||
4'b0000 : Out0 = 7'b1000000; // '0'
|
||||
4'b0001 : Out0 = 7'b1111001; // '1'
|
||||
4'b0010 : Out0 = 7'b0100100; // '2'
|
||||
4'b0011 : Out0 = 7'b0110000; // '3'
|
||||
4'b0100 : Out0 = 7'b0011001; // '4'
|
||||
4'b0101 : Out0 = 7'b0010010; // '5'
|
||||
4'b0110 : Out0 = 7'b0000010; // '6'
|
||||
4'b0111 : Out0 = 7'b1111000; // '7'
|
||||
4'b1000 : Out0 = 7'b0000000; // '8'
|
||||
4'b1001 : Out0 = 7'b0010000; // '9'
|
||||
4'b1010 : Out0 = 7'b0001000; // 'A'
|
||||
4'b1011 : Out0 = 7'b0000011; // 'b'
|
||||
4'b1100 : Out0 = 7'b1000110; // 'C'
|
||||
4'b1101 : Out0 = 7'b0100001; // 'd'
|
||||
4'b1110 : Out0 = 7'b0000110; // 'E'
|
||||
4'b1111 : Out0 = 7'b0001110; // 'F'
|
||||
default : Out0 = 7'bX;
|
||||
endcase
|
||||
end
|
||||
|
||||
endmodule
|
||||
32
hw/fpga/SevenSeg.sv
Normal file
32
hw/fpga/SevenSeg.sv
Normal file
@@ -0,0 +1,32 @@
|
||||
module SevenSeg(
|
||||
input clk,
|
||||
input rst,
|
||||
|
||||
input rw,
|
||||
|
||||
input [7:0] data,
|
||||
input cs,
|
||||
input addr,
|
||||
|
||||
output logic [6:0] HEX0, HEX1, HEX2, HEX3
|
||||
);
|
||||
|
||||
logic [7:0] _data [2];
|
||||
|
||||
always_ff @(posedge clk) begin
|
||||
if (rst)
|
||||
_data = '{default:'0};
|
||||
if (~rw & cs)
|
||||
_data[addr] <= data;
|
||||
end
|
||||
|
||||
|
||||
logic [3:0] hex_4[3:0];
|
||||
|
||||
assign {hex_4[3], hex_4[2]} = _data[1];
|
||||
assign {hex_4[1], hex_4[0]} = _data[0];
|
||||
|
||||
HexDriver hex_drivers[3:0] (hex_4, {HEX3, HEX2, HEX1, HEX0});
|
||||
|
||||
|
||||
endmodule
|
||||
@@ -2,11 +2,11 @@ module addr_decode(
|
||||
input logic [15:0] addr,
|
||||
output logic ram_cs,
|
||||
output logic rom_cs,
|
||||
output logic io_cs
|
||||
output logic hex_cs
|
||||
);
|
||||
|
||||
assign rom_cs = addr[15];
|
||||
assign ram_cs = ~addr[15] && addr < 16'h7ff0;
|
||||
assign io_cs = addr >= 16'h7ff0 && addr < 16'h8000;
|
||||
assign hex_cs = addr >= 16'h7ff0 && addr < 16'h7ff2;
|
||||
|
||||
endmodule
|
||||
|
||||
9
hw/fpga/cpu_clk.ppf
Normal file
9
hw/fpga/cpu_clk.ppf
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE pinplan>
|
||||
<pinplan intended_family="MAX 10" variation_name="cpu_clk" megafunction_name="ALTPLL" specifies="all_ports">
|
||||
<global>
|
||||
<pin name="inclk0" direction="input" scope="external" source="clock" />
|
||||
<pin name="c0" direction="output" scope="external" source="clock" />
|
||||
|
||||
</global>
|
||||
</pinplan>
|
||||
5
hw/fpga/cpu_clk.qip
Normal file
5
hw/fpga/cpu_clk.qip
Normal file
@@ -0,0 +1,5 @@
|
||||
set_global_assignment -name IP_TOOL_NAME "ALTPLL"
|
||||
set_global_assignment -name IP_TOOL_VERSION "18.1"
|
||||
set_global_assignment -name IP_GENERATED_DEVICE_FAMILY "{MAX 10}"
|
||||
set_global_assignment -name VERILOG_FILE [file join $::quartus(qip_path) "cpu_clk.v"]
|
||||
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "cpu_clk.ppf"]
|
||||
305
hw/fpga/cpu_clk.v
Normal file
305
hw/fpga/cpu_clk.v
Normal file
@@ -0,0 +1,305 @@
|
||||
// megafunction wizard: %ALTPLL%
|
||||
// GENERATION: STANDARD
|
||||
// VERSION: WM1.0
|
||||
// MODULE: altpll
|
||||
|
||||
// ============================================================
|
||||
// File Name: cpu_clk.v
|
||||
// Megafunction Name(s):
|
||||
// altpll
|
||||
//
|
||||
// Simulation Library Files(s):
|
||||
// altera_mf
|
||||
// ============================================================
|
||||
// ************************************************************
|
||||
// THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
|
||||
//
|
||||
// 18.1.0 Build 625 09/12/2018 SJ Lite Edition
|
||||
// ************************************************************
|
||||
|
||||
|
||||
//Copyright (C) 2018 Intel Corporation. All rights reserved.
|
||||
//Your use of Intel 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 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.
|
||||
|
||||
|
||||
// synopsys translate_off
|
||||
`timescale 1 ps / 1 ps
|
||||
// synopsys translate_on
|
||||
module cpu_clk (
|
||||
inclk0,
|
||||
c0);
|
||||
|
||||
input inclk0;
|
||||
output c0;
|
||||
|
||||
wire [4:0] sub_wire0;
|
||||
wire [0:0] sub_wire4 = 1'h0;
|
||||
wire [0:0] sub_wire1 = sub_wire0[0:0];
|
||||
wire c0 = sub_wire1;
|
||||
wire sub_wire2 = inclk0;
|
||||
wire [1:0] sub_wire3 = {sub_wire4, sub_wire2};
|
||||
|
||||
altpll altpll_component (
|
||||
.inclk (sub_wire3),
|
||||
.clk (sub_wire0),
|
||||
.activeclock (),
|
||||
.areset (1'b0),
|
||||
.clkbad (),
|
||||
.clkena ({6{1'b1}}),
|
||||
.clkloss (),
|
||||
.clkswitch (1'b0),
|
||||
.configupdate (1'b0),
|
||||
.enable0 (),
|
||||
.enable1 (),
|
||||
.extclk (),
|
||||
.extclkena ({4{1'b1}}),
|
||||
.fbin (1'b1),
|
||||
.fbmimicbidir (),
|
||||
.fbout (),
|
||||
.fref (),
|
||||
.icdrclk (),
|
||||
.locked (),
|
||||
.pfdena (1'b1),
|
||||
.phasecounterselect ({4{1'b1}}),
|
||||
.phasedone (),
|
||||
.phasestep (1'b1),
|
||||
.phaseupdown (1'b1),
|
||||
.pllena (1'b1),
|
||||
.scanaclr (1'b0),
|
||||
.scanclk (1'b0),
|
||||
.scanclkena (1'b1),
|
||||
.scandata (1'b0),
|
||||
.scandataout (),
|
||||
.scandone (),
|
||||
.scanread (1'b0),
|
||||
.scanwrite (1'b0),
|
||||
.sclkout0 (),
|
||||
.sclkout1 (),
|
||||
.vcooverrange (),
|
||||
.vcounderrange ());
|
||||
defparam
|
||||
altpll_component.bandwidth_type = "AUTO",
|
||||
altpll_component.clk0_divide_by = 50,
|
||||
altpll_component.clk0_duty_cycle = 50,
|
||||
altpll_component.clk0_multiply_by = 1,
|
||||
altpll_component.clk0_phase_shift = "0",
|
||||
altpll_component.compensate_clock = "CLK0",
|
||||
altpll_component.inclk0_input_frequency = 20000,
|
||||
altpll_component.intended_device_family = "MAX 10",
|
||||
altpll_component.lpm_hint = "CBX_MODULE_PREFIX=cpu_clk",
|
||||
altpll_component.lpm_type = "altpll",
|
||||
altpll_component.operation_mode = "NORMAL",
|
||||
altpll_component.pll_type = "AUTO",
|
||||
altpll_component.port_activeclock = "PORT_UNUSED",
|
||||
altpll_component.port_areset = "PORT_UNUSED",
|
||||
altpll_component.port_clkbad0 = "PORT_UNUSED",
|
||||
altpll_component.port_clkbad1 = "PORT_UNUSED",
|
||||
altpll_component.port_clkloss = "PORT_UNUSED",
|
||||
altpll_component.port_clkswitch = "PORT_UNUSED",
|
||||
altpll_component.port_configupdate = "PORT_UNUSED",
|
||||
altpll_component.port_fbin = "PORT_UNUSED",
|
||||
altpll_component.port_inclk0 = "PORT_USED",
|
||||
altpll_component.port_inclk1 = "PORT_UNUSED",
|
||||
altpll_component.port_locked = "PORT_UNUSED",
|
||||
altpll_component.port_pfdena = "PORT_UNUSED",
|
||||
altpll_component.port_phasecounterselect = "PORT_UNUSED",
|
||||
altpll_component.port_phasedone = "PORT_UNUSED",
|
||||
altpll_component.port_phasestep = "PORT_UNUSED",
|
||||
altpll_component.port_phaseupdown = "PORT_UNUSED",
|
||||
altpll_component.port_pllena = "PORT_UNUSED",
|
||||
altpll_component.port_scanaclr = "PORT_UNUSED",
|
||||
altpll_component.port_scanclk = "PORT_UNUSED",
|
||||
altpll_component.port_scanclkena = "PORT_UNUSED",
|
||||
altpll_component.port_scandata = "PORT_UNUSED",
|
||||
altpll_component.port_scandataout = "PORT_UNUSED",
|
||||
altpll_component.port_scandone = "PORT_UNUSED",
|
||||
altpll_component.port_scanread = "PORT_UNUSED",
|
||||
altpll_component.port_scanwrite = "PORT_UNUSED",
|
||||
altpll_component.port_clk0 = "PORT_USED",
|
||||
altpll_component.port_clk1 = "PORT_UNUSED",
|
||||
altpll_component.port_clk2 = "PORT_UNUSED",
|
||||
altpll_component.port_clk3 = "PORT_UNUSED",
|
||||
altpll_component.port_clk4 = "PORT_UNUSED",
|
||||
altpll_component.port_clk5 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena0 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena1 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena2 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena3 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena4 = "PORT_UNUSED",
|
||||
altpll_component.port_clkena5 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk0 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk1 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk2 = "PORT_UNUSED",
|
||||
altpll_component.port_extclk3 = "PORT_UNUSED",
|
||||
altpll_component.width_clock = 5;
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
// ============================================================
|
||||
// CNX file retrieval info
|
||||
// ============================================================
|
||||
// Retrieval info: PRIVATE: ACTIVECLK_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH STRING "1.000"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_FREQ_UNIT STRING "MHz"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_PRESET STRING "Low"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_USE_AUTO STRING "1"
|
||||
// Retrieval info: PRIVATE: BANDWIDTH_USE_PRESET STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKBAD_SWITCHOVER_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKLOSS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CLKSWITCH_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CNX_NO_COMPENSATE_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: CREATE_CLKBAD_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CREATE_INCLK1_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: CUR_DEDICATED_CLK STRING "c0"
|
||||
// Retrieval info: PRIVATE: CUR_FBIN_CLK STRING "c0"
|
||||
// Retrieval info: PRIVATE: DEVICE_SPEED_GRADE STRING "7"
|
||||
// Retrieval info: PRIVATE: DIV_FACTOR0 NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: DUTY_CYCLE0 STRING "50.00000000"
|
||||
// Retrieval info: PRIVATE: EFF_OUTPUT_FREQ_VALUE0 STRING "1.000000"
|
||||
// Retrieval info: PRIVATE: EXPLICIT_SWITCHOVER_COUNTER STRING "0"
|
||||
// Retrieval info: PRIVATE: EXT_FEEDBACK_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCKED_COUNTER_EDIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: GLOCKED_FEATURE_ENABLED STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCKED_MODE_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: GLOCK_COUNTER_EDIT NUMERIC "1048575"
|
||||
// Retrieval info: PRIVATE: HAS_MANUAL_SWITCHOVER STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK0_FREQ_EDIT STRING "50.000"
|
||||
// Retrieval info: PRIVATE: INCLK0_FREQ_UNIT_COMBO STRING "MHz"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT STRING "100.000"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_EDIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_CHANGED STRING "1"
|
||||
// Retrieval info: PRIVATE: INCLK1_FREQ_UNIT_COMBO STRING "MHz"
|
||||
// Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "MAX 10"
|
||||
// Retrieval info: PRIVATE: INT_FEEDBACK__MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: LOCKED_OUTPUT_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: LONG_SCAN_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE STRING "Not Available"
|
||||
// Retrieval info: PRIVATE: LVDS_MODE_DATA_RATE_DIRTY NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: LVDS_PHASE_SHIFT_UNIT0 STRING "deg"
|
||||
// Retrieval info: PRIVATE: MIG_DEVICE_SPEED_GRADE STRING "Any"
|
||||
// Retrieval info: PRIVATE: MIRROR_CLK0 STRING "0"
|
||||
// Retrieval info: PRIVATE: MULT_FACTOR0 NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: NORMAL_MODE_RADIO STRING "1"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ0 STRING "1.00000000"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_MODE0 STRING "1"
|
||||
// Retrieval info: PRIVATE: OUTPUT_FREQ_UNIT0 STRING "MHz"
|
||||
// Retrieval info: PRIVATE: PHASE_RECONFIG_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: PHASE_RECONFIG_INPUTS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT0 STRING "0.00000000"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT_STEP_ENABLED_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PHASE_SHIFT_UNIT0 STRING "deg"
|
||||
// Retrieval info: PRIVATE: PLL_ADVANCED_PARAM_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_ARESET_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_AUTOPLL_CHECK NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: PLL_ENHPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FASTPLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_FBMIMIC_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_LVDS_PLL_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PLL_PFDENA_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: PLL_TARGET_HARCOPY_CHECK NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: PRIMARY_CLK_COMBO STRING "inclk0"
|
||||
// Retrieval info: PRIVATE: RECONFIG_FILE STRING "cpu_clk.mif"
|
||||
// Retrieval info: PRIVATE: SACN_INPUTS_CHECK STRING "0"
|
||||
// Retrieval info: PRIVATE: SCAN_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: SELF_RESET_LOCK_LOSS STRING "0"
|
||||
// Retrieval info: PRIVATE: SHORT_SCAN_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FEATURE_ENABLED STRING "0"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ STRING "50.000"
|
||||
// Retrieval info: PRIVATE: SPREAD_FREQ_UNIT STRING "KHz"
|
||||
// Retrieval info: PRIVATE: SPREAD_PERCENT STRING "0.500"
|
||||
// Retrieval info: PRIVATE: SPREAD_USE STRING "0"
|
||||
// Retrieval info: PRIVATE: SRC_SYNCH_COMP_RADIO STRING "0"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK0 STRING "1"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK1 STRING "0"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK2 STRING "0"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK3 STRING "0"
|
||||
// Retrieval info: PRIVATE: STICKY_CLK4 STRING "0"
|
||||
// Retrieval info: PRIVATE: SWITCHOVER_COUNT_EDIT NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: SWITCHOVER_FEATURE_ENABLED STRING "1"
|
||||
// Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_CLK0 STRING "1"
|
||||
// Retrieval info: PRIVATE: USE_CLKENA0 STRING "0"
|
||||
// Retrieval info: PRIVATE: USE_MIL_SPEED_GRADE NUMERIC "0"
|
||||
// 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 "50"
|
||||
// Retrieval info: CONSTANT: CLK0_DUTY_CYCLE NUMERIC "50"
|
||||
// Retrieval info: CONSTANT: CLK0_MULTIPLY_BY NUMERIC "1"
|
||||
// Retrieval info: CONSTANT: CLK0_PHASE_SHIFT STRING "0"
|
||||
// Retrieval info: CONSTANT: COMPENSATE_CLOCK STRING "CLK0"
|
||||
// Retrieval info: CONSTANT: INCLK0_INPUT_FREQUENCY NUMERIC "20000"
|
||||
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "MAX 10"
|
||||
// Retrieval info: CONSTANT: LPM_TYPE STRING "altpll"
|
||||
// Retrieval info: CONSTANT: OPERATION_MODE STRING "NORMAL"
|
||||
// Retrieval info: CONSTANT: PLL_TYPE STRING "AUTO"
|
||||
// Retrieval info: CONSTANT: PORT_ACTIVECLOCK STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_ARESET STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKBAD0 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKBAD1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKLOSS STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CLKSWITCH STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_CONFIGUPDATE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_FBIN STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_INCLK0 STRING "PORT_USED"
|
||||
// Retrieval info: CONSTANT: PORT_INCLK1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_LOCKED STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PFDENA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASECOUNTERSELECT STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASEDONE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASESTEP STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PHASEUPDOWN STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_PLLENA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANACLR STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANCLK STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANCLKENA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANDATA STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANDATAOUT STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANDONE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANREAD STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_SCANWRITE STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk0 STRING "PORT_USED"
|
||||
// Retrieval info: CONSTANT: PORT_clk1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk2 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk3 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk4 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clk5 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena0 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena2 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena3 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena4 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_clkena5 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk0 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk1 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk2 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: PORT_extclk3 STRING "PORT_UNUSED"
|
||||
// Retrieval info: CONSTANT: WIDTH_CLOCK NUMERIC "5"
|
||||
// Retrieval info: USED_PORT: @clk 0 0 5 0 OUTPUT_CLK_EXT VCC "@clk[4..0]"
|
||||
// Retrieval info: USED_PORT: c0 0 0 0 0 OUTPUT_CLK_EXT VCC "c0"
|
||||
// Retrieval info: USED_PORT: inclk0 0 0 0 0 INPUT_CLK_EXT GND "inclk0"
|
||||
// Retrieval info: CONNECT: @inclk 0 0 1 1 GND 0 0 0 0
|
||||
// Retrieval info: CONNECT: @inclk 0 0 1 0 inclk0 0 0 0 0
|
||||
// Retrieval info: CONNECT: c0 0 0 0 0 @clk 0 0 1 0
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_clk.v TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_clk.ppf TRUE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_clk.inc FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_clk.cmp FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_clk.bsf FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_clk_inst.v FALSE
|
||||
// Retrieval info: GEN_FILE: TYPE_NORMAL cpu_clk_bb.v FALSE
|
||||
// Retrieval info: LIB_FILE: altera_mf
|
||||
// Retrieval info: CBX_MODULE_PREFIX: ON
|
||||
@@ -1,12 +1,12 @@
|
||||
ADDRESS_ACLR_A=NONE
|
||||
CLOCK_ENABLE_INPUT_A=BYPASS
|
||||
CLOCK_ENABLE_OUTPUT_A=BYPASS
|
||||
INIT_FILE=../../sw/bootrom.hex
|
||||
INTENDED_DEVICE_FAMILY="MAX 10"
|
||||
NUMWORDS_A=32768
|
||||
OPERATION_MODE=SINGLE_PORT
|
||||
OPERATION_MODE=ROM
|
||||
OUTDATA_ACLR_A=NONE
|
||||
OUTDATA_REG_A=UNREGISTERED
|
||||
POWER_UP_UNINITIALIZED=FALSE
|
||||
READ_DURING_WRITE_MODE_PORT_A=NEW_DATA_NO_NBE_READ
|
||||
WIDTHAD_A=15
|
||||
WIDTH_A=8
|
||||
WIDTH_BYTEENA_A=1
|
||||
|
||||
@@ -7,7 +7,9 @@ timeprecision 1ns;
|
||||
logic [15:0] addr;
|
||||
logic ram_cs;
|
||||
logic rom_cs;
|
||||
logic io_cs;
|
||||
logic hex_cs;
|
||||
|
||||
int cs_count = ram_cs + rom_cs + hex_cs;
|
||||
|
||||
addr_decode dut(.*);
|
||||
|
||||
@@ -16,13 +18,16 @@ initial begin : TEST_VECTORS
|
||||
for (int i = 0; i < 2**16; i++) begin
|
||||
addr <= i;
|
||||
#1
|
||||
assert(cs_count < 2)
|
||||
else
|
||||
$error("Multiple chip selects present!");
|
||||
if (i < 16'h7ff0) begin
|
||||
assert(ram_cs == '1)
|
||||
else
|
||||
$error("Bad CS! addr=%4x should have ram_cs!", addr);
|
||||
end
|
||||
if (i >= 16'h7ff0 && i < 16'h8000) begin
|
||||
assert(io_cs == '1)
|
||||
if (i >= 16'h7ff0 && i < 16'h7ff2) begin
|
||||
assert(hex_cs == '1)
|
||||
else
|
||||
$error("Bad CS! addr=%4x should have io_cs!", addr);
|
||||
end
|
||||
|
||||
13
hw/fpga/output_files/super6502.cdf
Normal file
13
hw/fpga/output_files/super6502.cdf
Normal file
@@ -0,0 +1,13 @@
|
||||
/* Quartus Prime Version 18.1.0 Build 625 09/12/2018 SJ Lite Edition */
|
||||
JedecChain;
|
||||
FileRevision(JESD32A);
|
||||
DefaultMfr(6E);
|
||||
|
||||
P ActionCode(Cfg)
|
||||
Device PartName(10M50DAF484) Path("/home/byron/Projects/super6502/hw/fpga/output_files/") File("super6502.sof") MfrSpec(OpMask(1));
|
||||
|
||||
ChainEnd;
|
||||
|
||||
AlteraBegin;
|
||||
ChainType(JTAG);
|
||||
AlteraEnd;
|
||||
@@ -84,9 +84,9 @@ module rom (
|
||||
altsyncram_component.clock_enable_input_a = "BYPASS",
|
||||
altsyncram_component.clock_enable_output_a = "BYPASS",
|
||||
`ifdef NO_PLI
|
||||
altsyncram_component.init_file = "boot.rif"
|
||||
altsyncram_component.init_file = "../../sw/bootrom.rif"
|
||||
`else
|
||||
altsyncram_component.init_file = "boot.hex"
|
||||
altsyncram_component.init_file = "../../sw/bootrom.hex"
|
||||
`endif
|
||||
,
|
||||
altsyncram_component.intended_device_family = "MAX 10",
|
||||
@@ -123,7 +123,7 @@ endmodule
|
||||
// Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "1"
|
||||
// Retrieval info: PRIVATE: JTAG_ID STRING "ROM0"
|
||||
// Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: MIFfilename STRING "boot.hex"
|
||||
// Retrieval info: PRIVATE: MIFfilename STRING "../../sw/bootrom.hex"
|
||||
// Retrieval info: PRIVATE: NUMWORDS_A NUMERIC "32768"
|
||||
// Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
|
||||
// Retrieval info: PRIVATE: RegAddr NUMERIC "1"
|
||||
@@ -138,7 +138,7 @@ endmodule
|
||||
// Retrieval info: CONSTANT: ADDRESS_ACLR_A STRING "NONE"
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_A STRING "BYPASS"
|
||||
// Retrieval info: CONSTANT: INIT_FILE STRING "boot.hex"
|
||||
// Retrieval info: CONSTANT: INIT_FILE STRING "../../sw/bootrom.hex"
|
||||
// Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "MAX 10"
|
||||
// Retrieval info: CONSTANT: LPM_HINT STRING "ENABLE_RUNTIME_MOD=YES,INSTANCE_NAME=ROM0"
|
||||
// Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
|
||||
|
||||
6
hw/fpga/simulation/modelsim/.gitignore
vendored
6
hw/fpga/simulation/modelsim/.gitignore
vendored
@@ -1,6 +1,8 @@
|
||||
# ignore ModelSim generated files and directories (temp files and so on)
|
||||
[_@]*
|
||||
|
||||
*.ini
|
||||
|
||||
# ignore compilation output of ModelSim
|
||||
*.mti
|
||||
*.dat
|
||||
@@ -21,3 +23,7 @@ cov*/
|
||||
transcript*
|
||||
sc_dpiheader.h
|
||||
vsim.dbg
|
||||
*.sft
|
||||
*.svo
|
||||
*.xrf
|
||||
|
||||
|
||||
@@ -1,324 +0,0 @@
|
||||
; Copyright 1991-2009 Mentor Graphics Corporation
|
||||
;
|
||||
; All Rights Reserved.
|
||||
;
|
||||
; THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS THE PROPERTY OF
|
||||
; MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS SUBJECT TO LICENSE TERMS.
|
||||
;
|
||||
|
||||
[Library]
|
||||
others = $MODEL_TECH/../modelsim.ini
|
||||
|
||||
; Altera Primitive libraries
|
||||
;
|
||||
; VHDL Section
|
||||
;
|
||||
;
|
||||
; Verilog Section
|
||||
;
|
||||
|
||||
work = rtl_work
|
||||
[vcom]
|
||||
; VHDL93 variable selects language version as the default.
|
||||
; Default is VHDL-2002.
|
||||
; Value of 0 or 1987 for VHDL-1987.
|
||||
; Value of 1 or 1993 for VHDL-1993.
|
||||
; Default or value of 2 or 2002 for VHDL-2002.
|
||||
; Default or value of 3 or 2008 for VHDL-2008.
|
||||
VHDL93 = 2002
|
||||
|
||||
; Show source line containing error. Default is off.
|
||||
; Show_source = 1
|
||||
|
||||
; Turn off unbound-component warnings. Default is on.
|
||||
; Show_Warning1 = 0
|
||||
|
||||
; Turn off process-without-a-wait-statement warnings. Default is on.
|
||||
; Show_Warning2 = 0
|
||||
|
||||
; Turn off null-range warnings. Default is on.
|
||||
; Show_Warning3 = 0
|
||||
|
||||
; Turn off no-space-in-time-literal warnings. Default is on.
|
||||
; Show_Warning4 = 0
|
||||
|
||||
; Turn off multiple-drivers-on-unresolved-signal warnings. Default is on.
|
||||
; Show_Warning5 = 0
|
||||
|
||||
; Turn off optimization for IEEE std_logic_1164 package. Default is on.
|
||||
; Optimize_1164 = 0
|
||||
|
||||
; Turn on resolving of ambiguous function overloading in favor of the
|
||||
; "explicit" function declaration (not the one automatically created by
|
||||
; the compiler for each type declaration). Default is off.
|
||||
; The .ini file has Explicit enabled so that std_logic_signed/unsigned
|
||||
; will match the behavior of synthesis tools.
|
||||
Explicit = 1
|
||||
|
||||
; Turn off acceleration of the VITAL packages. Default is to accelerate.
|
||||
; NoVital = 1
|
||||
|
||||
; Turn off VITAL compliance checking. Default is checking on.
|
||||
; NoVitalCheck = 1
|
||||
|
||||
; Ignore VITAL compliance checking errors. Default is to not ignore.
|
||||
; IgnoreVitalErrors = 1
|
||||
|
||||
; Turn off VITAL compliance checking warnings. Default is to show warnings.
|
||||
; Show_VitalChecksWarnings = 0
|
||||
|
||||
; Keep silent about case statement static warnings.
|
||||
; Default is to give a warning.
|
||||
; NoCaseStaticError = 1
|
||||
|
||||
; Keep silent about warnings caused by aggregates that are not locally static.
|
||||
; Default is to give a warning.
|
||||
; NoOthersStaticError = 1
|
||||
|
||||
; Turn off inclusion of debugging info within design units.
|
||||
; Default is to include debugging info.
|
||||
; NoDebug = 1
|
||||
|
||||
; Turn off "Loading..." messages. Default is messages on.
|
||||
; Quiet = 1
|
||||
|
||||
; Turn on some limited synthesis rule compliance checking. Checks only:
|
||||
; -- signals used (read) by a process must be in the sensitivity list
|
||||
; CheckSynthesis = 1
|
||||
|
||||
; Activate optimizations on expressions that do not involve signals,
|
||||
; waits, or function/procedure/task invocations. Default is off.
|
||||
; ScalarOpts = 1
|
||||
|
||||
; Require the user to specify a configuration for all bindings,
|
||||
; and do not generate a compile time default binding for the
|
||||
; component. This will result in an elaboration error of
|
||||
; 'component not bound' if the user fails to do so. Avoids the rare
|
||||
; issue of a false dependency upon the unused default binding.
|
||||
; RequireConfigForAllDefaultBinding = 1
|
||||
|
||||
; Inhibit range checking on subscripts of arrays. Range checking on
|
||||
; scalars defined with subtypes is inhibited by default.
|
||||
; NoIndexCheck = 1
|
||||
|
||||
; Inhibit range checks on all (implicit and explicit) assignments to
|
||||
; scalar objects defined with subtypes.
|
||||
; NoRangeCheck = 1
|
||||
|
||||
[vlog]
|
||||
|
||||
; Turn off inclusion of debugging info within design units.
|
||||
; Default is to include debugging info.
|
||||
; NoDebug = 1
|
||||
|
||||
; Turn off "loading..." messages. Default is messages on.
|
||||
; Quiet = 1
|
||||
|
||||
; Turn on Verilog hazard checking (order-dependent accessing of global vars).
|
||||
; Default is off.
|
||||
; Hazard = 1
|
||||
|
||||
; Turn on converting regular Verilog identifiers to uppercase. Allows case
|
||||
; insensitivity for module names. Default is no conversion.
|
||||
; UpCase = 1
|
||||
|
||||
; Turn on incremental compilation of modules. Default is off.
|
||||
; Incremental = 1
|
||||
|
||||
; Turns on lint-style checking.
|
||||
; Show_Lint = 1
|
||||
|
||||
[vsim]
|
||||
; Simulator resolution
|
||||
; Set to fs, ps, ns, us, ms, or sec with optional prefix of 1, 10, or 100.
|
||||
Resolution = ps
|
||||
|
||||
; User time unit for run commands
|
||||
; Set to default, fs, ps, ns, us, ms, or sec. The default is to use the
|
||||
; unit specified for Resolution. For example, if Resolution is 100ps,
|
||||
; then UserTimeUnit defaults to ps.
|
||||
; Should generally be set to default.
|
||||
UserTimeUnit = default
|
||||
|
||||
; Default run length
|
||||
RunLength = 100
|
||||
|
||||
; Maximum iterations that can be run without advancing simulation time
|
||||
IterationLimit = 5000
|
||||
|
||||
; Directive to license manager:
|
||||
; vhdl Immediately reserve a VHDL license
|
||||
; vlog Immediately reserve a Verilog license
|
||||
; plus Immediately reserve a VHDL and Verilog license
|
||||
; nomgc Do not look for Mentor Graphics Licenses
|
||||
; nomti Do not look for Model Technology Licenses
|
||||
; noqueue Do not wait in the license queue when a license isn't available
|
||||
; viewsim Try for viewer license but accept simulator license(s) instead
|
||||
; of queuing for viewer license
|
||||
; License = plus
|
||||
|
||||
; Stop the simulator after a VHDL/Verilog assertion message
|
||||
; 0 = Note 1 = Warning 2 = Error 3 = Failure 4 = Fatal
|
||||
BreakOnAssertion = 3
|
||||
|
||||
; Assertion Message Format
|
||||
; %S - Severity Level
|
||||
; %R - Report Message
|
||||
; %T - Time of assertion
|
||||
; %D - Delta
|
||||
; %I - Instance or Region pathname (if available)
|
||||
; %% - print '%' character
|
||||
; AssertionFormat = "** %S: %R\n Time: %T Iteration: %D%I\n"
|
||||
|
||||
; Assertion File - alternate file for storing VHDL/Verilog assertion messages
|
||||
; AssertFile = assert.log
|
||||
|
||||
; Default radix for all windows and commands...
|
||||
; Set to symbolic, ascii, binary, octal, decimal, hex, unsigned
|
||||
DefaultRadix = symbolic
|
||||
|
||||
; VSIM Startup command
|
||||
; Startup = do startup.do
|
||||
|
||||
; File for saving command transcript
|
||||
TranscriptFile = transcript
|
||||
|
||||
; File for saving command history
|
||||
; CommandHistory = cmdhist.log
|
||||
|
||||
; Specify whether paths in simulator commands should be described
|
||||
; in VHDL or Verilog format.
|
||||
; For VHDL, PathSeparator = /
|
||||
; For Verilog, PathSeparator = .
|
||||
; Must not be the same character as DatasetSeparator.
|
||||
PathSeparator = /
|
||||
|
||||
; Specify the dataset separator for fully rooted contexts.
|
||||
; The default is ':'. For example, sim:/top
|
||||
; Must not be the same character as PathSeparator.
|
||||
DatasetSeparator = :
|
||||
|
||||
; Disable VHDL assertion messages
|
||||
; IgnoreNote = 1
|
||||
; IgnoreWarning = 1
|
||||
; IgnoreError = 1
|
||||
; IgnoreFailure = 1
|
||||
|
||||
; Default force kind. May be freeze, drive, deposit, or default
|
||||
; or in other terms, fixed, wired, or charged.
|
||||
; A value of "default" will use the signal kind to determine the
|
||||
; force kind, drive for resolved signals, freeze for unresolved signals
|
||||
; DefaultForceKind = freeze
|
||||
|
||||
; If zero, open files when elaborated; otherwise, open files on
|
||||
; first read or write. Default is 0.
|
||||
; DelayFileOpen = 1
|
||||
|
||||
; Control VHDL files opened for write.
|
||||
; 0 = Buffered, 1 = Unbuffered
|
||||
UnbufferedOutput = 0
|
||||
|
||||
; Control the number of VHDL files open concurrently.
|
||||
; This number should always be less than the current ulimit
|
||||
; setting for max file descriptors.
|
||||
; 0 = unlimited
|
||||
ConcurrentFileLimit = 40
|
||||
|
||||
; Control the number of hierarchical regions displayed as
|
||||
; part of a signal name shown in the Wave window.
|
||||
; A value of zero tells VSIM to display the full name.
|
||||
; The default is 0.
|
||||
; WaveSignalNameWidth = 0
|
||||
|
||||
; Turn off warnings from the std_logic_arith, std_logic_unsigned
|
||||
; and std_logic_signed packages.
|
||||
; StdArithNoWarnings = 1
|
||||
|
||||
; Turn off warnings from the IEEE numeric_std and numeric_bit packages.
|
||||
; NumericStdNoWarnings = 1
|
||||
|
||||
; Control the format of the (VHDL) FOR generate statement label
|
||||
; for each iteration. Do not quote it.
|
||||
; The format string here must contain the conversion codes %s and %d,
|
||||
; in that order, and no other conversion codes. The %s represents
|
||||
; the generate_label; the %d represents the generate parameter value
|
||||
; at a particular generate iteration (this is the position number if
|
||||
; the generate parameter is of an enumeration type). Embedded whitespace
|
||||
; is allowed (but discouraged); leading and trailing whitespace is ignored.
|
||||
; Application of the format must result in a unique scope name over all
|
||||
; such names in the design so that name lookup can function properly.
|
||||
; GenerateFormat = %s__%d
|
||||
|
||||
; Specify whether checkpoint files should be compressed.
|
||||
; The default is 1 (compressed).
|
||||
; CheckpointCompressMode = 0
|
||||
|
||||
; List of dynamically loaded objects for Verilog PLI applications
|
||||
; Veriuser = veriuser.sl
|
||||
|
||||
; Specify default options for the restart command. Options can be one
|
||||
; or more of: -force -nobreakpoint -nolist -nolog -nowave
|
||||
; DefaultRestartOptions = -force
|
||||
|
||||
; HP-UX 10.20 ONLY - Enable memory locking to speed up large designs
|
||||
; (> 500 megabyte memory footprint). Default is disabled.
|
||||
; Specify number of megabytes to lock.
|
||||
; LockedMemory = 1000
|
||||
|
||||
; Turn on (1) or off (0) WLF file compression.
|
||||
; The default is 1 (compress WLF file).
|
||||
; WLFCompress = 0
|
||||
|
||||
; Specify whether to save all design hierarchy (1) in the WLF file
|
||||
; or only regions containing logged signals (0).
|
||||
; The default is 0 (save only regions with logged signals).
|
||||
; WLFSaveAllRegions = 1
|
||||
|
||||
; WLF file time limit. Limit WLF file by time, as closely as possible,
|
||||
; to the specified amount of simulation time. When the limit is exceeded
|
||||
; the earliest times get truncated from the file.
|
||||
; If both time and size limits are specified the most restrictive is used.
|
||||
; UserTimeUnits are used if time units are not specified.
|
||||
; The default is 0 (no limit). Example: WLFTimeLimit = {100 ms}
|
||||
; WLFTimeLimit = 0
|
||||
|
||||
; WLF file size limit. Limit WLF file size, as closely as possible,
|
||||
; to the specified number of megabytes. If both time and size limits
|
||||
; are specified then the most restrictive is used.
|
||||
; The default is 0 (no limit).
|
||||
; WLFSizeLimit = 1000
|
||||
|
||||
; Specify whether or not a WLF file should be deleted when the
|
||||
; simulation ends. A value of 1 will cause the WLF file to be deleted.
|
||||
; The default is 0 (do not delete WLF file when simulation ends).
|
||||
; WLFDeleteOnQuit = 1
|
||||
|
||||
; Automatic SDF compilation
|
||||
; Disables automatic compilation of SDF files in flows that support it.
|
||||
; Default is on, uncomment to turn off.
|
||||
; NoAutoSDFCompile = 1
|
||||
|
||||
[lmc]
|
||||
|
||||
[msg_system]
|
||||
; Change a message severity or suppress a message.
|
||||
; The format is: <msg directive> = <msg number>[,<msg number>...]
|
||||
; Examples:
|
||||
; note = 3009
|
||||
; warning = 3033
|
||||
; error = 3010,3016
|
||||
; fatal = 3016,3033
|
||||
; suppress = 3009,3016,3043
|
||||
; The command verror <msg number> can be used to get the complete
|
||||
; description of a message.
|
||||
|
||||
; Control transcripting of elaboration/runtime messages.
|
||||
; The default is to have messages appear in the transcript and
|
||||
; recorded in the wlf file (messages that are recorded in the
|
||||
; wlf file can be viewed in the MsgViewer). The other settings
|
||||
; are to send messages only to the transcript or only to the
|
||||
; wlf file. The valid values are
|
||||
; both {default}
|
||||
; tran {transcript only}
|
||||
; wlf {wlf file only}
|
||||
; msgmode = both
|
||||
@@ -1 +0,0 @@
|
||||
set tool_name "ModelSim-Altera (SystemVerilog)"
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,593 +0,0 @@
|
||||
vendor_name = ModelSim
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/super6502.sv
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/ram.qip
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/ram.v
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/super6502.sdc
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/rom.qip
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/rom.v
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/altsyncram.tdf
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/stratix_ram_block.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/lpm_mux.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/lpm_decode.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/aglobal181.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/a_rdenreg.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/altrom.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/altram.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/altdpram.inc
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/cbx.lst
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/altsyncram_okf1.tdf
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/decode_c7a.tdf
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/decode_5j9.tdf
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/mux_s1b.tdf
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/altsyncram_b7b1.tdf
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/altsyncram_kqc2.tdf
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/boot.hex
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/sld_mod_ram_rom.vhd
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/vhdl/ieee/prmtvs_b.vhd
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/vhdl/ieee/prmtvs_p.vhd
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/vhdl/ieee/timing_b.vhd
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/vhdl/ieee/timing_p.vhd
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/sld_jtag_endpoint_adapter.vhd
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/sld_jtag_endpoint_adapter_impl.sv
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/sld_rom_sr.vhd
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/sld_hub.vhd
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/ip/sld0cadc1a2/alt_sld_fab.v
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/ip/sld0cadc1a2/submodules/alt_sld_fab_alt_sld_fab.v
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/ip/sld0cadc1a2/submodules/alt_sld_fab_alt_sld_fab_ident.sv
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/ip/sld0cadc1a2/submodules/alt_sld_fab_alt_sld_fab_presplit.sv
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/ip/sld0cadc1a2/submodules/alt_sld_fab_alt_sld_fab_sldfabric.vhd
|
||||
source_file = 1, /home/byron/Projects/super6502/hw/fpga/db/ip/sld0cadc1a2/submodules/alt_sld_fab_alt_sld_fab_splitter.sv
|
||||
source_file = 1, /software/quartus-lite-18.1/quartus/libraries/megafunctions/sld_jtag_hub.vhd
|
||||
design_name = super6502
|
||||
instance = comp, \~QUARTUS_CREATED_GND~I , ~QUARTUS_CREATED_GND~I, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][6]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][6]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][7]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][7]~feeder, super6502, 1
|
||||
instance = comp, \cpu_led~output , cpu_led~output, super6502, 1
|
||||
instance = comp, \cpu_resb~output , cpu_resb~output, super6502, 1
|
||||
instance = comp, \cpu_rdy~output , cpu_rdy~output, super6502, 1
|
||||
instance = comp, \cpu_sob~output , cpu_sob~output, super6502, 1
|
||||
instance = comp, \cpu_irqb~output , cpu_irqb~output, super6502, 1
|
||||
instance = comp, \cpu_phi2~output , cpu_phi2~output, super6502, 1
|
||||
instance = comp, \cpu_be~output , cpu_be~output, super6502, 1
|
||||
instance = comp, \cpu_nmib~output , cpu_nmib~output, super6502, 1
|
||||
instance = comp, \cpu_data[0]~output , cpu_data[0]~output, super6502, 1
|
||||
instance = comp, \cpu_data[1]~output , cpu_data[1]~output, super6502, 1
|
||||
instance = comp, \cpu_data[2]~output , cpu_data[2]~output, super6502, 1
|
||||
instance = comp, \cpu_data[3]~output , cpu_data[3]~output, super6502, 1
|
||||
instance = comp, \cpu_data[4]~output , cpu_data[4]~output, super6502, 1
|
||||
instance = comp, \cpu_data[5]~output , cpu_data[5]~output, super6502, 1
|
||||
instance = comp, \cpu_data[6]~output , cpu_data[6]~output, super6502, 1
|
||||
instance = comp, \cpu_data[7]~output , cpu_data[7]~output, super6502, 1
|
||||
instance = comp, \altera_reserved_tdo~output , altera_reserved_tdo~output, super6502, 1
|
||||
instance = comp, \clk~input , clk~input, super6502, 1
|
||||
instance = comp, \clk~inputclkctrl , clk~inputclkctrl, super6502, 1
|
||||
instance = comp, \cpu_addr[13]~input , cpu_addr[13]~input, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_a[0] , boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_a[0], super6502, 1
|
||||
instance = comp, \cpu_addr[15]~input , cpu_addr[15]~input, super6502, 1
|
||||
instance = comp, \cpu_rwb~input , cpu_rwb~input, super6502, 1
|
||||
instance = comp, \cpu_addr[14]~input , cpu_addr[14]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|decode3|w_anode244w[2]~0 , main_memory|altsyncram_component|auto_generated|decode3|w_anode244w[2]~0, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|rden_decode|w_anode284w[2]~1 , main_memory|altsyncram_component|auto_generated|rden_decode|w_anode284w[2]~1, super6502, 1
|
||||
instance = comp, \cpu_data[0]~input , cpu_data[0]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[0]~input , cpu_addr[0]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[1]~input , cpu_addr[1]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[2]~input , cpu_addr[2]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[3]~input , cpu_addr[3]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[4]~input , cpu_addr[4]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[5]~input , cpu_addr[5]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[6]~input , cpu_addr[6]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[7]~input , cpu_addr[7]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[8]~input , cpu_addr[8]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[9]~input , cpu_addr[9]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[10]~input , cpu_addr[10]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[11]~input , cpu_addr[11]~input, super6502, 1
|
||||
instance = comp, \cpu_addr[12]~input , cpu_addr[12]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a16 , main_memory|altsyncram_component|auto_generated|ram_block1a16, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_a[1]~feeder , boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_a[1]~feeder, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_a[1] , boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_a[1], super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|decode3|w_anode223w[2] , main_memory|altsyncram_component|auto_generated|decode3|w_anode223w[2], super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|rden_decode|w_anode261w[2]~0 , main_memory|altsyncram_component|auto_generated|rden_decode|w_anode261w[2]~0, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a0 , main_memory|altsyncram_component|auto_generated|ram_block1a0, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~2 , main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~2, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|decode3|w_anode236w[2]~0 , main_memory|altsyncram_component|auto_generated|decode3|w_anode236w[2]~0, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|rden_decode|w_anode284w[2]~0 , main_memory|altsyncram_component|auto_generated|rden_decode|w_anode284w[2]~0, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a8 , main_memory|altsyncram_component|auto_generated|ram_block1a8, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|decode3|w_anode252w[2]~0 , main_memory|altsyncram_component|auto_generated|decode3|w_anode252w[2]~0, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|rden_decode|w_anode284w[2]~2 , main_memory|altsyncram_component|auto_generated|rden_decode|w_anode284w[2]~2, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a24 , main_memory|altsyncram_component|auto_generated|ram_block1a24, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~3 , main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~3, super6502, 1
|
||||
instance = comp, \altera_reserved_tms~input , altera_reserved_tms~input, super6502, 1
|
||||
instance = comp, \altera_reserved_tck~input , altera_reserved_tck~input, super6502, 1
|
||||
instance = comp, \altera_reserved_tdi~input , altera_reserved_tdi~input, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~6 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~6, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[6] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[6], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~7 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~7, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[7] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[7], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~8 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~8, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[8]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[8]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[8] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[8], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|node_ena_proc~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|node_ena_proc~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[9] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[9], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|tms_cnt[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~9 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~9, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[10] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[10], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~10 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~10, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[11] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[11], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~11 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~11, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[12] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[12], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~12 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~12, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[13] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[13], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~13 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~13, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[14] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[14], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|virtual_ir_dr_scan_proc~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|virtual_ir_dr_scan_proc~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[15]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[15]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[15] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[15], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~3 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~3, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[3], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[0]~15 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[0]~15, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[1]~18 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[1]~18, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[2]~20 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[2]~20, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[3]~22 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[3]~22, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[4]~24 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[4]~24, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[5]~26 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[5]~26, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[6]~28 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[6]~28, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[7]~30 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[7]~30, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[8]~32 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[8]~32, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[9]~34 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[9]~34, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[10]~36 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[10]~36, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[11]~38 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[11]~38, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[12]~40 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[12]~40, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[13]~42 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[13]~42, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[14]~44 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[14]~44, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~0 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[1]~feeder , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[1]~feeder, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[1] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[9] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[9], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[8] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[8], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[7] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[7], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[6]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[6]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[6] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[6], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[5] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[5], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[4]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[4]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[4] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[4], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[3]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[3]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[2]~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[2]~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[1]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[1]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[0]~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[0]~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|jtag_ir_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|Equal0~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|Equal0~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|Equal0~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|Equal0~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|Equal1~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|Equal1~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|virtual_ir_scan_reg , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|virtual_ir_scan_reg, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|reset_ena_reg_proc~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|reset_ena_reg_proc~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|reset_ena_reg~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|reset_ena_reg~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|reset_ena_reg , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|reset_ena_reg, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1]~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1]~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~4 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~4, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[4] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[4], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~5 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~5, super6502, 1
|
||||
instance = comp, \~QIC_CREATED_GND~I , ~QIC_CREATED_GND~I, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[8] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[8], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1]~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1]~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2]~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2]~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1]~3 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1]~3, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2]~4 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2]~4, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2]~5 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2]~5, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|clr_reg_proc~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|clr_reg_proc~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|clr_reg , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|clr_reg, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[2]~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[2]~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg~6 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg~6, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_mode_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~7 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~7, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~8 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~8, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[2]~feeder , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[2]~feeder, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[2] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~6 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~6, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~9 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3]~9, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][0]~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][0]~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|node_ena_proc~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|node_ena_proc~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|Equal0~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|Equal0~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|virtual_dr_scan_reg , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|virtual_dr_scan_reg, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|node_ena~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|node_ena~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|node_ena~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|node_ena~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|node_ena~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|node_ena~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|node_ena~3 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|node_ena~3, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|splitter_nodes_receive_0[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|splitter_nodes_receive_0[3], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~1 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~1, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[6] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[6], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~13 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~13, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[7] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[7], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[5] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[5], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~12 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~12, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[6] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[6], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[4]~feeder , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[4]~feeder, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[4] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[4], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~11 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~11, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[5] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[5], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[3] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~10 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~10, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[4] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[4], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][4]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][4]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][4] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][4], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|is_in_use_reg~0 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|is_in_use_reg~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|is_in_use_reg , boot_rom|altsyncram_component|auto_generated|mgl_prim2|is_in_use_reg, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~3 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~3, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][0], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~4 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~4, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][2]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][2]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_incr_addr~2 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_incr_addr~2, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_incr_addr~0 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_incr_addr~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][1], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~3 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~3, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[1]~0 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[1]~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[1] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[1], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[0]~2 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[0]~2, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[0] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[0], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[2]~1 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[2]~1, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[2] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_shift_cntr_reg[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_incr_addr~1 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_incr_addr~1, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[0]~17 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[0]~17, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[14] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[14], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[13] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[13], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[12] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[12], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[11] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[11], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[10] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[10], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[9] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[9], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[8] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[8], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[7] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[7], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[6] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[6], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[5] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[5], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[4] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[4], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[3] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[3], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[2] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[1] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[1], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[0] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_addr_reg[0], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[0] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ir_loaded_address_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg~4 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg~4, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irsr_reg[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irsr_reg[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_bypass_reg~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_bypass_reg~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_bypass_reg , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_bypass_reg, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~9 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~9, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~10 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~10, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|clear_signal , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|clear_signal, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[0]~5 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[0]~5, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[1]~7 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[1]~7, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4]~12 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4]~12, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[1] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[1], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[2]~9 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[2]~9, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[2] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~7 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~7, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[3]~13 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[3]~13, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[3] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[3], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4]~15 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4]~15, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~3 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~3, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4]~11 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[4]~11, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[0] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|word_counter[0], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~11 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~11, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~12 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~12, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~14 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~14, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~15 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~15, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~0 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~16 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~16, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~17 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~17, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~18 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~18, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[3]~6 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[3]~6, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[3] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[3], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~13 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~13, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[2] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~8 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~8, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~9 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~9, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~10 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~10, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[1] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[1], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~2 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~2, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~1 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~1, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~4 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~4, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~5 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR~5, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[0] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|\ram_rom_logic_gen:name_gen:info_rom_sr|WORD_SR[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][5] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][5], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|bypass_reg_out~0 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|bypass_reg_out~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|bypass_reg_out , boot_rom|altsyncram_component|auto_generated|mgl_prim2|bypass_reg_out, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|adapted_tdo~0 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|adapted_tdo~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~2 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|process_0~2, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode236w[2]~0 , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode236w[2]~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a12 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a12, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_b[0]~feeder , boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_b[0]~feeder, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_b[0] , boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_b[0], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode252w[2] , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode252w[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode252w[2]~0 , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode252w[2]~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a28 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a28, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode223w[2] , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode223w[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode223w[2]~0 , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode223w[2]~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a4 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a4, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode244w[2] , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode244w[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode244w[2]~0 , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode244w[2]~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a20 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a20, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_b[1] , boot_rom|altsyncram_component|auto_generated|altsyncram1|address_reg_b[1], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[4]~8 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[4]~8, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[4]~9 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[4]~9, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a14 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a14, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a30 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a30, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a6 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a6, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a22 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a22, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[6]~12 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[6]~12, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[6]~13 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[6]~13, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a23 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a23, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a31 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a31, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a15 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a15, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a7 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a7, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[7]~14 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[7]~14, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[7]~15 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[7]~15, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~26 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~26, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[6]~19 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[6]~19, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[7] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[7], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~25 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~25, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[6] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[6], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a21 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a21, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a13 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a13, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a5 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a5, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[5]~10 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[5]~10, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a29 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a29, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[5]~11 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[5]~11, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~24 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~24, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[5] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[5], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~23 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~23, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[4] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[4], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a19 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a19, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a27 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a27, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a11 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a11, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a3 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a3, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[3]~6 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[3]~6, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[3]~7 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[3]~7, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~22 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~22, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[3] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[3], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a26 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a26, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a10 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a10, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a2 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a2, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a18 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a18, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[2]~4 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[2]~4, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[2]~5 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[2]~5, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~21 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~21, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[2] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[2], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a25 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a25, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a9 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a9, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a1 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a1, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[1]~2 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[1]~2, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a17 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a17, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[1]~3 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[1]~3, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~20 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~20, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[1] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[1], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a16 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a16, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a0 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[0]~0 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[0]~0, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a8 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a8, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a24 , boot_rom|altsyncram_component|auto_generated|altsyncram1|ram_block3a24, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[0]~1 , boot_rom|altsyncram_component|auto_generated|altsyncram1|mux7|result_node[0]~1, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~18 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg~18, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[0] , boot_rom|altsyncram_component|auto_generated|mgl_prim2|ram_rom_data_reg[0], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|adapted_tdo~1 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|adapted_tdo~1, super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|mgl_prim2|adapted_tdo~2 , boot_rom|altsyncram_component|auto_generated|mgl_prim2|adapted_tdo~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|virtual_ir_tdo_sel_reg[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|virtual_ir_tdo_sel_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~7 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~7, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~12 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~12, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg_ena~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg_ena~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|clear_signal , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|clear_signal, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~11 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~11, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[1]~14 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[1]~14, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~23 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~23, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[2]~16 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[2]~16, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[3]~18 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[3]~18, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[4]~20 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[4]~20, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[4] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[4], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~13 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~13, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~22 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0]~22, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|word_counter[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~6 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~6, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~9 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~9, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~10 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~10, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~11 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~11, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[1]~12 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[1]~12, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~8 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~8, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~7 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~7, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~4 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~4, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~5 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR~5, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg|WORD_SR[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~3 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~3, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_minor_ver_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~3 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~3, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~4 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~4, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~5 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~5, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[0]~7 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[0]~7, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[2]~13 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[2]~13, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[3]~15 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[3]~15, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~10 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~10, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[4]~17 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[4]~17, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[4] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[4], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~9 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~9, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~19 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~19, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~11 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1]~11, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|mixer_addr_reg_internal[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~13 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~13, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~14 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~14, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1]~4 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1]~4, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1]~5 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1]~5, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[3]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[3]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0]~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0]~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0]~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0]~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[2]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[2]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[1]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[1]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|identity_contrib_shift_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[0]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[0]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[0]~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[0]~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[0]~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[0]~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[1]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[1]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~6 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~6, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~7 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~7, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1]~1 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1]~1, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~11 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~11, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~12 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~12, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[2]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[2]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[2]~2 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[2]~2, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[3]~feeder , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[3]~feeder, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric_ident_writedata[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~8 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~8, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~9 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~9, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~10 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg~10, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[3]~3 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[3]~3, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_proc~0 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_proc~0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|hub_info_reg_ena , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|hub_info_reg_ena, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[3] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[3], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[2] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[2], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[1], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[0] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|design_hash_reg[0], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~6 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~6, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~8 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~8, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~11 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo_mux_out~11, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|tdo , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|tdo, super6502, 1
|
||||
instance = comp, \altera_internal_jtag~TCKUTAPclkctrl , altera_internal_jtag~TCKUTAPclkctrl, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~5 , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state~5, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[5] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[5], super6502, 1
|
||||
instance = comp, \boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode236w[2] , boot_rom|altsyncram_component|auto_generated|altsyncram1|decode5|w_anode236w[2], super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~0 , main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~0, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~1 , main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~1, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~4 , main_memory|altsyncram_component|auto_generated|mux2|result_node[0]~4, super6502, 1
|
||||
instance = comp, \cpu_data[1]~input , cpu_data[1]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a1 , main_memory|altsyncram_component|auto_generated|ram_block1a1, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a17 , main_memory|altsyncram_component|auto_generated|ram_block1a17, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~7 , main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~7, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a25 , main_memory|altsyncram_component|auto_generated|ram_block1a25, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a9 , main_memory|altsyncram_component|auto_generated|ram_block1a9, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~8 , main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~8, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~5 , main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~5, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~6 , main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~6, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~9 , main_memory|altsyncram_component|auto_generated|mux2|result_node[1]~9, super6502, 1
|
||||
instance = comp, \cpu_data[2]~input , cpu_data[2]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a26 , main_memory|altsyncram_component|auto_generated|ram_block1a26, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a10 , main_memory|altsyncram_component|auto_generated|ram_block1a10, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a18 , main_memory|altsyncram_component|auto_generated|ram_block1a18, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a2 , main_memory|altsyncram_component|auto_generated|ram_block1a2, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~12 , main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~12, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~13 , main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~13, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~10 , main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~10, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~11 , main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~11, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~14 , main_memory|altsyncram_component|auto_generated|mux2|result_node[2]~14, super6502, 1
|
||||
instance = comp, \cpu_data[3]~input , cpu_data[3]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a3 , main_memory|altsyncram_component|auto_generated|ram_block1a3, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a19 , main_memory|altsyncram_component|auto_generated|ram_block1a19, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~17 , main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~17, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a11 , main_memory|altsyncram_component|auto_generated|ram_block1a11, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a27 , main_memory|altsyncram_component|auto_generated|ram_block1a27, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~18 , main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~18, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~15 , main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~15, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~16 , main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~16, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~19 , main_memory|altsyncram_component|auto_generated|mux2|result_node[3]~19, super6502, 1
|
||||
instance = comp, \cpu_data[4]~input , cpu_data[4]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a28 , main_memory|altsyncram_component|auto_generated|ram_block1a28, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a12 , main_memory|altsyncram_component|auto_generated|ram_block1a12, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a4 , main_memory|altsyncram_component|auto_generated|ram_block1a4, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a20 , main_memory|altsyncram_component|auto_generated|ram_block1a20, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~22 , main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~22, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~23 , main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~23, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~20 , main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~20, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~21 , main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~21, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~24 , main_memory|altsyncram_component|auto_generated|mux2|result_node[4]~24, super6502, 1
|
||||
instance = comp, \cpu_data[5]~input , cpu_data[5]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a5 , main_memory|altsyncram_component|auto_generated|ram_block1a5, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a21 , main_memory|altsyncram_component|auto_generated|ram_block1a21, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~27 , main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~27, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a13 , main_memory|altsyncram_component|auto_generated|ram_block1a13, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a29 , main_memory|altsyncram_component|auto_generated|ram_block1a29, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~28 , main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~28, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~25 , main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~25, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~26 , main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~26, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~29 , main_memory|altsyncram_component|auto_generated|mux2|result_node[5]~29, super6502, 1
|
||||
instance = comp, \cpu_data[6]~input , cpu_data[6]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a6 , main_memory|altsyncram_component|auto_generated|ram_block1a6, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a22 , main_memory|altsyncram_component|auto_generated|ram_block1a22, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~32 , main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~32, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a14 , main_memory|altsyncram_component|auto_generated|ram_block1a14, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a30 , main_memory|altsyncram_component|auto_generated|ram_block1a30, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~33 , main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~33, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~30 , main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~30, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~31 , main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~31, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~34 , main_memory|altsyncram_component|auto_generated|mux2|result_node[6]~34, super6502, 1
|
||||
instance = comp, \cpu_data[7]~input , cpu_data[7]~input, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a31 , main_memory|altsyncram_component|auto_generated|ram_block1a31, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a23 , main_memory|altsyncram_component|auto_generated|ram_block1a23, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a7 , main_memory|altsyncram_component|auto_generated|ram_block1a7, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~37 , main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~37, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|ram_block1a15 , main_memory|altsyncram_component|auto_generated|ram_block1a15, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~38 , main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~38, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~35 , main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~35, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~36 , main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~36, super6502, 1
|
||||
instance = comp, \main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~39 , main_memory|altsyncram_component|auto_generated|mux2|result_node[7]~39, super6502, 1
|
||||
instance = comp, \clk_count~2 , clk_count~2, super6502, 1
|
||||
instance = comp, \clk_count[2] , clk_count[2], super6502, 1
|
||||
instance = comp, \clk_count~0 , clk_count~0, super6502, 1
|
||||
instance = comp, \clk_count[0] , clk_count[0], super6502, 1
|
||||
instance = comp, \clk_count[1]~1 , clk_count[1]~1, super6502, 1
|
||||
instance = comp, \clk_count[1] , clk_count[1], super6502, 1
|
||||
instance = comp, \cpu_phi2~0 , cpu_phi2~0, super6502, 1
|
||||
instance = comp, \cpu_phi2~reg0 , cpu_phi2~reg0, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][6] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][6], super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][7] , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|irf_reg[1][7], super6502, 1
|
||||
instance = comp, \auto_hub|~GND , auto_hub|~GND, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|clr_reg~_wirecell , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|clr_reg~_wirecell, super6502, 1
|
||||
instance = comp, \auto_hub|instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[0]~_wirecell , auto_hub|\instrumentation_fabric_with_node_gen:fabric_gen_new_way:with_jtag_input_gen:instrumentation_fabric|instrumentation_fabric|alt_sld_fab|sldfabric|\jtag_hub_gen:real_sld_jtag_hub|shadow_jsm|state[0]~_wirecell, super6502, 1
|
||||
instance = comp, \rst~input , rst~input, super6502, 1
|
||||
instance = comp, \cpu_vpb~input , cpu_vpb~input, super6502, 1
|
||||
instance = comp, \cpu_mlb~input , cpu_mlb~input, super6502, 1
|
||||
instance = comp, \cpu_sync~input , cpu_sync~input, super6502, 1
|
||||
instance = comp, \~QUARTUS_CREATED_UNVM~ , ~QUARTUS_CREATED_UNVM~, super6502, 1
|
||||
instance = comp, \~ALTERA_CONFIG_SEL~~ibuf , ~ALTERA_CONFIG_SEL~~ibuf, super6502, 1
|
||||
instance = comp, \~ALTERA_nCONFIG~~ibuf , ~ALTERA_nCONFIG~~ibuf, super6502, 1
|
||||
instance = comp, \~ALTERA_nSTATUS~~ibuf , ~ALTERA_nSTATUS~~ibuf, super6502, 1
|
||||
instance = comp, \~ALTERA_CONF_DONE~~ibuf , ~ALTERA_CONF_DONE~~ibuf, super6502, 1
|
||||
instance = comp, \~QUARTUS_CREATED_ADC1~ , ~QUARTUS_CREATED_ADC1~, super6502, 1
|
||||
instance = comp, \~QUARTUS_CREATED_ADC2~ , ~QUARTUS_CREATED_ADC2~, super6502, 1
|
||||
@@ -88,13 +88,293 @@ set_location_assignment PIN_AA15 -to cpu_sync
|
||||
set_location_assignment PIN_V5 -to cpu_nmib
|
||||
set_location_assignment PIN_W7 -to cpu_mlb
|
||||
set_location_assignment PIN_W8 -to cpu_irqb
|
||||
set_location_assignment PIN_P11 -to clk
|
||||
set_location_assignment PIN_B8 -to rst
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
set_location_assignment PIN_C17 -to HEX0[6]
|
||||
set_location_assignment PIN_D17 -to HEX0[5]
|
||||
set_location_assignment PIN_E16 -to HEX0[4]
|
||||
set_location_assignment PIN_C10 -to SW[0]
|
||||
set_location_assignment PIN_C11 -to SW[1]
|
||||
set_location_assignment PIN_D12 -to SW[2]
|
||||
set_location_assignment PIN_C12 -to SW[3]
|
||||
set_location_assignment PIN_A12 -to SW[4]
|
||||
set_location_assignment PIN_B12 -to SW[5]
|
||||
set_location_assignment PIN_A13 -to SW[6]
|
||||
set_location_assignment PIN_A14 -to SW[7]
|
||||
set_location_assignment PIN_B14 -to SW[8]
|
||||
set_location_assignment PIN_F15 -to SW[9]
|
||||
set_location_assignment PIN_A7 -to Run
|
||||
set_location_assignment PIN_A8 -to LED[0]
|
||||
set_location_assignment PIN_A9 -to LED[1]
|
||||
set_location_assignment PIN_A10 -to LED[2]
|
||||
set_location_assignment PIN_B10 -to LED[3]
|
||||
set_location_assignment PIN_D13 -to LED[4]
|
||||
set_location_assignment PIN_C13 -to LED[5]
|
||||
set_location_assignment PIN_E14 -to LED[6]
|
||||
set_location_assignment PIN_D14 -to LED[7]
|
||||
set_location_assignment PIN_A11 -to LED[8]
|
||||
set_location_assignment PIN_B11 -to LED[9]
|
||||
set_location_assignment PIN_F21 -to HEX3[0]
|
||||
set_location_assignment PIN_E22 -to HEX3[1]
|
||||
set_location_assignment PIN_E21 -to HEX3[2]
|
||||
set_location_assignment PIN_C19 -to HEX3[3]
|
||||
set_location_assignment PIN_C20 -to HEX3[4]
|
||||
set_location_assignment PIN_D19 -to HEX3[5]
|
||||
set_location_assignment PIN_E17 -to HEX3[6]
|
||||
set_location_assignment PIN_B20 -to HEX2[0]
|
||||
set_location_assignment PIN_A20 -to HEX2[1]
|
||||
set_location_assignment PIN_B19 -to HEX2[2]
|
||||
set_location_assignment PIN_A21 -to HEX2[3]
|
||||
set_location_assignment PIN_B21 -to HEX2[4]
|
||||
set_location_assignment PIN_C22 -to HEX2[5]
|
||||
set_location_assignment PIN_B22 -to HEX2[6]
|
||||
set_location_assignment PIN_C18 -to HEX1[0]
|
||||
set_location_assignment PIN_D18 -to HEX1[1]
|
||||
set_location_assignment PIN_E18 -to HEX1[2]
|
||||
set_location_assignment PIN_B16 -to HEX1[3]
|
||||
set_location_assignment PIN_A17 -to HEX1[4]
|
||||
set_location_assignment PIN_A18 -to HEX1[5]
|
||||
set_location_assignment PIN_B17 -to HEX1[6]
|
||||
set_location_assignment PIN_C14 -to HEX0[0]
|
||||
set_location_assignment PIN_E15 -to HEX0[1]
|
||||
set_location_assignment PIN_C15 -to HEX0[2]
|
||||
set_location_assignment PIN_C16 -to HEX0[3]
|
||||
|
||||
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 SYSTEMVERILOG_FILE addr_decode.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE bb_spi_controller.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE super6502.sv
|
||||
set_global_assignment -name QIP_FILE ram.qip
|
||||
set_global_assignment -name SDC_FILE super6502.sdc
|
||||
set_global_assignment -name QIP_FILE rom.qip
|
||||
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 SYSTEMVERILOG_FILE HexDriver.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE SevenSeg.sv
|
||||
set_global_assignment -name QIP_FILE cpu_clk.qip
|
||||
set_location_assignment PIN_B8 -to rst_n
|
||||
set_location_assignment PIN_P11 -to clk_50
|
||||
set_global_assignment -name ENABLE_OCT_DONE OFF
|
||||
set_global_assignment -name EXTERNAL_FLASH_FALLBACK_ADDRESS 00000000
|
||||
set_global_assignment -name USE_CONFIGURATION_DEVICE OFF
|
||||
set_global_assignment -name INTERNAL_FLASH_UPDATE_MODE "SINGLE IMAGE WITH ERAM"
|
||||
set_global_assignment -name CRC_ERROR_OPEN_DRAIN OFF
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -rise
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_NEAR_END_VMEAS "HALF VCCIO" -fall
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -rise
|
||||
set_global_assignment -name OUTPUT_IO_TIMING_FAR_END_VMEAS "HALF SIGNAL SWING" -fall
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_vpb
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[15]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[14]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[13]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[12]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[11]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[10]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[9]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[8]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[7]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[6]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[5]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[4]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[3]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[2]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[1]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_addr[0]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_be
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[7]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[6]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[5]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[4]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[3]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[2]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[1]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_data[0]
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_irqb
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_led
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_mlb
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_nmib
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_phi2
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_rdy
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_resb
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_rwb
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_sob
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to cpu_sync
|
||||
set_instance_assignment -name IO_STANDARD "2.5 V" -to clk_50
|
||||
set_global_assignment -name ENABLE_SIGNALTAP OFF
|
||||
set_global_assignment -name USE_SIGNALTAP_FILE output_files/stp1.stp
|
||||
set_global_assignment -name SIGNALTAP_FILE output_files/stp1.stp
|
||||
set_global_assignment -name SLD_NODE_CREATOR_ID 110 -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_ENTITY_NAME sld_signaltap -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_RAM_BLOCK_TYPE=AUTO" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_NODE_INFO=805334528" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_POWER_UP_TRIGGER=0" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STORAGE_QUALIFIER_INVERSION_MASK_LENGTH=0" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_SEGMENT_SIZE=1024" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_ATTRIBUTE_MEM_MODE=OFF" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STATE_FLOW_USE_GENERATED=0" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STATE_BITS=11" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_BUFFER_FULL_STOP=1" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_CURRENT_RESOURCE_WIDTH=1" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_INCREMENTAL_ROUTING=1" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[1] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[3] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[5] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[12] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[15] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[19] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[25] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[31] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_LEVEL=1" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_SAMPLE_DEPTH=1024" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_IN_ENABLED=0" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_PIPELINE=0" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_RAM_PIPELINE=0" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_COUNTER_PIPELINE=0" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_ADVANCED_TRIGGER_ENTITY=basic,1," -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_LEVEL_PIPELINE=1" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_ENABLE_ADVANCED_TRIGGER=0" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[11] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[23] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[26] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[30] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[10] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT acq_clk -to "cpu_clk:cpu_clk|altpll:altpll_component|cpu_clk_altpll:auto_generated|wire_pll1_clk[0]~clkctrl" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[6] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[8] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[13] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[14] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[0] -to "SevenSeg:segs|_data[0][0]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[1] -to "SevenSeg:segs|_data[0][1]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[2] -to "SevenSeg:segs|_data[0][2]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[3] -to "SevenSeg:segs|_data[0][3]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[4] -to "SevenSeg:segs|_data[0][4]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[5] -to "SevenSeg:segs|_data[0][5]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[6] -to "SevenSeg:segs|_data[0][6]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[7] -to "SevenSeg:segs|_data[0][7]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[8] -to "SevenSeg:segs|_data[1][0]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[9] -to "SevenSeg:segs|_data[1][1]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[10] -to "SevenSeg:segs|_data[1][2]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[11] -to "SevenSeg:segs|_data[1][3]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[12] -to "SevenSeg:segs|_data[1][4]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[13] -to "SevenSeg:segs|_data[1][5]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[14] -to "SevenSeg:segs|_data[1][6]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[15] -to "SevenSeg:segs|_data[1][7]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[16] -to "SevenSeg:segs|addr" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[17] -to "SevenSeg:segs|clk" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[18] -to "SevenSeg:segs|cs" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[19] -to "SevenSeg:segs|rst" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[20] -to "SevenSeg:segs|rw" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[21] -to cpu_addr[0] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[22] -to cpu_addr[10] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[23] -to cpu_addr[11] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[24] -to cpu_addr[12] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[25] -to cpu_addr[13] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[26] -to cpu_addr[14] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[27] -to cpu_addr[15] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[28] -to cpu_addr[1] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[29] -to cpu_addr[2] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[30] -to cpu_addr[3] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[31] -to cpu_addr[4] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[32] -to cpu_addr[5] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[33] -to cpu_addr[6] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[34] -to cpu_addr[7] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[35] -to cpu_addr[8] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[36] -to cpu_addr[9] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[37] -to cpu_data_in[0] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[38] -to cpu_data_in[1] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[39] -to cpu_data_in[2] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[40] -to cpu_data_in[3] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[41] -to cpu_data_in[4] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[42] -to cpu_data_in[5] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[43] -to cpu_data_in[6] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[44] -to cpu_data_in[7] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[45] -to cpu_data_out[0] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[46] -to cpu_data_out[1] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[47] -to cpu_data_out[2] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[48] -to cpu_data_out[3] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[49] -to cpu_data_out[4] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[50] -to cpu_data_out[5] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[51] -to cpu_data_out[6] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[52] -to cpu_data_out[7] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[53] -to cpu_phi2 -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[54] -to cpu_rwb -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[55] -to cpu_sync -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[56] -to cpu_vpb -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_trigger_in[57] -to rst_n -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[0] -to "SevenSeg:segs|_data[0][0]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[1] -to "SevenSeg:segs|_data[0][1]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[2] -to "SevenSeg:segs|_data[0][2]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[3] -to "SevenSeg:segs|_data[0][3]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[4] -to "SevenSeg:segs|_data[0][4]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[5] -to "SevenSeg:segs|_data[0][5]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[6] -to "SevenSeg:segs|_data[0][6]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[7] -to "SevenSeg:segs|_data[0][7]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[8] -to "SevenSeg:segs|_data[1][0]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[9] -to "SevenSeg:segs|_data[1][1]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[10] -to "SevenSeg:segs|_data[1][2]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[11] -to "SevenSeg:segs|_data[1][3]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[12] -to "SevenSeg:segs|_data[1][4]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[13] -to "SevenSeg:segs|_data[1][5]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[14] -to "SevenSeg:segs|_data[1][6]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[15] -to "SevenSeg:segs|_data[1][7]" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[16] -to "SevenSeg:segs|addr" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[17] -to "SevenSeg:segs|clk" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[18] -to "SevenSeg:segs|cs" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[19] -to "SevenSeg:segs|rst" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[20] -to "SevenSeg:segs|rw" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[21] -to cpu_addr[0] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[22] -to cpu_addr[10] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[23] -to cpu_addr[11] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[24] -to cpu_addr[12] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[25] -to cpu_addr[13] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[26] -to cpu_addr[14] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[27] -to cpu_addr[15] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[28] -to cpu_addr[1] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[29] -to cpu_addr[2] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[30] -to cpu_addr[3] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[31] -to cpu_addr[4] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[32] -to cpu_addr[5] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[33] -to cpu_addr[6] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[34] -to cpu_addr[7] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[35] -to cpu_addr[8] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[36] -to cpu_addr[9] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[37] -to cpu_data_in[0] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[38] -to cpu_data_in[1] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[39] -to cpu_data_in[2] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[40] -to cpu_data_in[3] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[41] -to cpu_data_in[4] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[42] -to cpu_data_in[5] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[43] -to cpu_data_in[6] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[44] -to cpu_data_in[7] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[45] -to cpu_data_out[0] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[46] -to cpu_data_out[1] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[47] -to cpu_data_out[2] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[48] -to cpu_data_out[3] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[49] -to cpu_data_out[4] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[50] -to cpu_data_out[5] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[51] -to cpu_data_out[6] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[52] -to cpu_data_out[7] -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[53] -to cpu_phi2 -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[54] -to cpu_rwb -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[55] -to cpu_sync -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[56] -to cpu_vpb -section_id auto_signaltap_0
|
||||
set_instance_assignment -name CONNECT_TO_SLD_NODE_ENTITY_PORT acq_data_in[57] -to rst_n -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_DATA_BITS=58" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_TRIGGER_BITS=58" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_STORAGE_QUALIFIER_BITS=58" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_INVERSION_MASK=000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_NODE_PARAMETER_ASSIGNMENT "SLD_INVERSION_MASK_LENGTH=198" -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[0] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[2] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[4] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[7] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[9] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[16] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[17] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[18] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[20] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[21] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[22] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[24] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[27] -to auto_signaltap_0|vcc -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[28] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_instance_assignment -name POST_FIT_CONNECT_TO_SLD_NODE_ENTITY_PORT crc[29] -to auto_signaltap_0|gnd -section_id auto_signaltap_0
|
||||
set_global_assignment -name SLD_FILE db/stp1_auto_stripped.stp
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
||||
@@ -1,7 +1,7 @@
|
||||
#**************************************************************
|
||||
# Create Clock (where ‘clk’ is the user-defined system clock name)
|
||||
#**************************************************************
|
||||
create_clock -name {clk} -period 20ns -waveform {0.000 5.000} [get_ports {clk}]
|
||||
create_clock -name {clk_50} -period 20ns -waveform {0.000 5.000} [get_ports {clk}]
|
||||
# Constrain the input I/O path
|
||||
set_input_delay -clock {clk} -max 3 [all_inputs]
|
||||
set_input_delay -clock {clk} -min 2 [all_inputs]
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
module super6502(
|
||||
input clk,
|
||||
input logic rst,
|
||||
input clk_50,
|
||||
input logic rst_n,
|
||||
|
||||
input logic [15:0] cpu_addr,
|
||||
inout logic [7:0] cpu_data,
|
||||
@@ -18,9 +18,15 @@ module super6502(
|
||||
output logic cpu_irqb,
|
||||
output logic cpu_phi2,
|
||||
output logic cpu_be,
|
||||
output logic cpu_nmib
|
||||
output logic cpu_nmib,
|
||||
|
||||
output logic [6:0] HEX0, HEX1, HEX2, HEX3
|
||||
);
|
||||
|
||||
logic rst;
|
||||
assign rst = ~rst_n;
|
||||
|
||||
logic clk;
|
||||
|
||||
logic [7:0] cpu_data_in;
|
||||
assign cpu_data_in = cpu_data;
|
||||
@@ -29,32 +35,36 @@ logic [7:0] cpu_data_out;
|
||||
assign cpu_data = cpu_rwb ? cpu_data_out : 'z;
|
||||
|
||||
|
||||
|
||||
|
||||
logic [7:0] rom_data_out;
|
||||
logic [7:0] ram_data_out;
|
||||
|
||||
logic ram_cs;
|
||||
logic rom_cs;
|
||||
logic hex_cs;
|
||||
|
||||
cpu_clk cpu_clk(
|
||||
.inclk0(clk_50),
|
||||
.c0(clk)
|
||||
);
|
||||
|
||||
always @(posedge clk) begin
|
||||
cpu_phi2 <= ~cpu_phi2;
|
||||
end
|
||||
|
||||
assign cpu_rdy = '1;
|
||||
assign cpu_sob = '0;
|
||||
assign cpu_resb = rst_n;
|
||||
assign cpu_be = '1;
|
||||
assign cpu_nmib = '1;
|
||||
assign cpu_irqb = '1;
|
||||
|
||||
addr_decode decode(
|
||||
.addr(cpu_addr),
|
||||
.ram_cs(ram_cs),
|
||||
.rom_cs(rom_cs)
|
||||
.rom_cs(rom_cs),
|
||||
.hex_cs(hex_cs)
|
||||
);
|
||||
|
||||
|
||||
logic [2:0] clk_count;
|
||||
always_ff @(posedge clk) begin
|
||||
clk_count <= clk_count + 3'b1;
|
||||
if (clk_count == 3'h4) begin
|
||||
clk_count <= '0;
|
||||
cpu_phi2 <= ~cpu_phi2;
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
always_comb begin
|
||||
if (ram_cs)
|
||||
@@ -82,6 +92,16 @@ rom boot_rom(
|
||||
.clock(clk),
|
||||
.q(rom_data_out)
|
||||
);
|
||||
|
||||
SevenSeg segs(
|
||||
.clk(clk),
|
||||
.rst(rst),
|
||||
.rw(cpu_rwb),
|
||||
.data(cpu_data_in),
|
||||
.cs(hex_cs),
|
||||
.addr(cpu_addr[0]),
|
||||
.HEX0(HEX0), .HEX1(HEX1), .HEX2(HEX2), .HEX3(HEX3),
|
||||
);
|
||||
|
||||
|
||||
endmodule
|
||||
|
||||
70
sw/boot.s
70
sw/boot.s
@@ -1,15 +1,59 @@
|
||||
.import _main
|
||||
|
||||
.export __STARTUP__ : absolute = 1
|
||||
; ---------------------------------------------------------------------------
|
||||
; crt0.s
|
||||
; ---------------------------------------------------------------------------
|
||||
;
|
||||
; Startup code for cc65 (Single Board Computer version)
|
||||
|
||||
.segment "VECTORS"
|
||||
|
||||
.addr _init
|
||||
.addr _init
|
||||
.addr _init
|
||||
|
||||
.segment "STARTUP"
|
||||
|
||||
_init: jsr _main
|
||||
.export _init, _exit
|
||||
.import _main
|
||||
|
||||
end: jmp end
|
||||
.export __STARTUP__ : absolute = 1 ; Mark as startup
|
||||
.import __RAM_START__, __RAM_SIZE__ ; Linker generated
|
||||
|
||||
.import copydata, zerobss, initlib, donelib
|
||||
|
||||
.include "zeropage.inc"
|
||||
|
||||
.segment "VECTORS"
|
||||
|
||||
.addr _init
|
||||
.addr _init
|
||||
.addr _init
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Place the startup code in a special segment
|
||||
|
||||
.segment "STARTUP"
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; A little light 6502 housekeeping
|
||||
|
||||
_init: LDX #$FF ; Initialize stack pointer to $01FF
|
||||
TXS
|
||||
CLD ; Clear decimal mode
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Set cc65 argument stack pointer
|
||||
|
||||
LDA #<(__RAM_START__ + __RAM_SIZE__)
|
||||
STA sp
|
||||
LDA #>(__RAM_START__ + __RAM_SIZE__)
|
||||
STA sp+1
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Initialize memory storage
|
||||
|
||||
JSR zerobss ; Clear BSS segment
|
||||
JSR copydata ; Initialize DATA segment
|
||||
JSR initlib ; Run constructors
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Call main()
|
||||
|
||||
JSR _main
|
||||
|
||||
; ---------------------------------------------------------------------------
|
||||
; Back from main (this is also the _exit entry): force a software break
|
||||
|
||||
_exit: JSR donelib ; Run destructors
|
||||
BRK
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifndef _GPIO_H
|
||||
#define _GPIO_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_GPIO (uint8_t*)0x7ff1
|
||||
extern uint8_t* usb_gpio;
|
||||
|
||||
#endif
|
||||
9
sw/io.h
9
sw/io.h
@@ -1,9 +0,0 @@
|
||||
#ifndef _IO_H
|
||||
#define _IO_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
#define USB_GPIO 0x7ff1
|
||||
extern uint8_t* usb_gpio;
|
||||
|
||||
#endif
|
||||
@@ -1,3 +1,11 @@
|
||||
#define SEVEN_SEG 0x7ff0
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
int main() {
|
||||
uint16_t* seven_seg;
|
||||
seven_seg = (uint16_t*)SEVEN_SEG;
|
||||
|
||||
*seven_seg = 0xbabe;
|
||||
return 0;
|
||||
}
|
||||
|
||||
9
sw/spi.h
9
sw/spi.h
@@ -1,9 +0,0 @@
|
||||
#ifndef _SPI_H
|
||||
#define _SPI_H
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
uint8_t spi_byte(uint8_t);
|
||||
void spi_deselect(void);
|
||||
|
||||
#endif
|
||||
62
sw/spi.s
62
sw/spi.s
@@ -1,62 +0,0 @@
|
||||
.include "io.inc65"
|
||||
|
||||
.export _spi_byte
|
||||
.export _spi_deselect
|
||||
|
||||
.importzp sp, sreg, regsave, regbank
|
||||
.importzp tmp1, tmp2, tmp3, tmp4, ptr1, ptr2, ptr3, ptr4
|
||||
|
||||
.code
|
||||
|
||||
SPI_SCLK = $01
|
||||
SPI_SSn = $02
|
||||
SPI_MOSI = $04
|
||||
SPI_MISO = $08
|
||||
|
||||
|
||||
; Read and write a single byte from the SPI device
|
||||
; @in A The byte to write
|
||||
; @out A The read byte
|
||||
|
||||
_spi_byte:
|
||||
phx ; Save regs
|
||||
phy
|
||||
ldy #$00
|
||||
sta tmp1 ; Save value into tmp1
|
||||
lda #$80
|
||||
tax
|
||||
@loop: bit tmp1 ; Check if high bit set
|
||||
beq @1
|
||||
lda #SPI_MOSI ; Bit not set.
|
||||
bra @1
|
||||
@1: lda #$00 ; Bit set
|
||||
sta BB_SPI_BASE ; Write data
|
||||
adc #SPI_SCLK
|
||||
sta BB_SPI_BASE ; Write clock
|
||||
stz tmp2
|
||||
lda BB_SPI_BASE ; Check MISO value
|
||||
and #SPI_MISO
|
||||
beq @2
|
||||
inc tmp2
|
||||
@2: clc ; Shift previous value left
|
||||
tya ; Add current value
|
||||
asl
|
||||
adc tmp2
|
||||
tay ; Move read value back to y
|
||||
txa
|
||||
lsr ; Select next bit
|
||||
tax
|
||||
bne @loop ; Stop when mask is 0
|
||||
tya ; Get read value from y
|
||||
ply
|
||||
plx
|
||||
rts ; Return
|
||||
|
||||
; Deselect the spi device.
|
||||
; spi device is automatically selected during read/write.
|
||||
_spi_deselect:
|
||||
pha
|
||||
lda #SPI_SSn ; Raise Slave Select
|
||||
sta BB_SPI_BASE
|
||||
pla
|
||||
rts
|
||||
@@ -1,29 +1,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include <spi.h>
|
||||
|
||||
uint16_t retval;
|
||||
|
||||
int main(void)
|
||||
{
|
||||
printf("Setting SPI location to 0x02\n");
|
||||
*(uint8_t*)0x7ff0 = 2;
|
||||
if (!(*(uint8_t*)0x7ff0 == 2)) {
|
||||
printf("Expected 0x02 at 0x7ff0\n");
|
||||
return 1;
|
||||
}
|
||||
printf("Done!\n\n");
|
||||
|
||||
printf("Starting spi_byte test...\n");
|
||||
retval = spi_byte(0xa5);
|
||||
if (retval != 0) {
|
||||
printf("Expected 0 return value from spi_byte\n");
|
||||
return 1;
|
||||
}
|
||||
printf("Done! %x\n\n", retval);
|
||||
|
||||
printf("Starting spi_deselect test...\n");
|
||||
spi_deselect();
|
||||
printf("No test to run!\n");
|
||||
return 0;
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
/* Generic macros */
|
||||
|
||||
/* Word <> two chars. Works both ways */
|
||||
#define LOBYTE(x) ((char*)(&(x)))[0]
|
||||
#define HIBYTE(x) ((char*)(&(x)))[1]
|
||||
|
||||
/* Bit set/clear */
|
||||
#define bitset(var, bitno) ((var) |= 1 << (bitno))
|
||||
#define bitclr(var, bitno) ((var) &= ~(1 << (bitno)))
|
||||
@@ -1,115 +0,0 @@
|
||||
//Modified version of Generic Types as included by Microchip C18
|
||||
|
||||
#ifndef __GENERIC_TYPE_DEFS_H_
|
||||
#define __GENERIC_TYPE_DEFS_H_
|
||||
|
||||
typedef enum _BOOL {
|
||||
FALSE = 0, TRUE
|
||||
} BOOL; // Undefined size
|
||||
|
||||
#define ON TRUE
|
||||
#define OFF FALSE
|
||||
|
||||
typedef unsigned char BYTE; // 8-bit unsigned
|
||||
typedef unsigned short int WORD; // 16-bit unsigned
|
||||
typedef unsigned long DWORD; // 32-bit unsigned
|
||||
typedef signed char CHAR; // 8-bit signed
|
||||
typedef signed short int SHORT; // 16-bit signed
|
||||
typedef signed long LONG; // 32-bit signed
|
||||
|
||||
typedef union _BYTE_VAL {
|
||||
BYTE Val;
|
||||
struct {
|
||||
unsigned int b0 :1;
|
||||
unsigned int b1 :1;
|
||||
unsigned int b2 :1;
|
||||
unsigned int b3 :1;
|
||||
unsigned int b4 :1;
|
||||
unsigned int b5 :1;
|
||||
unsigned int b6 :1;
|
||||
unsigned int b7 :1;
|
||||
} bits;
|
||||
} BYTE_VAL;
|
||||
|
||||
typedef union _WORD_VAL {
|
||||
WORD Val;
|
||||
BYTE v[2];
|
||||
struct {
|
||||
BYTE LB;
|
||||
BYTE HB;
|
||||
} byte;
|
||||
struct {
|
||||
unsigned int b0 :1;
|
||||
unsigned int b1 :1;
|
||||
unsigned int b2 :1;
|
||||
unsigned int b3 :1;
|
||||
unsigned int b4 :1;
|
||||
unsigned int b5 :1;
|
||||
unsigned int b6 :1;
|
||||
unsigned int b7 :1;
|
||||
unsigned int b8 :1;
|
||||
unsigned int b9 :1;
|
||||
unsigned int b10 :1;
|
||||
unsigned int b11 :1;
|
||||
unsigned int b12 :1;
|
||||
unsigned int b13 :1;
|
||||
unsigned int b14 :1;
|
||||
unsigned int b15 :1;
|
||||
} bits;
|
||||
} WORD_VAL;
|
||||
|
||||
typedef union _DWORD_VAL {
|
||||
DWORD Val;
|
||||
WORD w[2];
|
||||
BYTE v[4];
|
||||
struct {
|
||||
WORD LW;
|
||||
WORD HW;
|
||||
} word;
|
||||
struct {
|
||||
BYTE LB;
|
||||
BYTE HB;
|
||||
BYTE UB;
|
||||
BYTE MB;
|
||||
} byte;
|
||||
struct {
|
||||
unsigned int b0 :1;
|
||||
unsigned int b1 :1;
|
||||
unsigned int b2 :1;
|
||||
unsigned int b3 :1;
|
||||
unsigned int b4 :1;
|
||||
unsigned int b5 :1;
|
||||
unsigned int b6 :1;
|
||||
unsigned int b7 :1;
|
||||
unsigned int b8 :1;
|
||||
unsigned int b9 :1;
|
||||
unsigned int b10 :1;
|
||||
unsigned int b11 :1;
|
||||
unsigned int b12 :1;
|
||||
unsigned int b13 :1;
|
||||
unsigned int b14 :1;
|
||||
unsigned int b15 :1;
|
||||
unsigned int b16 :1;
|
||||
unsigned int b17 :1;
|
||||
unsigned int b18 :1;
|
||||
unsigned int b19 :1;
|
||||
unsigned int b20 :1;
|
||||
unsigned int b21 :1;
|
||||
unsigned int b22 :1;
|
||||
unsigned int b23 :1;
|
||||
unsigned int b24 :1;
|
||||
unsigned int b25 :1;
|
||||
unsigned int b26 :1;
|
||||
unsigned int b27 :1;
|
||||
unsigned int b28 :1;
|
||||
unsigned int b29 :1;
|
||||
unsigned int b30 :1;
|
||||
unsigned int b31 :1;
|
||||
} bits;
|
||||
} DWORD_VAL;
|
||||
|
||||
#ifndef NULL
|
||||
#define NULL 0
|
||||
#endif
|
||||
|
||||
#endif //__GENERIC_TYPE_DEFS_H_
|
||||
242
sw/usb/HID.c
242
sw/usb/HID.c
@@ -1,242 +0,0 @@
|
||||
/* HID class support functions */
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "project_config.h"
|
||||
|
||||
BYTE bigbuf[256]; //256 bytes
|
||||
extern DEV_RECORD devtable[];
|
||||
|
||||
HID_DEVICE hid_device = { { 0 } };
|
||||
EP_RECORD hid_ep[2] = { { 0 } }; //HID class endpoints, 1 control, 1 interrupt-IN
|
||||
//the third endpoint is not implemented
|
||||
|
||||
/* HID Mouse probe. Called from USB state machine. */
|
||||
/* assumes configuration length is less than 256 bytes */
|
||||
/* looks for Class:03, Subclass: 01, Protocol: 02 in interface descriptor */
|
||||
/* sets mouse in boot protocol */
|
||||
/* assumes single configuration and interface configuration 0 */
|
||||
BOOL HIDMProbe(BYTE addr, DWORD flags) {
|
||||
BYTE tmpbyte;
|
||||
BYTE rcode;
|
||||
BYTE confvalue;
|
||||
WORD total_length;
|
||||
USB_DESCR* data_ptr = (USB_DESCR *) &bigbuf;
|
||||
BYTE* byte_ptr = bigbuf;
|
||||
|
||||
(void) flags;
|
||||
|
||||
rcode = XferGetConfDescr(addr, 0, CONF_DESCR_LEN, 0, bigbuf); //get configuration descriptor
|
||||
if (rcode) { //error handling
|
||||
//printf("unable to get configuration descriptor");
|
||||
return (FALSE);
|
||||
}
|
||||
if (data_ptr->descr.config.wTotalLength > 256) {
|
||||
total_length = 256;
|
||||
} else {
|
||||
total_length = data_ptr->descr.config.wTotalLength;
|
||||
}
|
||||
rcode = XferGetConfDescr(addr, 0, total_length, 0, bigbuf); //get the whole configuration
|
||||
if (rcode) { //error handling
|
||||
//printf("unable to get configuration");
|
||||
return (FALSE);
|
||||
}
|
||||
confvalue = data_ptr->descr.config.bConfigurationValue;
|
||||
//printf("checking configuration value (length: %d): ",
|
||||
// data_ptr->descr.config.wTotalLength);
|
||||
//for (int i = 0; i < data_ptr->descr.config.wTotalLength; i++) {
|
||||
//printf("%x ", (unsigned char) (bigbuf[i] & 0xff));
|
||||
//}
|
||||
while (byte_ptr < bigbuf + total_length) {
|
||||
if (data_ptr->descr.config.bDescriptorType != USB_DESCRIPTOR_INTERFACE) {
|
||||
byte_ptr = byte_ptr + data_ptr->descr.config.bLength;
|
||||
data_ptr = (USB_DESCR*) byte_ptr;
|
||||
} // if( data_ptr->descr.config.bDescriptorType != USB_DESCRIPTOR_INTERFACE
|
||||
else {
|
||||
//printf("starting interface parsing at byte location %d\n",
|
||||
// data_ptr->descr.config.bLength);
|
||||
BYTE class = data_ptr->descr.interface.bInterfaceClass;
|
||||
BYTE subclass = data_ptr->descr.interface.bInterfaceSubClass;
|
||||
BYTE protocol = data_ptr->descr.interface.bInterfaceProtocol;
|
||||
//printf("class %x, subclass %x, protocol %x,\n", class, subclass,
|
||||
// protocol);
|
||||
//interface descriptor
|
||||
if (class == HID_INTF && subclass == BOOT_INTF_SUBCLASS
|
||||
&& protocol == HID_PROTOCOL_MOUSE) {
|
||||
//detected a mouse
|
||||
devtable[addr].devclass = HID_M; //device class
|
||||
tmpbyte = devtable[addr].epinfo->MaxPktSize;
|
||||
HID_init(); //initialize data structures
|
||||
devtable[addr].epinfo = hid_ep; //switch endpoint information structure
|
||||
devtable[addr].epinfo[0].MaxPktSize = tmpbyte;
|
||||
hid_device.interface =
|
||||
data_ptr->descr.interface.bInterfaceNumber;
|
||||
hid_device.addr = addr;
|
||||
byte_ptr = byte_ptr + data_ptr->descr.config.bLength;
|
||||
data_ptr = (USB_DESCR*) byte_ptr;
|
||||
while (byte_ptr < bigbuf + total_length) {
|
||||
if (data_ptr->descr.config.bDescriptorType
|
||||
!= USB_DESCRIPTOR_ENDPOINT) { //skip to endpoint descriptor
|
||||
byte_ptr = byte_ptr + data_ptr->descr.config.bLength;
|
||||
data_ptr = (USB_DESCR*) byte_ptr;
|
||||
} else {
|
||||
/* fill endpoint information structure */
|
||||
devtable[addr].epinfo[1].epAddr =
|
||||
data_ptr->descr.endpoint.bEndpointAddress;
|
||||
devtable[addr].epinfo[1].Attr =
|
||||
data_ptr->descr.endpoint.bmAttributes;
|
||||
devtable[addr].epinfo[1].MaxPktSize =
|
||||
data_ptr->descr.endpoint.wMaxPacketSize;
|
||||
devtable[addr].epinfo[1].Interval =
|
||||
data_ptr->descr.endpoint.bInterval;
|
||||
// devtable[ addr ].epinfo[ 1 ].rcvToggle = bmRCVTOG0;
|
||||
/* configure device */
|
||||
rcode = XferSetConf(addr, 0, confvalue); //set configuration
|
||||
if (rcode) { //error handling
|
||||
return (FALSE);
|
||||
}
|
||||
rcode = XferSetProto(addr, 0, hid_device.interface,
|
||||
BOOT_PROTOCOL);
|
||||
if (rcode) { //error handling
|
||||
return (FALSE);
|
||||
} else {
|
||||
return (TRUE);
|
||||
}
|
||||
}
|
||||
} //while( byte_ptr....
|
||||
} //if (Class matches
|
||||
else { //if class don't match; die on first interface. Not really correct
|
||||
return (FALSE);
|
||||
}
|
||||
} //else if( data_ptr->
|
||||
} // while( byte_ptr < &buf + total_length
|
||||
return (FALSE);
|
||||
}
|
||||
/* HID Keyboard probe. Called from USB state machine. */
|
||||
/* assumes configuration length is less than 256 bytes */
|
||||
/* looks for Class:03, Subclass: 01, Protocol: 01 in interface descriptor */
|
||||
/* sets keyboard in boot protocol */
|
||||
/* assumes single configuration, single endpoint, and interface configuration 0 */
|
||||
BOOL HIDKProbe(BYTE addr, DWORD flags) {
|
||||
BYTE tmpbyte;
|
||||
BYTE rcode;
|
||||
BYTE confvalue;
|
||||
WORD total_length;
|
||||
USB_DESCR* data_ptr = (USB_DESCR *) &bigbuf;
|
||||
BYTE* byte_ptr = bigbuf;
|
||||
|
||||
(void) flags;
|
||||
|
||||
rcode = XferGetConfDescr(addr, 0, CONF_DESCR_LEN, 0, bigbuf); //get configuration descriptor
|
||||
if (rcode) { //error handling
|
||||
return (FALSE);
|
||||
}
|
||||
if (data_ptr->descr.config.wTotalLength > 256) {
|
||||
total_length = 256;
|
||||
} else {
|
||||
total_length = data_ptr->descr.config.wTotalLength;
|
||||
}
|
||||
rcode = XferGetConfDescr(addr, 0, total_length, 0, bigbuf); //get the whole configuration
|
||||
if (rcode) { //error handling
|
||||
return (FALSE);
|
||||
}
|
||||
confvalue = data_ptr->descr.config.bConfigurationValue; //save configuration value to use later
|
||||
while (byte_ptr < bigbuf + total_length) { //parse configuration
|
||||
if (data_ptr->descr.config.bDescriptorType != USB_DESCRIPTOR_INTERFACE) { //skip to the next descriptor
|
||||
byte_ptr = byte_ptr + data_ptr->descr.config.bLength;
|
||||
data_ptr = (USB_DESCR*) byte_ptr;
|
||||
} // if( data_ptr->descr.config.bDescriptorType != USB_DESCRIPTOR_INTERFACE
|
||||
else {
|
||||
//printf("starting interface parsing at byte location %d\n",
|
||||
// data_ptr->descr.config.bLength);
|
||||
BYTE class = data_ptr->descr.interface.bInterfaceClass;
|
||||
BYTE subclass = data_ptr->descr.interface.bInterfaceSubClass;
|
||||
BYTE protocol = data_ptr->descr.interface.bInterfaceProtocol;
|
||||
//printf("class %x, subclass %x, protocol %x,\n", class, subclass,
|
||||
// protocol);
|
||||
//interface descriptor
|
||||
if (class == HID_INTF && subclass == BOOT_INTF_SUBCLASS
|
||||
&& protocol == HID_PROTOCOL_KEYBOARD) {
|
||||
//detected a keyboard
|
||||
devtable[addr].devclass = HID_K; //fill device class
|
||||
tmpbyte = devtable[addr].epinfo->MaxPktSize; //save max.packet size
|
||||
HID_init(); //initialize data structures
|
||||
devtable[addr].epinfo = hid_ep; //switch endpoint information structure
|
||||
devtable[addr].epinfo[0].MaxPktSize = tmpbyte; //fill in max.packet size
|
||||
hid_device.interface =
|
||||
data_ptr->descr.interface.bInterfaceNumber; //fill in interface number to be used in HID requests
|
||||
hid_device.addr = addr; //fill in address
|
||||
byte_ptr = byte_ptr + data_ptr->descr.config.bLength; //skip to the next descriptor
|
||||
data_ptr = (USB_DESCR*) byte_ptr;
|
||||
while (byte_ptr < bigbuf + total_length) {
|
||||
if (data_ptr->descr.config.bDescriptorType
|
||||
!= USB_DESCRIPTOR_ENDPOINT) { //skip to endpoint descriptor
|
||||
byte_ptr = byte_ptr + data_ptr->descr.config.bLength;
|
||||
data_ptr = (USB_DESCR*) byte_ptr;
|
||||
} else {
|
||||
/* fill endpoint information structure */
|
||||
devtable[addr].epinfo[1].epAddr =
|
||||
data_ptr->descr.endpoint.bEndpointAddress;
|
||||
devtable[addr].epinfo[1].Attr =
|
||||
data_ptr->descr.endpoint.bmAttributes;
|
||||
devtable[addr].epinfo[1].MaxPktSize =
|
||||
data_ptr->descr.endpoint.wMaxPacketSize;
|
||||
devtable[addr].epinfo[1].Interval =
|
||||
data_ptr->descr.endpoint.bInterval;
|
||||
/* configure device */
|
||||
rcode = XferSetConf(addr, 0, confvalue); //set configuration
|
||||
if (rcode) { //error handling
|
||||
return (FALSE);
|
||||
}
|
||||
rcode = XferSetProto(addr, 0, hid_device.interface,
|
||||
BOOT_PROTOCOL);
|
||||
if (rcode) { //error handling
|
||||
return (FALSE);
|
||||
} else {
|
||||
return (TRUE);
|
||||
}
|
||||
}
|
||||
} //while( byte_ptr....
|
||||
} //if (Class matches
|
||||
else { //if class don't match; stop processing after first interface. Not really correct
|
||||
return (FALSE);
|
||||
}
|
||||
} //else if( data_ptr->
|
||||
} // while( byte_ptr < &buf + total_length
|
||||
return (FALSE);
|
||||
}
|
||||
/* HID data structures initialization */
|
||||
void HID_init(void) {
|
||||
hid_ep[1].sndToggle = bmSNDTOG0;
|
||||
hid_ep[1].rcvToggle = bmRCVTOG0;
|
||||
}
|
||||
/* poll boot mouse */
|
||||
BYTE mousePoll(BOOT_MOUSE_REPORT* buf) {
|
||||
BYTE rcode;
|
||||
MAXreg_wr( rPERADDR, hid_device.addr); //set peripheral address
|
||||
rcode = XferInTransfer(hid_device.addr, 1, 8, (BYTE*) buf,
|
||||
devtable[hid_device.addr].epinfo[1].MaxPktSize);
|
||||
return (rcode);
|
||||
}
|
||||
/* poll boot keyboard */
|
||||
BYTE kbdPoll(BOOT_KBD_REPORT* buf) {
|
||||
BYTE rcode;
|
||||
MAXreg_wr( rPERADDR, hid_device.addr); //set peripheral address
|
||||
rcode = XferInTransfer(hid_device.addr, 1, 8, (BYTE*) buf,
|
||||
devtable[hid_device.addr].epinfo[1].MaxPktSize);
|
||||
return (rcode);
|
||||
}
|
||||
BOOL HIDMEventHandler(BYTE address, BYTE event, void *data, DWORD size) {
|
||||
(void) address;
|
||||
(void) event;
|
||||
(void) size;
|
||||
(void) data;
|
||||
return (FALSE);
|
||||
}
|
||||
BOOL HIDKEventHandler(BYTE address, BYTE event, void *data, DWORD size) {
|
||||
(void) address;
|
||||
(void) event;
|
||||
(void) size;
|
||||
(void) data;
|
||||
return (FALSE);
|
||||
}
|
||||
50
sw/usb/HID.h
50
sw/usb/HID.h
@@ -1,50 +0,0 @@
|
||||
/* HID support header */
|
||||
|
||||
#ifndef _HID_h_
|
||||
#define _HID_h
|
||||
|
||||
/* HID device structure */
|
||||
typedef struct {
|
||||
BYTE addr;
|
||||
BYTE interface;
|
||||
} HID_DEVICE;
|
||||
/* Boot mouse report 8 bytes */
|
||||
typedef struct {
|
||||
// struct {
|
||||
// unsigned one:1;
|
||||
// unsigned two:1;
|
||||
// unsigned three:1;
|
||||
// unsigned :5;
|
||||
// } button;
|
||||
BYTE button;
|
||||
BYTE Xdispl;
|
||||
BYTE Ydispl;
|
||||
BYTE bytes3to7[5]; //optional bytes
|
||||
} BOOT_MOUSE_REPORT;
|
||||
/* boot keyboard report 8 bytes */
|
||||
typedef struct {
|
||||
BYTE mod;
|
||||
// struct {
|
||||
// unsigned LCtrl:1;
|
||||
// unsigned LShift:1;
|
||||
// unsigned LAlt:1;
|
||||
// unsigned LWin:1;
|
||||
// /**/
|
||||
// unsigned RCtrl:1;
|
||||
// unsigned RShift:1;
|
||||
// unsigned RAlt:1;
|
||||
// unsigned RWin:1;
|
||||
// } mod;
|
||||
BYTE reserved;
|
||||
BYTE keycode[6];
|
||||
} BOOT_KBD_REPORT;
|
||||
|
||||
/* Function prototypes */
|
||||
BOOL HIDMProbe(BYTE address, DWORD flags);
|
||||
BOOL HIDKProbe(BYTE address, DWORD flags);
|
||||
void HID_init(void);
|
||||
BYTE mousePoll(BOOT_MOUSE_REPORT* buf);
|
||||
BYTE kbdPoll(BOOT_KBD_REPORT* buf);
|
||||
BOOL HIDMEventHandler(BYTE addr, BYTE event, void *data, DWORD size);
|
||||
BOOL HIDKEventHandler(BYTE addr, BYTE event, void *data, DWORD size);
|
||||
#endif // _HID_h_
|
||||
@@ -1,250 +0,0 @@
|
||||
//Fill in your low-level SPI functions here, as per your host platform
|
||||
|
||||
#define _MAX3421E_C_
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include "project_config.h"
|
||||
#include <spi.h>
|
||||
#include <gpio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
//variables and data structures
|
||||
//External variables
|
||||
extern BYTE usb_task_state;
|
||||
uint8_t* usb_gpio = USB_GPIO;
|
||||
|
||||
/* Functions */
|
||||
void SPI_init(BYTE sync_mode, BYTE bus_mode, BYTE smp_phase) {
|
||||
//Don't need to initialize SPI port, already ready to go with BSP
|
||||
(void) sync_mode;
|
||||
(void) bus_mode;
|
||||
(void) smp_phase;
|
||||
}
|
||||
|
||||
//writes single byte to MAX3421E via SPI, simultanously reads status register and returns it
|
||||
BYTE SPI_wr(BYTE data) {
|
||||
(void) data;
|
||||
//This function is never used by the code, so you do not need to fill it in
|
||||
return -1;
|
||||
}
|
||||
//writes register to MAX3421E via SPI
|
||||
void MAXreg_wr(BYTE reg, BYTE val) {
|
||||
//psuedocode:
|
||||
//select MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
//write reg + 2 via SPI
|
||||
//write val via SPI
|
||||
//read return code from SPI peripheral (see Intel documentation)
|
||||
//if return code < 0 print an error
|
||||
//deselect MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
BYTE regdir = reg + 2; //reg bitshift plus direction bit.
|
||||
|
||||
spi_byte(regdir);
|
||||
spi_byte(val);
|
||||
spi_deselect();
|
||||
}
|
||||
//multiple-byte write
|
||||
//returns a pointer to a memory position after last written
|
||||
BYTE* MAXbytes_wr(BYTE reg, BYTE nbytes, BYTE* data) {
|
||||
//psuedocode:
|
||||
//select MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
//write reg + 2 via SPI
|
||||
//write data[n] via SPI, where n goes from 0 to nbytes-1
|
||||
//read return code from SPI peripheral (see Intel documentation)
|
||||
//if return code < 0 print an error
|
||||
//deselect MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
//return (data + nbytes);
|
||||
int i;
|
||||
BYTE regdir = reg + 2;
|
||||
|
||||
spi_byte(regdir);
|
||||
|
||||
for (i = 0; i < nbytes; i++){
|
||||
spi_byte(data[i]);
|
||||
}
|
||||
|
||||
spi_deselect();
|
||||
|
||||
return data + nbytes;
|
||||
}
|
||||
|
||||
//reads register from MAX3421E via SPI
|
||||
BYTE MAXreg_rd(BYTE reg) {
|
||||
//psuedocode:
|
||||
//select MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
//write reg via SPI
|
||||
//read val via SPI
|
||||
//read return code from SPI peripheral (see Intel documentation)
|
||||
//if return code < 0 print an error
|
||||
//deselect MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
//return val
|
||||
BYTE regdir = reg;
|
||||
BYTE rxdata;
|
||||
|
||||
spi_byte(regdir);
|
||||
rxdata = spi_byte(0);
|
||||
spi_deselect();
|
||||
|
||||
return rxdata;
|
||||
}
|
||||
//multiple-byte write
|
||||
//returns a pointer to a memory position after last written
|
||||
BYTE* MAXbytes_rd(BYTE reg, BYTE nbytes, BYTE* data) {
|
||||
//psuedocode:
|
||||
//select MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
//write reg via SPI
|
||||
//read data[n] from SPI, where n goes from 0 to nbytes-1
|
||||
//read return code from SPI peripheral (see Intel documentation)
|
||||
//if return code < 0 print an error
|
||||
//deselect MAX3421E (may not be necessary if you are using SPI peripheral)
|
||||
//return (data + nbytes);
|
||||
int i;
|
||||
BYTE regdir = reg;
|
||||
|
||||
spi_byte(regdir);
|
||||
|
||||
for (i = 0; i < nbytes; i++){
|
||||
data[i] = spi_byte(0);
|
||||
}
|
||||
|
||||
spi_deselect();
|
||||
|
||||
return data + nbytes;
|
||||
}
|
||||
/* reset MAX3421E using chip reset bit. SPI configuration is not affected */
|
||||
void MAX3421E_reset(void) {
|
||||
//hardware reset, then software reset
|
||||
BYTE tmp;
|
||||
|
||||
*usb_gpio &= ~USB_GPIO_RST;
|
||||
//TODO
|
||||
//sleep(1);
|
||||
*usb_gpio |= USB_GPIO_RST;
|
||||
tmp = 0;
|
||||
MAXreg_wr( rUSBCTL, bmCHIPRES); //Chip reset. This stops the oscillator
|
||||
MAXreg_wr( rUSBCTL, 0x00); //Remove the reset
|
||||
while (!(MAXreg_rd( rUSBIRQ) & bmOSCOKIRQ)) { //wait until the PLL stabilizes
|
||||
tmp++; //timeout after 256 attempts
|
||||
if (tmp == 0) {
|
||||
//printf("reset timeout!");
|
||||
}
|
||||
}
|
||||
}
|
||||
/* turn USB power on/off */
|
||||
/* ON pin of VBUS switch (MAX4793 or similar) is connected to GPOUT7 */
|
||||
/* OVERLOAD pin of Vbus switch is connected to GPIN7 */
|
||||
/* OVERLOAD state low. NO OVERLOAD or VBUS OFF state high. */
|
||||
BOOL Vbus_power(BOOL action) {
|
||||
// power on/off successful
|
||||
return (1);
|
||||
}
|
||||
|
||||
/* probe bus to determine device presense and speed */
|
||||
void MAX_busprobe(void) {
|
||||
BYTE bus_sample;
|
||||
|
||||
// MAXreg_wr(rHCTL,bmSAMPLEBUS);
|
||||
bus_sample = MAXreg_rd( rHRSL); //Get J,K status
|
||||
bus_sample &= ( bmJSTATUS | bmKSTATUS); //zero the rest of the byte
|
||||
|
||||
switch (bus_sample) { //start full-speed or low-speed host
|
||||
case ( bmJSTATUS):
|
||||
/*kludgy*/
|
||||
if (usb_task_state != USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE) { //bus reset causes connection detect interrupt
|
||||
if (!(MAXreg_rd( rMODE) & bmLOWSPEED)) {
|
||||
MAXreg_wr( rMODE, MODE_FS_HOST); //start full-speed host
|
||||
//printf("Starting in full speed\n");
|
||||
} else {
|
||||
MAXreg_wr( rMODE, MODE_LS_HOST); //start low-speed host
|
||||
//printf("Starting in low speed\n");
|
||||
}
|
||||
usb_task_state = ( USB_STATE_ATTACHED); //signal usb state machine to start attachment sequence
|
||||
}
|
||||
break;
|
||||
case ( bmKSTATUS):
|
||||
if (usb_task_state != USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE) { //bus reset causes connection detect interrupt
|
||||
if (!(MAXreg_rd( rMODE) & bmLOWSPEED)) {
|
||||
MAXreg_wr( rMODE, MODE_LS_HOST); //start low-speed host
|
||||
//printf("Starting in low speed\n");
|
||||
} else {
|
||||
MAXreg_wr( rMODE, MODE_FS_HOST); //start full-speed host
|
||||
//printf("Starting in full speed\n");
|
||||
}
|
||||
usb_task_state = ( USB_STATE_ATTACHED); //signal usb state machine to start attachment sequence
|
||||
}
|
||||
break;
|
||||
case ( bmSE1): //illegal state
|
||||
usb_task_state = ( USB_DETACHED_SUBSTATE_ILLEGAL);
|
||||
break;
|
||||
case ( bmSE0): //disconnected state
|
||||
if (!((usb_task_state & USB_STATE_MASK) == USB_STATE_DETACHED)) //if we came here from other than detached state
|
||||
usb_task_state = ( USB_DETACHED_SUBSTATE_INITIALIZE); //clear device data structures
|
||||
else {
|
||||
MAXreg_wr( rMODE, MODE_FS_HOST); //start full-speed host
|
||||
usb_task_state = ( USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE);
|
||||
}
|
||||
break;
|
||||
} //end switch( bus_sample )
|
||||
}
|
||||
/* MAX3421E initialization after power-on */
|
||||
void MAX3421E_init(void) {
|
||||
/* Configure full-duplex SPI, interrupt pulse */
|
||||
MAXreg_wr( rPINCTL, (bmFDUPSPI + bmINTLEVEL + bmGPXB)); //Full-duplex SPI, level interrupt, GPX
|
||||
MAX3421E_reset(); //stop/start the oscillator
|
||||
/* configure power switch */
|
||||
Vbus_power( OFF); //turn Vbus power off
|
||||
MAXreg_wr( rGPINIEN, bmGPINIEN7); //enable interrupt on GPIN7 (power switch overload flag)
|
||||
Vbus_power( ON);
|
||||
/* configure host operation */
|
||||
MAXreg_wr( rMODE, bmDPPULLDN | bmDMPULLDN | bmHOST | bmSEPIRQ); // set pull-downs, SOF, Host, Separate GPIN IRQ on GPX
|
||||
//MAXreg_wr( rHIEN, bmFRAMEIE|bmCONDETIE|bmBUSEVENTIE ); // enable SOF, connection detection, bus event IRQs
|
||||
MAXreg_wr( rHIEN, bmCONDETIE); //connection detection
|
||||
/* HXFRDNIRQ is checked in Dispatch packet function */
|
||||
MAXreg_wr(rHCTL, bmSAMPLEBUS); // update the JSTATUS and KSTATUS bits
|
||||
MAX_busprobe(); //check if anything is connected
|
||||
MAXreg_wr( rHIRQ, bmCONDETIRQ); //clear connection detect interrupt
|
||||
MAXreg_wr( rCPUCTL, 0x01); //enable interrupt pin
|
||||
}
|
||||
|
||||
/* MAX3421 state change task and interrupt handler */
|
||||
void MAX3421E_Task(void) {
|
||||
if ((*usb_gpio & USB_GPIO_IRQ) == 0) {
|
||||
//printf("MAX interrupt\n\r");
|
||||
MaxIntHandler();
|
||||
}
|
||||
if ((*usb_gpio & USB_GPIO_GPX) != 0) {
|
||||
//printf("GPX interrupt\n\r");
|
||||
MaxGpxHandler();
|
||||
}
|
||||
}
|
||||
|
||||
void MaxIntHandler(void) {
|
||||
BYTE HIRQ;
|
||||
BYTE HIRQ_sendback = 0x00;
|
||||
HIRQ = MAXreg_rd( rHIRQ); //determine interrupt source
|
||||
//printf("IRQ: %x\n", HIRQ);
|
||||
if (HIRQ & bmFRAMEIRQ) { //->1ms SOF interrupt handler
|
||||
HIRQ_sendback |= bmFRAMEIRQ;
|
||||
} //end FRAMEIRQ handling
|
||||
|
||||
if (HIRQ & bmCONDETIRQ) {
|
||||
MAX_busprobe();
|
||||
HIRQ_sendback |= bmCONDETIRQ; //set sendback to 1 to clear register
|
||||
}
|
||||
if (HIRQ & bmSNDBAVIRQ) //if the send buffer is clear (previous transfer completed without issue)
|
||||
{
|
||||
MAXreg_wr(rSNDBC, 0x00);//clear the send buffer (not really necessary, but clears interrupt)
|
||||
}
|
||||
if (HIRQ & bmBUSEVENTIRQ) { //bus event is either reset or suspend
|
||||
usb_task_state++; //advance USB task state machine
|
||||
HIRQ_sendback |= bmBUSEVENTIRQ;
|
||||
}
|
||||
/* End HIRQ interrupts handling, clear serviced IRQs */
|
||||
MAXreg_wr( rHIRQ, HIRQ_sendback); //write '1' to CONDETIRQ to ack bus state change
|
||||
}
|
||||
|
||||
void MaxGpxHandler(void) {
|
||||
BYTE GPINIRQ;
|
||||
GPINIRQ = MAXreg_rd( rGPINIRQ); //read both IRQ registers
|
||||
}
|
||||
@@ -1,250 +0,0 @@
|
||||
/* MAX3421E support header */
|
||||
/* Register names and bit masks for MAX3421 in host mode */
|
||||
/* Function prototypes in MAX3421E.c */
|
||||
#ifndef _MAX3421E_H_
|
||||
#define _MAX3421E_H_
|
||||
|
||||
#define USB_GPIO_RST (1 << 0)
|
||||
#define USB_GPIO_IRQ (1 << 1)
|
||||
#define USB_GPIO_GPX (1 << 2)
|
||||
|
||||
/* SPI interface definitions */
|
||||
/* SSPSTAT REGISTER */
|
||||
|
||||
// Master SPI mode only
|
||||
#define SMPEND 0x80 // Input data sample at end of data out
|
||||
#define SMPMID 0x00 // Input data sample at middle of data out
|
||||
|
||||
#define MODE_00 0 // Setting for SPI bus Mode 0,0
|
||||
//CKE 0x40 // SSPSTAT register
|
||||
//CKP 0x00 // SSPCON1 register
|
||||
|
||||
#define MODE_01 1 // Setting for SPI bus Mode 0,1
|
||||
//CKE 0x00 // SSPSTAT register
|
||||
//CKP 0x00 // SSPCON1 register
|
||||
|
||||
#define MODE_10 2 // Setting for SPI bus Mode 1,0
|
||||
//CKE 0x40 // SSPSTAT register
|
||||
//CKP 0x10 // SSPCON1 register
|
||||
|
||||
#define MODE_11 3 // Setting for SPI bus Mode 1,1
|
||||
//CKE 0x00 // SSPSTAT register
|
||||
//CKP 0x10 // SSPCON1 register
|
||||
|
||||
/* SSPCON1 REGISTER */
|
||||
#define SSPENB 0x20 // Enable serial port and configures SCK, SDO, SDI
|
||||
|
||||
#define SPI_FOSC_4 0 // SPI Master mode, clock = Fosc/4
|
||||
#define SPI_FOSC_16 1 // SPI Master mode, clock = Fosc/16
|
||||
#define SPI_FOSC_64 2 // SPI Master mode, clock = Fosc/64
|
||||
#define SPI_FOSC_TMR2 3 // SPI Master mode, clock = TMR2 output/2
|
||||
#define SLV_SSON 4 // SPI Slave mode, /SS pin control enabled
|
||||
#define SLV_SSOFF 5 // SPI Slave mode, /SS pin control disabled
|
||||
|
||||
/* MAX3421E command byte format: rrrrr0wa where 'r' is register number */
|
||||
//
|
||||
// MAX3421E Registers in HOST mode.
|
||||
//
|
||||
#define rRCVFIFO 0x08 //1<<3
|
||||
#define rSNDFIFO 0x10 //2<<3
|
||||
#define rSUDFIFO 0x20 //4<<3
|
||||
#define rRCVBC 0x30 //6<<3
|
||||
#define rSNDBC 0x38 //7<<3
|
||||
|
||||
#define rUSBIRQ 0x68 //13<<3
|
||||
/* USBIRQ Bits */
|
||||
#define bmVBUSIRQ 0x40 //b6
|
||||
#define bmNOVBUSIRQ 0x20 //b5
|
||||
#define bmOSCOKIRQ 0x01 //b0
|
||||
|
||||
#define rUSBIEN 0x70 //14<<3
|
||||
/* USBIEN Bits */
|
||||
#define bmVBUSIE 0x40 //b6
|
||||
#define bmNOVBUSIE 0x20 //b5
|
||||
#define bmOSCOKIE 0x01 //b0
|
||||
|
||||
#define rUSBCTL 0x78 //15<<3
|
||||
/* USBCTL Bits */
|
||||
#define bmCHIPRES 0x20 //b5
|
||||
#define bmPWRDOWN 0x10 //b4
|
||||
|
||||
#define rCPUCTL 0x80 //16<<3
|
||||
/* CPUCTL Bits */
|
||||
#define bmPUSLEWID1 0x80 //b7
|
||||
#define bmPULSEWID0 0x40 //b6
|
||||
#define bmIE 0x01 //b0
|
||||
|
||||
#define rPINCTL 0x88 //17<<3
|
||||
/* PINCTL Bits */
|
||||
#define bmFDUPSPI 0x10 //b4
|
||||
#define bmINTLEVEL 0x08 //b3
|
||||
#define bmPOSINT 0x04 //b2
|
||||
#define bmGPXB 0x02 //b1
|
||||
#define bmGPXA 0x01 //b0
|
||||
// GPX pin selections
|
||||
#define GPX_OPERATE 0x00
|
||||
#define GPX_VBDET 0x01
|
||||
#define GPX_BUSACT 0x02
|
||||
#define GPX_SOF 0x03
|
||||
|
||||
#define rREVISION 0x90 //18<<3
|
||||
|
||||
#define rIOPINS1 0xa0 //20<<3
|
||||
|
||||
/* IOPINS1 Bits */
|
||||
#define bmGPOUT0 0x01
|
||||
#define bmGPOUT1 0x02
|
||||
#define bmGPOUT2 0x04
|
||||
#define bmGPOUT3 0x08
|
||||
#define bmGPIN0 0x10
|
||||
#define bmGPIN1 0x20
|
||||
#define bmGPIN2 0x40
|
||||
#define bmGPIN3 0x80
|
||||
|
||||
#define rIOPINS2 0xa8 //21<<3
|
||||
/* IOPINS2 Bits */
|
||||
#define bmGPOUT4 0x01
|
||||
#define bmGPOUT5 0x02
|
||||
#define bmGPOUT6 0x04
|
||||
#define bmGPOUT7 0x08
|
||||
#define bmGPIN4 0x10
|
||||
#define bmGPIN5 0x20
|
||||
#define bmGPIN6 0x40
|
||||
#define bmGPIN7 0x80
|
||||
|
||||
#define rGPINIRQ 0xb0 //22<<3
|
||||
/* GPINIRQ Bits */
|
||||
#define bmGPINIRQ0 0x01
|
||||
#define bmGPINIRQ1 0x02
|
||||
#define bmGPINIRQ2 0x04
|
||||
#define bmGPINIRQ3 0x08
|
||||
#define bmGPINIRQ4 0x10
|
||||
#define bmGPINIRQ5 0x20
|
||||
#define bmGPINIRQ6 0x40
|
||||
#define bmGPINIRQ7 0x80
|
||||
|
||||
#define rGPINIEN 0xb8 //23<<3
|
||||
/* GPINIEN Bits */
|
||||
#define bmGPINIEN0 0x01
|
||||
#define bmGPINIEN1 0x02
|
||||
#define bmGPINIEN2 0x04
|
||||
#define bmGPINIEN3 0x08
|
||||
#define bmGPINIEN4 0x10
|
||||
#define bmGPINIEN5 0x20
|
||||
#define bmGPINIEN6 0x40
|
||||
#define bmGPINIEN7 0x80
|
||||
|
||||
#define rGPINPOL 0xc0 //24<<3
|
||||
/* GPINPOL Bits */
|
||||
#define bmGPINPOL0 0x01
|
||||
#define bmGPINPOL1 0x02
|
||||
#define bmGPINPOL2 0x04
|
||||
#define bmGPINPOL3 0x08
|
||||
#define bmGPINPOL4 0x10
|
||||
#define bmGPINPOL5 0x20
|
||||
#define bmGPINPOL6 0x40
|
||||
#define bmGPINPOL7 0x80
|
||||
|
||||
#define rHIRQ 0xc8 //25<<3
|
||||
/* HIRQ Bits */
|
||||
#define bmBUSEVENTIRQ 0x01 // indicates BUS Reset Done or BUS Resume
|
||||
#define bmRWUIRQ 0x02
|
||||
#define bmRCVDAVIRQ 0x04
|
||||
#define bmSNDBAVIRQ 0x08
|
||||
#define bmSUSDNIRQ 0x10
|
||||
#define bmCONDETIRQ 0x20
|
||||
#define bmFRAMEIRQ 0x40
|
||||
#define bmHXFRDNIRQ 0x80
|
||||
|
||||
#define rHIEN 0xd0 //26<<3
|
||||
/* HIEN Bits */
|
||||
#define bmBUSEVENTIE 0x01
|
||||
#define bmRWUIE 0x02
|
||||
#define bmRCVDAVIE 0x04
|
||||
#define bmSNDBAVIE 0x08
|
||||
#define bmSUSDNIE 0x10
|
||||
#define bmCONDETIE 0x20
|
||||
#define bmFRAMEIE 0x40
|
||||
#define bmHXFRDNIE 0x80
|
||||
|
||||
#define rMODE 0xd8 //27<<3
|
||||
/* MODE Bits */
|
||||
#define bmHOST 0x01
|
||||
#define bmLOWSPEED 0x02
|
||||
#define bmHUBPRE 0x04
|
||||
#define bmSOFKAENAB 0x08
|
||||
#define bmSEPIRQ 0x10
|
||||
#define bmDELAYISO 0x20
|
||||
#define bmDMPULLDN 0x40
|
||||
#define bmDPPULLDN 0x80
|
||||
|
||||
#define rPERADDR 0xe0 //28<<3
|
||||
|
||||
#define rHCTL 0xe8 //29<<3
|
||||
/* HCTL Bits */
|
||||
#define bmBUSRST 0x01
|
||||
#define bmFRMRST 0x02
|
||||
#define bmSAMPLEBUS 0x04
|
||||
#define bmSIGRSM 0x08
|
||||
#define bmRCVTOG0 0x10
|
||||
#define bmRCVTOG1 0x20
|
||||
#define bmSNDTOG0 0x40
|
||||
#define bmSNDTOG1 0x80
|
||||
|
||||
#define rHXFR 0xf0 //30<<3
|
||||
/* Host transfer token values for writing the HXFR register (R30) */
|
||||
/* OR this bit field with the endpoint number in bits 3:0 */
|
||||
#define tokSETUP 0x10 // HS=0, ISO=0, OUTNIN=0, SETUP=1
|
||||
#define tokIN 0x00 // HS=0, ISO=0, OUTNIN=0, SETUP=0
|
||||
#define tokOUT 0x20 // HS=0, ISO=0, OUTNIN=1, SETUP=0
|
||||
#define tokINHS 0x80 // HS=1, ISO=0, OUTNIN=0, SETUP=0
|
||||
#define tokOUTHS 0xA0 // HS=1, ISO=0, OUTNIN=1, SETUP=0
|
||||
#define tokISOIN 0x40 // HS=0, ISO=1, OUTNIN=0, SETUP=0
|
||||
#define tokISOOUT 0x60 // HS=0, ISO=1, OUTNIN=1, SETUP=0
|
||||
|
||||
#define rHRSL 0xf8 //31<<3
|
||||
/* HRSL Bits */
|
||||
#define bmRCVTOGRD 0x10
|
||||
#define bmSNDTOGRD 0x20
|
||||
#define bmKSTATUS 0x40
|
||||
#define bmJSTATUS 0x80
|
||||
#define bmSE0 0x00 //SE0 - disconnect state
|
||||
#define bmSE1 0xc0 //SE1 - illegal state
|
||||
/* Host error result codes, the 4 LSB's in the HRSL register */
|
||||
#define hrSUCCESS 0x00
|
||||
#define hrBUSY 0x01
|
||||
#define hrBADREQ 0x02
|
||||
#define hrUNDEF 0x03
|
||||
#define hrNAK 0x04
|
||||
#define hrSTALL 0x05
|
||||
#define hrTOGERR 0x06
|
||||
#define hrWRONGPID 0x07
|
||||
#define hrBADBC 0x08
|
||||
#define hrPIDERR 0x09
|
||||
#define hrPKTERR 0x0A
|
||||
#define hrCRCERR 0x0B
|
||||
#define hrKERR 0x0C
|
||||
#define hrJERR 0x0D
|
||||
#define hrTIMEOUT 0x0E
|
||||
#define hrBABBLE 0x0F
|
||||
|
||||
#define MODE_FS_HOST (bmDPPULLDN|bmDMPULLDN|bmHOST|bmSOFKAENAB)
|
||||
#define MODE_LS_HOST (bmDPPULLDN|bmDMPULLDN|bmHOST|bmLOWSPEED|bmSOFKAENAB)
|
||||
|
||||
/* MAX3421E.c function prototypes */
|
||||
void SPI_init(BYTE sync_mode, BYTE bus_mode, BYTE smp_phase);
|
||||
BYTE SPI_wr(BYTE data);
|
||||
void MAXreg_wr(BYTE reg, BYTE val);
|
||||
BYTE* MAXbytes_wr(BYTE reg, BYTE nbytes, BYTE * data);
|
||||
BYTE MAXreg_rd(BYTE reg);
|
||||
BYTE* MAXbytes_rd(BYTE reg, BYTE nbytes, BYTE *data);
|
||||
void MAX3421E_reset(void);
|
||||
BOOL Vbus_power(BOOL action);
|
||||
void MAX3421E_init(void);
|
||||
void MAX_busprobe(void);
|
||||
void MAX3421E_Task(void);
|
||||
void MaxIntHandler(void);
|
||||
void MaxGpxHandler(void);
|
||||
|
||||
#endif //_MAX3421E_H_
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
This is a project directory of Lightweight USB host for Microchip PIC18 and Maxim MAX3421E USB Host controller.
|
||||
This is a migration from FreeRTOS implementation, which I decided to stop developing because the end product will not fit into PIC18.
|
||||
Therefore, you will find fragments of strange code every now and then.
|
||||
|
||||
The code is compiled using Microchip C18 compiler in MPLAB. MPLAB project file is provided but not guaranteed to work on your system
|
||||
due to absolute path issue. You can manually edit the .mcp file or make your own. The project uses standard linker script and headers.
|
||||
|
||||
In addition, logic analyzer trace is provided in LPF file. Too see the trace you will need to download Logicport software from Intronix,
|
||||
http://www.pctestinstruments.com/downloads.htm
|
||||
|
||||
For hardware implementation information go to http://www.circuitsathome.com
|
||||
|
||||
277
sw/usb/USB.h
277
sw/usb/USB.h
@@ -1,277 +0,0 @@
|
||||
/* USB task support header */
|
||||
|
||||
#ifndef _USB_h_
|
||||
#define _USB_h_
|
||||
|
||||
// *****************************************************************************
|
||||
// Section: State Machine Constants
|
||||
// *****************************************************************************
|
||||
|
||||
/* States are defined by 4 high bits
|
||||
Substates are defined by 4 low bits */
|
||||
|
||||
#define USB_STATE_MASK 0xf0 //
|
||||
#define USB_SUBSTATE_MASK 0x0f //
|
||||
|
||||
#define SUBSUBSTATE_MASK 0x000F //
|
||||
|
||||
#define NEXT_STATE 0x0100 //
|
||||
#define NEXT_SUBSTATE 0x0010 //
|
||||
#define NEXT_SUBSUBSTATE 0x0001 //
|
||||
|
||||
#define SUBSUBSTATE_ERROR 0x000F //
|
||||
|
||||
#define NO_STATE 0xFFFF //
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
DETACHED state machine values
|
||||
|
||||
This state machine handles the condition when no device is attached.
|
||||
*/
|
||||
|
||||
#define USB_STATE_DETACHED 0x00
|
||||
#define USB_DETACHED_SUBSTATE_INITIALIZE 0x01
|
||||
#define USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE 0x03
|
||||
#define USB_DETACHED_SUBSTATE_ILLEGAL 0x04
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
ATTACHED state machine values
|
||||
|
||||
This state machine gets the device descriptor of the remote device. We get the
|
||||
size of the device descriptor, and use that size to get the entire device
|
||||
descriptor. Then we check the VID and PID and make sure they appear in the TPL.
|
||||
*/
|
||||
|
||||
#define USB_STATE_ATTACHED 0x10
|
||||
#define USB_ATTACHED_SUBSTATE_SETTLE 0x11
|
||||
#define USB_ATTACHED_SUBSTATE_RESET_DEVICE 0x12
|
||||
#define USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE 0x13
|
||||
#define USB_ATTACHED_SUBSTATE_WAIT_SOF 0x14
|
||||
#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE 0x15
|
||||
//#define USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR 0x16
|
||||
//#define USB_ATTACHED_SUBSTATE_VALIDATE_VID_PID 0x17
|
||||
//#define USB_ATTACHED_SUBSTATE_VALIDATE_CLSP 0x18
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
ADDRESSING state machine values
|
||||
|
||||
This state machine sets the address of the remote device.
|
||||
*/
|
||||
|
||||
#define USB_STATE_ADDRESSING 0x20
|
||||
/*
|
||||
*******************************************************************************
|
||||
CONFIGURING state machine values
|
||||
|
||||
This state machine sets the configuration of the remote device, and sets up
|
||||
internal variables to support the device.
|
||||
*/
|
||||
#define USB_STATE_CONFIGURING 0x30
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
RUNNING state machine values
|
||||
|
||||
*/
|
||||
|
||||
#define USB_STATE_RUNNING 0x40
|
||||
//#define RUNNING_SUBSTATE_NORMAL_RUN 0x0000 //
|
||||
//#define RUNNING_SUBSTATE_SUSPEND_AND_RESUME 0x0010 //
|
||||
//#define RUNNING_SUBSUBSTATE_SUSPEND 0x0000 //
|
||||
//#define RUNNING_SUBSUBSTATE_RESUME 0x0001 //
|
||||
//#define RUNNING_SUBSUBSTATE_RESUME_WAIT 0x0002 //
|
||||
//#define RUNNING_SUBSUBSTATE_RESUME_RECOVERY 0x0003 //
|
||||
//#define RUNNING_SUBSUBSTATE_RESUME_RECOVERY_WAIT 0x0004 //
|
||||
//#define RUNNING_SUBSUBSTATE_RESUME_COMPLETE 0x0005 //
|
||||
|
||||
/*
|
||||
*******************************************************************************
|
||||
HOLDING state machine values
|
||||
|
||||
*/
|
||||
|
||||
#define STATE_HOLDING 0x50 //
|
||||
|
||||
#define HOLDING_SUBSTATE_HOLD_INIT 0x0000 //
|
||||
#define HOLDING_SUBSTATE_HOLD 0x0001 //
|
||||
|
||||
/* Error state machine state. Non-recoverable */
|
||||
|
||||
#define USB_STATE_ERROR 0xff
|
||||
|
||||
// *****************************************************************************
|
||||
// Section: Token State Machine Constants
|
||||
// *****************************************************************************
|
||||
|
||||
#define TSTATE_MASK 0x00F0 //
|
||||
#define TSUBSTATE_MASK 0x000F //
|
||||
|
||||
#define TSUBSTATE_ERROR 0x000F //
|
||||
|
||||
#define TSTATE_IDLE 0x0000 //
|
||||
|
||||
#define TSTATE_CONTROL_NO_DATA 0x0010 //
|
||||
#define TSUBSTATE_CONTROL_NO_DATA_SETUP 0x0000 //
|
||||
#define TSUBSTATE_CONTROL_NO_DATA_ACK 0x0001 //
|
||||
#define TSUBSTATE_CONTROL_NO_DATA_COMPLETE 0x0002 //
|
||||
|
||||
#define TSTATE_CONTROL_READ 0x0020 //
|
||||
#define TSUBSTATE_CONTROL_READ_SETUP 0x0000 //
|
||||
#define TSUBSTATE_CONTROL_READ_DATA 0x0001 //
|
||||
#define TSUBSTATE_CONTROL_READ_ACK 0x0002 //
|
||||
#define TSUBSTATE_CONTROL_READ_COMPLETE 0x0003 //
|
||||
|
||||
#define TSTATE_CONTROL_WRITE 0x0030 //
|
||||
#define TSUBSTATE_CONTROL_WRITE_SETUP 0x0000 //
|
||||
#define TSUBSTATE_CONTROL_WRITE_DATA 0x0001 //
|
||||
#define TSUBSTATE_CONTROL_WRITE_ACK 0x0002 //
|
||||
#define TSUBSTATE_CONTROL_WRITE_COMPLETE 0x0003 //
|
||||
|
||||
#define TSTATE_INTERRUPT_READ 0x0040 //
|
||||
#define TSUBSTATE_INTERRUPT_READ_DATA 0x0000 //
|
||||
#define TSUBSTATE_INTERRUPT_READ_COMPLETE 0x0001 //
|
||||
|
||||
#define TSTATE_INTERRUPT_WRITE 0x0050 //
|
||||
#define TSUBSTATE_INTERRUPT_WRITE_DATA 0x0000 //
|
||||
#define TSUBSTATE_INTERRUPT_WRITE_COMPLETE 0x0001 //
|
||||
|
||||
#define TSTATE_ISOCHRONOUS_READ 0x0060 //
|
||||
#define TSUBSTATE_ISOCHRONOUS_READ_DATA 0x0000 //
|
||||
#define TSUBSTATE_ISOCHRONOUS_READ_COMPLETE 0x0001 //
|
||||
|
||||
#define TSTATE_ISOCHRONOUS_WRITE 0x0070 //
|
||||
#define TSUBSTATE_ISOCHRONOUS_WRITE_DATA 0x0000 //
|
||||
#define TSUBSTATE_ISOCHRONOUS_WRITE_COMPLETE 0x0001 //
|
||||
|
||||
#define TSTATE_BULK_READ 0x0080 //
|
||||
#define TSUBSTATE_BULK_READ_DATA 0x0000 //
|
||||
#define TSUBSTATE_BULK_READ_COMPLETE 0x0001 //
|
||||
|
||||
#define TSTATE_BULK_WRITE 0x0090 //
|
||||
#define TSUBSTATE_BULK_WRITE_DATA 0x0000 //
|
||||
#define TSUBSTATE_BULK_WRITE_COMPLETE 0x0001 //
|
||||
|
||||
// ************************
|
||||
// Standard USB Requests
|
||||
#define SR_GET_STATUS 0x00 // Get Status
|
||||
#define SR_CLEAR_FEATURE 0x01 // Clear Feature
|
||||
#define SR_RESERVED 0x02 // Reserved
|
||||
#define SR_SET_FEATURE 0x03 // Set Feature
|
||||
#define SR_SET_ADDRESS 0x05 // Set Address
|
||||
#define SR_GET_DESCRIPTOR 0x06 // Get Descriptor
|
||||
#define SR_SET_DESCRIPTOR 0x07 // Set Descriptor
|
||||
#define SR_GET_CONFIGURATION 0x08 // Get Configuration
|
||||
#define SR_SET_CONFIGURATION 0x09 // Set Configuration
|
||||
#define SR_GET_INTERFACE 0x0a // Get Interface
|
||||
#define SR_SET_INTERFACE 0x0b // Set Interface
|
||||
|
||||
// Get Descriptor codes
|
||||
#define GD_DEVICE 0x01 // Get device descriptor: Device
|
||||
#define GD_CONFIGURATION 0x02 // Get device descriptor: Configuration
|
||||
#define GD_STRING 0x03 // Get device descriptor: String
|
||||
#define GD_HID 0x21 // Get descriptor: HID
|
||||
#define GD_REPORT 0x22 // Get descriptor: Report
|
||||
|
||||
// HID bRequest values
|
||||
#define GET_REPORT 1
|
||||
#define GET_IDLE 2
|
||||
#define GET_PROTOCOL 3
|
||||
#define SET_REPORT 9
|
||||
#define SET_IDLE 0x0A
|
||||
#define SET_PROTOCOL 0x0B
|
||||
#define INPUT_REPORT 1
|
||||
|
||||
////******************************************************************************
|
||||
////******************************************************************************
|
||||
//// Section: Macros
|
||||
////
|
||||
//// These macros are all internal to the host layer.
|
||||
////******************************************************************************
|
||||
////******************************************************************************
|
||||
//
|
||||
//#define _USB_InitErrorCounters() { numCommandTries = USB_NUM_COMMAND_TRIES; }
|
||||
//#define _USB_SetDATA01(x) { pCurrentEndpoint->status.bfNextDATA01 = x; }
|
||||
//#define _USB_SetErrorCode(x) { usbDeviceInfo.errorCode = x; }
|
||||
//#define _USB_SetHoldState() { usbHostState = STATE_HOLDING; }
|
||||
//#define _USB_SetNextState() { usbHostState = (usbHostState & STATE_MASK) + NEXT_STATE; }
|
||||
//#define _host_tasks_SetNextSubState() { host_tasks_state =( host_tasks_state & (STATE_MASK | SUBSTATE_MASK)) + NEXT_SUBSTATE; }
|
||||
//#define _USB_SetNextSubSubState() { usbHostState = usbHostState + NEXT_SUBSUBSTATE; }
|
||||
//#define _USB_SetNextTransferState() { pCurrentEndpoint->transferState ++; }
|
||||
//#define _USB_SetPreviousSubSubState() { usbHostState = usbHostState - NEXT_SUBSUBSTATE; }
|
||||
//#define _USB_SetTransferErrorState(x) { x->transferState = (x->transferState & TSTATE_MASK) | TSUBSTATE_ERROR; }
|
||||
//#define freez(x) { free(x); x = NULL; }
|
||||
|
||||
/* data structures */
|
||||
|
||||
// *****************************************************************************
|
||||
/* USB Mass Storage Device Information
|
||||
|
||||
This structure is used to hold all the information about an attached Mass Storage device.
|
||||
*/
|
||||
typedef struct _USB_MSD_DEVICE_INFO {
|
||||
BYTE blockData[31]; // Data buffer for device communication.
|
||||
BYTE deviceAddress; // Address of the device on the bus.
|
||||
BYTE errorCode; // Error code of last error.
|
||||
BYTE state; // State machine state of the device.
|
||||
BYTE returnState; // State to return to after performing error handling.
|
||||
union {
|
||||
struct {
|
||||
unsigned int bfDirection :1; // Direction of current transfer (0=OUT, 1=IN).
|
||||
unsigned int bfReset :1; // Flag indicating to perform Mass Storage Reset.
|
||||
unsigned int bfClearDataIN :1; // Flag indicating to clear the IN endpoint.
|
||||
unsigned int bfClearDataOUT :1; // Flag indicating to clear the OUT endpoint.
|
||||
};
|
||||
BYTE val;
|
||||
} flags;
|
||||
BYTE maxLUN; // The maximum Logical Unit Number of the device.
|
||||
BYTE interface; // Interface number we are using.
|
||||
BYTE epin_idx; // Bulk IN endpoint index in devinfo.epinfo_ptr[].
|
||||
BYTE epout_idx; // Bulk OUT endpoint index in devinfo.epinfo_ptr[].
|
||||
BYTE endpointDATA; // Endpoint to use for the current transfer.
|
||||
BYTE *userData; // Pointer to the user's data buffer.
|
||||
DWORD userDataLength; // Length of the user's data buffer.
|
||||
DWORD bytesTransferred; // Number of bytes transferred to/from the user's data buffer.
|
||||
DWORD dCBWTag; // The value of the dCBWTag to verify against the dCSWtag.
|
||||
BYTE attemptsCSW; // Number of attempts to retrieve the CSW.
|
||||
} USB_MSD_DEVICE_INFO;
|
||||
|
||||
///* class driver event handler */
|
||||
//typedef BOOL (* rom CLASS_EVENT_HANDLER) ( BYTE address, BYTE event, void *data, DWORD size );
|
||||
//
|
||||
///* class driver initialization */
|
||||
//typedef BOOL (* rom CLASS_INIT) ( BYTE address, DWORD flags );
|
||||
//
|
||||
//// *****************************************************************************
|
||||
///* Client Driver Table Structure
|
||||
//
|
||||
// */
|
||||
//
|
||||
//typedef struct _CLASS_CALLBACK_TABLE
|
||||
//{
|
||||
// CLASS_INIT Initialize; // Initialization routine
|
||||
// CLASS_EVENT_HANDLER EventHandler; // Event routine
|
||||
// DWORD flags; // Initialization flags
|
||||
//
|
||||
//} CLASS_CALLBACK_TABLE;
|
||||
|
||||
//* Functions */
|
||||
//
|
||||
//void vUSBtask_init( void );
|
||||
//void vUSB_task( void *pvParameters );
|
||||
//void prvUSBdata_init( void );
|
||||
//char bUSB_Control_Write_ND( BYTE addr, BYTE ep );
|
||||
//char bUSB_Control_Read( BYTE addr, BYTE ep );
|
||||
//char bUSB_IN_Transfer( BYTE ep, WORD nbytes, BYTE maxpktsize, BYTE * data );
|
||||
//char bUSB_Dispatch_Pkt( BYTE token, BYTE ep );
|
||||
//BOOL prvMSDInit( BYTE address, DWORD flags );
|
||||
//BOOL prvMSDEventHandler( BYTE address, BYTE event, void *data, DWORD size );
|
||||
//BOOL prvCDCProbe( BYTE address, DWORD flags );
|
||||
//BOOL prvCDCEventHandler( BYTE address, BYTE event, void *data, DWORD size );
|
||||
//BOOL prvDummyProbe( BYTE address , DWORD flags );
|
||||
//BOOL prvDummyEventHandler( BYTE address, BYTE event, void *data, DWORD size );
|
||||
//BYTE flush_Q( xQueueHandle QueueH );
|
||||
|
||||
#endif //_USB_h_
|
||||
@@ -1,22 +0,0 @@
|
||||
/* Project name project configuration file */
|
||||
|
||||
#ifndef _project_config_h_
|
||||
#define _project_config_h_
|
||||
|
||||
#include "GenericMacros.h"
|
||||
#include "GenericTypeDefs.h"
|
||||
#include "HID.h"
|
||||
#include "MAX3421E.h"
|
||||
#include "transfer.h"
|
||||
#include "usb_ch9.h"
|
||||
#include "USB.h"
|
||||
|
||||
/* USB constants */
|
||||
/* time in milliseconds */
|
||||
#define USB_SETTLE_TIME 200 //USB settle after reset
|
||||
#define USB_XFER_TIMEOUT 5000 //USB transfer timeout
|
||||
|
||||
#define USB_NAK_LIMIT 2
|
||||
#define USB_RETRY_LIMIT 3
|
||||
|
||||
#endif // _project_config_h
|
||||
@@ -1,475 +0,0 @@
|
||||
|
||||
/* USB transfers */
|
||||
#define _transfer_c_
|
||||
|
||||
#include "project_config.h"
|
||||
#include <stdio.h>
|
||||
|
||||
EP_RECORD dev0ep = {{ 0 }}; //Endpoint data structure for uninitialized device during enumeration
|
||||
EP_RECORD msd_ep[ 3 ] = {{ 0 }}; //Mass storage bulk-only transport endpoints: 1 control and 2 bulk, IN and OUT
|
||||
//ep records for other classes are defined in class-specific modules
|
||||
|
||||
/* macros to aid filling in TPL */
|
||||
#define INIT_VID_PID(v,p) 0x##p##v
|
||||
#define INIT_CL_SC_P(c,s,p) 0x##00##p##s##c
|
||||
|
||||
//const rom USB_TPL_ENTRY TplTable[ USB_NUMTARGETS + 1 ] = {
|
||||
//// VID & PID or Client
|
||||
//// Class, Subclass & Protocol Config Numep Eprecord Driver
|
||||
//{ INIT_VID_PID( 0000, 0000 ), 0, 1, &dev0ep, 0, "Uninitialized" },
|
||||
//{ INIT_VID_PID( 0781, 5406 ), 0, 3, msd_ep, MSD_DRIVER, "Mass storage" }, //Sandisk U3 Cruzer Micro
|
||||
////{ INIT_VID_PID( 0CF2, 6220 ), 0, 0 }, //ENE UB6220
|
||||
//{ INIT_CL_SC_P( 03, 01, 02 ), 0, 3, hid_ep, HIDM_DRIVER, "HID Mouse with Boot protocol" }, //
|
||||
//{ INIT_VID_PID( aaaa, 5555 ), 0, 1, NULL, 0, NULL }, //
|
||||
//{ INIT_CL_SC_P( 08, 06, 50 ), 0, 3, msd_ep, MSD_DRIVER, "Mass storage" } //Mass storage bulk only class
|
||||
//};
|
||||
|
||||
/* control transfers function pointers */
|
||||
const CTRL_XFER ctrl_xfers[ 2 ] = {
|
||||
XferCtrlND,
|
||||
XferCtrlData
|
||||
};
|
||||
|
||||
/* device table. Filled during enumeration */
|
||||
/* index corresponds to device address */
|
||||
/* each entry contains pointer to endpoint structure */
|
||||
/* and device class to use in various places */
|
||||
DEV_RECORD devtable[ USB_NUMDEVICES + 1 ];
|
||||
|
||||
/* Client Driver Function Pointer Table */
|
||||
CLASS_CALLBACK_TABLE ClientDriverTable[ USB_NUMCLASSES ] = {
|
||||
{
|
||||
MSDProbe, //Mass storage class device init
|
||||
MSDEventHandler,
|
||||
0
|
||||
},
|
||||
{
|
||||
HIDMProbe, //HID class device init
|
||||
HIDMEventHandler,
|
||||
0
|
||||
},
|
||||
{
|
||||
HIDKProbe,
|
||||
HIDKEventHandler,
|
||||
0
|
||||
},
|
||||
{
|
||||
DummyProbe,
|
||||
DummyEventHandler,
|
||||
0
|
||||
}
|
||||
};
|
||||
/* Control transfer stages function pointer table */
|
||||
|
||||
|
||||
/* USB state machine related variables */
|
||||
|
||||
BYTE usb_task_state = USB_DETACHED_SUBSTATE_INITIALIZE;
|
||||
BYTE usb_error;
|
||||
BYTE last_usb_task_state = 0;
|
||||
|
||||
/* Control transfer. Sets address, endpoint, fills control packet with necessary data, dispatches control packet, and initiates bulk IN transfer, */
|
||||
/* depending on request. Actual requests are defined as macros */
|
||||
/* return codes: */
|
||||
/* 00 = success */
|
||||
/* 01-0f = non-zero HRSLT */
|
||||
BYTE XferCtrlReq( BYTE addr, BYTE ep, BYTE bmReqType, BYTE bRequest, BYTE wValLo, BYTE wValHi, WORD wInd, WORD nbytes, BYTE* dataptr )
|
||||
{
|
||||
BOOL direction = FALSE; //request direction, IN or OUT
|
||||
BYTE datastage = 1; //request data stage present or absent
|
||||
BYTE rcode;
|
||||
SETUP_PKT setup_pkt;
|
||||
if( dataptr == NULL ) {
|
||||
datastage = 0;
|
||||
}
|
||||
MAXreg_wr( rPERADDR, addr ); //set peripheral address
|
||||
/* fill in setup packet */
|
||||
if( bmReqType & 0x80 ) {
|
||||
direction = TRUE; //determine request direction
|
||||
}
|
||||
/* fill in setup packet */
|
||||
setup_pkt.ReqType_u.bmRequestType = bmReqType;
|
||||
setup_pkt.bRequest = bRequest;
|
||||
setup_pkt.wVal_u.wValueLo = wValLo;
|
||||
setup_pkt.wVal_u.wValueHi = wValHi;
|
||||
setup_pkt.wIndex = wInd;
|
||||
setup_pkt.wLength = nbytes;
|
||||
MAXbytes_wr( rSUDFIFO, 8, (BYTE *)&setup_pkt ); //transfer to setup packet FIFO
|
||||
rcode = XferDispatchPkt( tokSETUP, ep ); //dispatch packet
|
||||
if( rcode ) { //return HRSLT if not zero
|
||||
return( rcode );
|
||||
}
|
||||
rcode = ctrl_xfers[ datastage ]( addr, ep, nbytes, dataptr, direction ); //call data stage or no data stage transfer
|
||||
return( rcode );
|
||||
}
|
||||
/* Control transfer with data stage */
|
||||
BYTE XferCtrlData( BYTE addr, BYTE ep, WORD nbytes, BYTE* dataptr, BOOL direction )
|
||||
{
|
||||
BYTE rcode;
|
||||
|
||||
//MAXreg_wr( rHCTL, bmRCVTOG1 ); //set toggle to DATA1
|
||||
if( direction ) { //IN transfer
|
||||
devtable[ addr ].epinfo[ ep ].rcvToggle = bmRCVTOG1;
|
||||
rcode = XferInTransfer( addr, ep, nbytes, dataptr, devtable[ addr ].epinfo[ ep ].MaxPktSize );
|
||||
if( rcode ) {
|
||||
return( rcode );
|
||||
}
|
||||
rcode = XferDispatchPkt( tokOUTHS, ep );
|
||||
return( rcode );
|
||||
}
|
||||
else { //OUT not implemented
|
||||
return( 0xff );
|
||||
}
|
||||
}
|
||||
/* Control transfer with status stage and no data stage */
|
||||
BYTE XferCtrlND( BYTE addr, BYTE ep, WORD nbytes, BYTE* dataptr, BOOL direction )
|
||||
{
|
||||
BYTE rcode;
|
||||
|
||||
(void) addr;
|
||||
(void) nbytes;
|
||||
(void) dataptr;
|
||||
|
||||
if( direction ) { //GET
|
||||
rcode = XferDispatchPkt( tokOUTHS, ep );
|
||||
}
|
||||
else {
|
||||
rcode = XferDispatchPkt( tokINHS, ep );
|
||||
}
|
||||
return( rcode );
|
||||
}
|
||||
/* Dispatch a packet. Assumes peripheral address is set and, if necessary, sudFIFO-sendFIFO loaded. */
|
||||
/* Result code: 0 success, nonzero = error condition */
|
||||
/* If NAK, tries to re-send up to USB_NAK_LIMIT times */
|
||||
/* If bus timeout, re-sends up to USB_RETRY_LIMIT times */
|
||||
/* return codes 0x00-0x0f are HRSLT( 0x00 being success ), 0xff means timeout */
|
||||
BYTE XferDispatchPkt( BYTE token, BYTE ep )
|
||||
{
|
||||
DWORD timeout = 0;//(alt_nticks()*1000)/alt_ticks_per_second() + USB_XFER_TIMEOUT;
|
||||
BYTE tmpdata;
|
||||
BYTE rcode;
|
||||
char retry_count = 0;
|
||||
BYTE nak_count = 0;
|
||||
|
||||
while( 1 ) {
|
||||
MAXreg_wr( rHXFR, ( token|ep )); //launch the transfer
|
||||
rcode = 0xff;
|
||||
/*
|
||||
while( (alt_nticks()*1000)/alt_ticks_per_second() < timeout ) {
|
||||
tmpdata = MAXreg_rd( rHIRQ );
|
||||
if( tmpdata & bmHXFRDNIRQ ) {
|
||||
MAXreg_wr( rHIRQ, bmHXFRDNIRQ ); //clear the interrupt
|
||||
rcode = 0x00;
|
||||
break;
|
||||
}
|
||||
}
|
||||
*/
|
||||
if( rcode != 0x00 ) { //exit if timeout
|
||||
return( rcode );
|
||||
}
|
||||
rcode = ( MAXreg_rd( rHRSL ) & 0x0f );
|
||||
if( rcode == hrNAK ) {
|
||||
nak_count++;
|
||||
if( nak_count == USB_NAK_LIMIT ) {
|
||||
break;
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if( rcode == hrTIMEOUT ) {
|
||||
retry_count++;
|
||||
if( retry_count == USB_RETRY_LIMIT ) {
|
||||
break;
|
||||
}
|
||||
else {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
else break;
|
||||
}//while( 1 )
|
||||
return( rcode );
|
||||
}
|
||||
/* IN transfer to arbitrary endpoint. Assumes PERADDR is set. Handles multiple packets if necessary. Transfers 'nbytes' bytes.
|
||||
Keep sending INs and writes data to memory area pointed by 'data' */
|
||||
/* rcode 0 if no errors. rcode 01-0f is relayed from prvXferDispatchPkt(). Rcode f0 means RCVDAVIRQ error,
|
||||
fe USB xfer timeout */
|
||||
BYTE XferInTransfer( BYTE addr/* not sure if it's necessary */, BYTE ep, WORD nbytes, BYTE* data, BYTE maxpktsize )
|
||||
{
|
||||
BYTE rcode;
|
||||
//BYTE i;
|
||||
//BYTE tmpbyte;
|
||||
BYTE pktsize;
|
||||
WORD xfrlen = 0;
|
||||
MAXreg_wr( rHCTL, devtable[ addr ].epinfo[ ep ].rcvToggle ); //set toggle value
|
||||
while( 1 ) { // use a 'return' to exit this loop
|
||||
rcode = XferDispatchPkt( tokIN, ep ); //IN packet to EP-'endpoint'. Function takes care of NAKS.
|
||||
if( rcode ) {
|
||||
return( rcode ); //should be 0, indicating ACK. Else return error code.
|
||||
}
|
||||
/* check for RCVDAVIRQ and generate error if not present */
|
||||
/* the only case when absence of RCVDAVIRQ makes sense is when toggle error occurred. Need to add handling for that */
|
||||
if(( MAXreg_rd( rHIRQ ) & bmRCVDAVIRQ ) == 0 ) {
|
||||
return ( 0xf0 ); //receive error
|
||||
}
|
||||
pktsize = MAXreg_rd( rRCVBC ); //number of received bytes
|
||||
//printf ("pktsize: %d\n", pktsize);
|
||||
data = MAXbytes_rd( rRCVFIFO, pktsize, data );
|
||||
MAXreg_wr( rHIRQ, bmRCVDAVIRQ ); // Clear the IRQ & free the buffer
|
||||
xfrlen += pktsize; // add this packet's byte count to total transfer length
|
||||
/* The transfer is complete under two conditions: */
|
||||
/* 1. The device sent a short packet (L.T. maxPacketSize) */
|
||||
/* 2. 'nbytes' have been transferred. */
|
||||
if (( pktsize < maxpktsize ) || (xfrlen >= nbytes )) { // have we transferred 'nbytes' bytes?
|
||||
if( MAXreg_rd( rHRSL ) & bmRCVTOGRD ) { //save toggle value
|
||||
devtable[ addr ].epinfo[ ep ].rcvToggle = bmRCVTOG1;
|
||||
}
|
||||
else {
|
||||
devtable[ addr ].epinfo[ ep ].rcvToggle = bmRCVTOG0;
|
||||
}
|
||||
return( 0 );
|
||||
}
|
||||
}//while( 1 )
|
||||
}
|
||||
/* initialization of USB data structures */
|
||||
void USB_init( void )
|
||||
{
|
||||
BYTE i;
|
||||
for( i = 0; i < ( USB_NUMDEVICES + 1 ); i++ ) {
|
||||
devtable[ i ].epinfo = NULL; //clear device table
|
||||
devtable[ i ].devclass = 0;
|
||||
}
|
||||
devtable[ 0 ].epinfo = &dev0ep; //set single ep for uninitialized device
|
||||
dev0ep.MaxPktSize = 0;
|
||||
dev0ep.sndToggle = bmSNDTOG0; //set DATA0/1 toggles to 0
|
||||
dev0ep.rcvToggle = bmRCVTOG0;
|
||||
}
|
||||
|
||||
|
||||
USB_DEVICE_DESCRIPTOR buf = {0};
|
||||
USB_STRING_DESCRIPTOR strDesc = {0};
|
||||
|
||||
/* USB state machine. Connect/disconnect, enumeration, initialization */
|
||||
/* error codes: 01-0f HRSLT */
|
||||
/* ff - unsupported device */
|
||||
/* fe - no address available */
|
||||
/* fd - no client driver available */
|
||||
void USB_Task( void )
|
||||
{
|
||||
static DWORD usb_delay = 0;
|
||||
static BYTE tmp_addr;
|
||||
|
||||
BYTE rcode, tmpdata;
|
||||
BYTE i;
|
||||
|
||||
switch( usb_task_state & USB_STATE_MASK ) {
|
||||
/* Detached state - when nothing is connected to ( or just disconnected from) USB bus */
|
||||
case( USB_STATE_DETACHED ):
|
||||
switch( usb_task_state ) {
|
||||
case( USB_DETACHED_SUBSTATE_INITIALIZE ):
|
||||
/* cleanup device data structures */
|
||||
USB_init();
|
||||
usb_task_state = USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE;
|
||||
break;
|
||||
case( USB_DETACHED_SUBSTATE_WAIT_FOR_DEVICE ):
|
||||
/* Do nothing */
|
||||
MAXreg_wr(rHCTL,bmSAMPLEBUS);
|
||||
break;
|
||||
case( USB_DETACHED_SUBSTATE_ILLEGAL ):
|
||||
/* don't know what to do yet */
|
||||
break;
|
||||
}//switch( usb_task_state )
|
||||
break;//( USB_STATE_DETACHED ):
|
||||
/**/
|
||||
case( USB_STATE_ATTACHED ): //prepare for enumeration
|
||||
switch( usb_task_state ) {
|
||||
case( USB_STATE_ATTACHED ):
|
||||
//TODO
|
||||
//usb_delay = (alt_nticks()*1000)/alt_ticks_per_second() + 200; //initial settle 200ms
|
||||
usb_delay = 0;
|
||||
usb_task_state = USB_ATTACHED_SUBSTATE_SETTLE;
|
||||
break;//case( USB_STATE_ATTACHED )
|
||||
case( USB_ATTACHED_SUBSTATE_SETTLE ): //waiting for settle timer to expire
|
||||
//TODO
|
||||
/*
|
||||
if( (alt_nticks()*1000)/alt_ticks_per_second() > usb_delay ) {
|
||||
usb_task_state = USB_ATTACHED_SUBSTATE_RESET_DEVICE;
|
||||
}
|
||||
*/
|
||||
break;//case( USB_ATTACHED_SUBSTATE_SETTLE )
|
||||
case( USB_ATTACHED_SUBSTATE_RESET_DEVICE ):
|
||||
MAXreg_wr( rHIRQ, bmBUSEVENTIRQ ); //clear bus event IRQ
|
||||
MAXreg_wr( rHCTL, bmBUSRST ); //issue bus reset
|
||||
usb_task_state = USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE;
|
||||
break;//case( USB_ATTACHED_SUBSTATE_RESET_DEVICE )
|
||||
case( USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE ): //wait for bus reset and first SOF
|
||||
if(( MAXreg_rd( rHCTL ) & bmBUSRST ) == 0 ) {
|
||||
tmpdata = MAXreg_rd( rMODE ) | bmSOFKAENAB; //start SOF generation
|
||||
MAXreg_wr( rMODE, tmpdata );
|
||||
usb_task_state = USB_ATTACHED_SUBSTATE_WAIT_SOF;
|
||||
}
|
||||
break;//case( USB_ATTACHED_SUBSTATE_WAIT_RESET_COMPLETE )
|
||||
case( USB_ATTACHED_SUBSTATE_WAIT_SOF ):
|
||||
if( MAXreg_rd( rHIRQ ) | bmFRAMEIRQ ) { //when first SOF received we can continue
|
||||
usb_task_state = USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE;
|
||||
}
|
||||
break;//case( USB_ATTACHED_SUBSTATE_WAIT_SOF )
|
||||
case( USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE ): //send request for first 8 bytes of device descriptor
|
||||
devtable[ 0 ].epinfo->MaxPktSize = 0x0008; //fill max packet size with minimum allowed
|
||||
rcode = XferGetDevDescr( 0, 0, 8, (BYTE *)&buf ); //get device descriptor size
|
||||
if( rcode == 0 ) {
|
||||
devtable[ 0 ].epinfo->MaxPktSize = buf.bMaxPacketSize0;
|
||||
|
||||
rcode = XferGetDevDescr( 0, 0, buf.bLength, (BYTE *)&buf ); //get full descriptor
|
||||
//pull the string descriptor for the product if it exists
|
||||
//hackish, store this somewhere
|
||||
if (buf.iManufacturer != 0)
|
||||
{
|
||||
rcode = XferGetStrDescr( 0, 0, 2, buf.iManufacturer, LANG_EN_US, (BYTE *)&strDesc);
|
||||
rcode = XferGetStrDescr( 0, 0, strDesc.bLength, buf.iManufacturer, LANG_EN_US, (BYTE *)&strDesc);
|
||||
//printf ("Mfgr string(%i): %s\n", buf.iManufacturer, ConvUTF8ToStr(strDesc.bString, (strDesc.bLength>>1)-1));
|
||||
}
|
||||
if (buf.iProduct != 0)
|
||||
{
|
||||
rcode = XferGetStrDescr( 0, 0, 2, buf.iProduct, LANG_EN_US, (BYTE *)&strDesc);
|
||||
rcode = XferGetStrDescr( 0, 0, strDesc.bLength, buf.iProduct, LANG_EN_US, (BYTE *)&strDesc);
|
||||
//printf ("Product string(%i): %s\n", buf.iProduct, ConvUTF8ToStr(strDesc.bString, (strDesc.bLength>>1)-1));
|
||||
}
|
||||
usb_task_state = USB_STATE_ADDRESSING;
|
||||
|
||||
}
|
||||
else {
|
||||
usb_error = rcode;
|
||||
last_usb_task_state = usb_task_state;
|
||||
usb_task_state = USB_STATE_ERROR;
|
||||
}
|
||||
break;//case( USB_ATTACHED_SUBSTATE_GET_DEVICE_DESCRIPTOR_SIZE ):
|
||||
}//switch( usb_task_state )
|
||||
break;//case ( USB_STATE_ATTACHED )
|
||||
case( USB_STATE_ADDRESSING ): //give device an address
|
||||
for( i = 1; i < USB_NUMDEVICES; i++ ) {
|
||||
if( devtable[ i ].epinfo == NULL ) {
|
||||
devtable[ i ].epinfo = devtable[ 0 ].epinfo; //set correct MaxPktSize
|
||||
//devtable[ i ].epinfo->MaxPktSize = devtable[ 0 ].epinfo->MaxPktSize; //copy uninitialized device record to have correct MaxPktSize
|
||||
rcode = XferSetAddr( 0, 0, i );
|
||||
if( rcode == 0 ) {
|
||||
tmp_addr = i;
|
||||
usb_task_state = USB_STATE_CONFIGURING;
|
||||
}
|
||||
else {
|
||||
usb_error = rcode; //set address error
|
||||
last_usb_task_state = usb_task_state;
|
||||
usb_task_state = USB_STATE_ERROR;
|
||||
}
|
||||
break; //break if address assigned or error occurred during address assignment attempt
|
||||
}
|
||||
}
|
||||
if( usb_task_state == USB_STATE_ADDRESSING ) {
|
||||
usb_error = 0xfe;
|
||||
last_usb_task_state = usb_task_state;
|
||||
usb_task_state = USB_STATE_ERROR;
|
||||
}
|
||||
break;//case ( USB_STATE_ADDRESSING )
|
||||
case( USB_STATE_CONFIGURING ): //checking for driver
|
||||
//run device class probes until one returns TRUE
|
||||
for( i = 0; i < USB_NUMCLASSES; i++ ) {
|
||||
rcode = ClientDriverTable[ i ].Initialize( tmp_addr, 0 );
|
||||
if( rcode == TRUE ) {
|
||||
usb_task_state = USB_STATE_RUNNING;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if( usb_task_state == USB_STATE_CONFIGURING ) {
|
||||
usb_error = 0xfd;
|
||||
last_usb_task_state = usb_task_state;
|
||||
usb_task_state = USB_STATE_ERROR;
|
||||
}
|
||||
break;//( USB_STATE_CONFIGURING )
|
||||
case( USB_STATE_RUNNING ):
|
||||
//vTaskDelay( LED_RATE );
|
||||
break;//( USB_STATE_RUNNING )
|
||||
case( USB_STATE_ERROR ):
|
||||
//vTaskDelay( LED_RATE ); //stay here if error
|
||||
break;//( USB_STATE_ERROR )
|
||||
default:
|
||||
//Should never get here
|
||||
break;
|
||||
}//switch( usb_task_state & STATE_MASK )
|
||||
}
|
||||
|
||||
//place-holders for MSD (mass-storage device) drivers, we don't have them ported.
|
||||
//returns TRUE if device is successfully identified and configured, otherwise returns FALSE
|
||||
BOOL MSDProbe( BYTE addr, DWORD flags )
|
||||
{
|
||||
(void) addr;
|
||||
(void) flags;
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
BOOL MSDEventHandler( BYTE address, BYTE event, void *data, DWORD size )
|
||||
{
|
||||
(void) address;
|
||||
(void) event;
|
||||
(void) data;
|
||||
(void) size;
|
||||
return( FALSE );
|
||||
|
||||
}
|
||||
//CDC (communication device class also not supported)
|
||||
BOOL CDCProbe( BYTE address, DWORD flags )
|
||||
{
|
||||
(void) address;
|
||||
(void) flags;
|
||||
|
||||
return( FALSE );
|
||||
|
||||
}
|
||||
|
||||
BOOL CDCEventHandler( BYTE address, BYTE event, void *data, DWORD size )
|
||||
{
|
||||
(void) address;
|
||||
(void) event;
|
||||
(void) data;
|
||||
(void) size;
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
BOOL DummyProbe( BYTE address , DWORD flags )
|
||||
{
|
||||
(void) address;
|
||||
(void) flags;
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
|
||||
BOOL DummyEventHandler( BYTE address, BYTE event, void *data, DWORD size )
|
||||
{
|
||||
(void) address;
|
||||
(void) event;
|
||||
(void) data;
|
||||
(void) size;
|
||||
|
||||
return( FALSE );
|
||||
}
|
||||
/* Function to access usb_task_state variable from outside */
|
||||
BYTE GetUsbTaskState( void )
|
||||
{
|
||||
return( usb_task_state );
|
||||
}
|
||||
/* Function to access devtable[] from outside */
|
||||
DEV_RECORD* GetDevtable( BYTE index )
|
||||
{
|
||||
return( &devtable[ index ] );
|
||||
}
|
||||
|
||||
char* ConvUTF8ToStr(BYTE* utf8, BYTE length)
|
||||
{
|
||||
BYTE i;
|
||||
for (i = 0; i < length; i++)
|
||||
{
|
||||
utf8[i] = utf8[2*i];
|
||||
}
|
||||
utf8[length] = 0x00;
|
||||
return (char*)utf8;
|
||||
}
|
||||
@@ -1,253 +0,0 @@
|
||||
/* USB transfers support header */
|
||||
|
||||
#ifndef _transfer_h_
|
||||
#define _transfer_h_
|
||||
|
||||
/* Targeted peripheral list table */
|
||||
#define USB_NUMTARGETS 4 //number of targets in TPL, not counting uninitialized device
|
||||
#define USB_NUMDEVICES 8 //number of supported devices
|
||||
#define USB_NUMCLASSES 5 //number of device classes in class callback table
|
||||
#define UNINIT 0 //uninitialized
|
||||
#define HID_K 1 //HID Keyboard boot driver number in DEV_RECORD
|
||||
#define HID_M 2 //HID Mouse boot driver number in DEV_RECORD
|
||||
#define MSD 3 //Mass storage class driver number in DEV_RECORD
|
||||
#define RAPHNET 4
|
||||
|
||||
/* Standard Device Requests */
|
||||
|
||||
#define USB_REQUEST_GET_STATUS 0 // Standard Device Request - GET STATUS
|
||||
#define USB_REQUEST_CLEAR_FEATURE 1 // Standard Device Request - CLEAR FEATURE
|
||||
#define USB_REQUEST_SET_FEATURE 3 // Standard Device Request - SET FEATURE
|
||||
#define USB_REQUEST_SET_ADDRESS 5 // Standard Device Request - SET ADDRESS
|
||||
#define USB_REQUEST_GET_DESCRIPTOR 6 // Standard Device Request - GET DESCRIPTOR
|
||||
#define USB_REQUEST_SET_DESCRIPTOR 7 // Standard Device Request - SET DESCRIPTOR
|
||||
#define USB_REQUEST_GET_CONFIGURATION 8 // Standard Device Request - GET CONFIGURATION
|
||||
#define USB_REQUEST_SET_CONFIGURATION 9 // Standard Device Request - SET CONFIGURATION
|
||||
#define USB_REQUEST_GET_INTERFACE 10 // Standard Device Request - GET INTERFACE
|
||||
#define USB_REQUEST_SET_INTERFACE 11 // Standard Device Request - SET INTERFACE
|
||||
#define USB_REQUEST_SYNCH_FRAME 12 // Standard Device Request - SYNCH FRAME
|
||||
|
||||
#define USB_FEATURE_ENDPOINT_HALT 0 // CLEAR/SET FEATURE - Endpoint Halt
|
||||
#define USB_FEATURE_DEVICE_REMOTE_WAKEUP 1 // CLEAR/SET FEATURE - Device remote wake-up
|
||||
#define USB_FEATURE_TEST_MODE 2 // CLEAR/SET FEATURE - Test mode
|
||||
|
||||
/* Setup Data Constants */
|
||||
|
||||
#define USB_SETUP_HOST_TO_DEVICE 0x00 // Device Request bmRequestType transfer direction - host to device transfer
|
||||
#define USB_SETUP_DEVICE_TO_HOST 0x80 // Device Request bmRequestType transfer direction - device to host transfer
|
||||
#define USB_SETUP_TYPE_STANDARD 0x00 // Device Request bmRequestType type - standard
|
||||
#define USB_SETUP_TYPE_CLASS 0x20 // Device Request bmRequestType type - class
|
||||
#define USB_SETUP_TYPE_VENDOR 0x40 // Device Request bmRequestType type - vendor
|
||||
#define USB_SETUP_RECIPIENT_DEVICE 0x00 // Device Request bmRequestType recipient - device
|
||||
#define USB_SETUP_RECIPIENT_INTERFACE 0x01 // Device Request bmRequestType recipient - interface
|
||||
#define USB_SETUP_RECIPIENT_ENDPOINT 0x02 // Device Request bmRequestType recipient - endpoint
|
||||
#define USB_SETUP_RECIPIENT_OTHER 0x03 // Device Request bmRequestType recipient - other
|
||||
|
||||
/* USB descriptors */
|
||||
|
||||
#define USB_DESCRIPTOR_DEVICE 0x01 // bDescriptorType for a Device Descriptor.
|
||||
#define USB_DESCRIPTOR_CONFIGURATION 0x02 // bDescriptorType for a Configuration Descriptor.
|
||||
#define USB_DESCRIPTOR_STRING 0x03 // bDescriptorType for a String Descriptor.
|
||||
#define USB_DESCRIPTOR_INTERFACE 0x04 // bDescriptorType for an Interface Descriptor.
|
||||
#define USB_DESCRIPTOR_ENDPOINT 0x05 // bDescriptorType for an Endpoint Descriptor.
|
||||
#define USB_DESCRIPTOR_DEVICE_QUALIFIER 0x06 // bDescriptorType for a Device Qualifier.
|
||||
#define USB_DESCRIPTOR_OTHER_SPEED 0x07 // bDescriptorType for a Other Speed Configuration.
|
||||
#define USB_DESCRIPTOR_INTERFACE_POWER 0x08 // bDescriptorType for Interface Power.
|
||||
#define USB_DESCRIPTOR_OTG 0x09 // bDescriptorType for an OTG Descriptor.
|
||||
|
||||
/* OTG SET FEATURE Constants */
|
||||
#define OTG_FEATURE_B_HNP_ENABLE 3 // SET FEATURE OTG - Enable B device to perform HNP
|
||||
#define OTG_FEATURE_A_HNP_SUPPORT 4 // SET FEATURE OTG - A device supports HNP
|
||||
#define OTG_FEATURE_A_ALT_HNP_SUPPORT 5 // SET FEATURE OTG - Another port on the A device supports HNP
|
||||
|
||||
/* USB Endpoint Transfer Types */
|
||||
#define USB_TRANSFER_TYPE_CONTROL 0x00 // Endpoint is a control endpoint.
|
||||
#define USB_TRANSFER_TYPE_ISOCHRONOUS 0x01 // Endpoint is an isochronous endpoint.
|
||||
#define USB_TRANSFER_TYPE_BULK 0x02 // Endpoint is a bulk endpoint.
|
||||
#define USB_TRANSFER_TYPE_INTERRUPT 0x03 // Endpoint is an interrupt endpoint.
|
||||
#define bmUSB_TRANSFER_TYPE 0x03 // bit mask to separate transfer type from ISO attributes
|
||||
|
||||
/* Standard Feature Selectors for CLEAR_FEATURE Requests */
|
||||
#define USB_FEATURE_ENDPOINT_STALL 0 // Endpoint recipient
|
||||
#define USB_FEATURE_DEVICE_REMOTE_WAKEUP 1 // Device recipient
|
||||
#define USB_FEATURE_TEST_MODE 2 // Device recipient
|
||||
|
||||
/* MSD class requests. Not part of chapter 9 */
|
||||
#define USB_MSD_GET_MAX_LUN 0xFE // Device Request code to get the maximum LUN.
|
||||
#define USB_MSD_RESET 0xFF // Device Request code to reset the device.
|
||||
|
||||
/* HID constants. Not part of chapter 9 */
|
||||
/* Class-Specific Requests */
|
||||
#define HID_REQUEST_GET_REPORT 0x01
|
||||
#define HID_REQUEST_GET_IDLE 0x02
|
||||
#define HID_REQUEST_GET_PROTOCOL 0x03
|
||||
#define HID_REQUEST_SET_REPORT 0x09
|
||||
#define HID_REQUEST_SET_IDLE 0x0A
|
||||
#define HID_REQUEST_SET_PROTOCOL 0x0B
|
||||
|
||||
/* Class Descriptor Types */
|
||||
#define HID_DESCRIPTOR_HID 0x21
|
||||
#define HID_DESCRIPTOR_REPORT 0x22
|
||||
#define HID_DESRIPTOR_PHY 0x23
|
||||
|
||||
/* Protocol Selection */
|
||||
#define BOOT_PROTOCOL 0x00
|
||||
#define RPT_PROTOCOL 0x01
|
||||
/* HID Interface Class Code */
|
||||
#define HID_INTF 0x03
|
||||
/* HID Interface Class SubClass Codes */
|
||||
#define BOOT_INTF_SUBCLASS 0x01
|
||||
/* HID Interface Class Protocol Codes */
|
||||
#define HID_PROTOCOL_NONE 0x00
|
||||
#define HID_PROTOCOL_KEYBOARD 0x01
|
||||
#define HID_PROTOCOL_MOUSE 0x02
|
||||
|
||||
/* USB Setup Packet Structure */
|
||||
typedef struct {
|
||||
union { // offset description
|
||||
BYTE bmRequestType; // 0 Bit-map of request type
|
||||
struct {
|
||||
unsigned int recipient :5; // Recipient of the request
|
||||
unsigned int type :2; // Type of request
|
||||
unsigned int direction :1; // Direction of data X-fer
|
||||
};
|
||||
} ReqType_u;
|
||||
BYTE bRequest; // 1 Request
|
||||
union {
|
||||
WORD wValue; // 2 Depends on bRequest
|
||||
struct {
|
||||
BYTE wValueLo;
|
||||
BYTE wValueHi;
|
||||
};
|
||||
} wVal_u;
|
||||
WORD wIndex; // 4 Depends on bRequest
|
||||
WORD wLength; // 6 Depends on bRequest
|
||||
} SETUP_PKT, *PSETUP_PKT;
|
||||
|
||||
/* Endpoint information structure */
|
||||
/* bToggle of endpoint 0 initialized to 0xff */
|
||||
/* during enumeration bToggle is set to 00 */
|
||||
typedef struct {
|
||||
BYTE epAddr; //copy from endpoint descriptor. Bit 7 indicates direction ( ignored for control endpoints )
|
||||
BYTE Attr; // Endpoint transfer type.
|
||||
WORD MaxPktSize; // Maximum packet size.
|
||||
BYTE Interval; // Polling interval in frames.
|
||||
BYTE sndToggle; //last toggle value, bitmask for HCTL toggle bits
|
||||
BYTE rcvToggle; //last toggle value, bitmask for HCTL toggle bits
|
||||
/* not sure if both are necessary */
|
||||
} EP_RECORD;
|
||||
/* device record structure */
|
||||
typedef struct {
|
||||
EP_RECORD* epinfo; //device endpoint information
|
||||
BYTE devclass; //device class
|
||||
} DEV_RECORD;
|
||||
|
||||
//targeted peripheral list element
|
||||
//NOTE: this is currently not implemented - typically an embedded host will provide a TPL
|
||||
//to enumerate supported devices.
|
||||
typedef struct {
|
||||
union {
|
||||
DWORD val;
|
||||
struct {
|
||||
WORD idVendor;
|
||||
WORD idProduct;
|
||||
};
|
||||
struct {
|
||||
BYTE bClass;
|
||||
BYTE bSubClass;
|
||||
BYTE bProtocol;
|
||||
};
|
||||
} dev_u;
|
||||
BYTE bConfig; //configuration
|
||||
BYTE numep; //number of endpoints
|
||||
EP_RECORD* epinfo; //endpoint information structure
|
||||
BYTE CltDrv; //client driver
|
||||
const char * desc; //device description
|
||||
} USB_TPL_ENTRY;
|
||||
/* control transfer */
|
||||
typedef BYTE (*CTRL_XFER)(BYTE addr, BYTE ep, WORD nbytes, BYTE* dataptr,
|
||||
BOOL direction);
|
||||
/* class driver initialization */
|
||||
typedef BOOL (*CLASS_INIT)(BYTE address, DWORD flags);
|
||||
/* class driver event handler */
|
||||
typedef BOOL (*CLASS_EVENT_HANDLER)(BYTE address, BYTE event, void *data,
|
||||
DWORD size);
|
||||
/* Client Driver Table Structure */
|
||||
typedef struct {
|
||||
CLASS_INIT Initialize; // Initialization routine
|
||||
CLASS_EVENT_HANDLER EventHandler; // Event routine
|
||||
DWORD flags; // Initialization flags
|
||||
} CLASS_CALLBACK_TABLE;
|
||||
|
||||
/* Common setup data constant combinations */
|
||||
#define bmREQ_GET_DESCR USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE //get descriptor request type
|
||||
#define bmREQ_SET USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_DEVICE //set request type for all but 'set feature' and 'set interface'
|
||||
#define bmREQ_CL_GET_INTF USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE //get interface request type
|
||||
|
||||
#define bmREQ_HIDOUT USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
|
||||
#define bmREQ_HIDIN USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
|
||||
|
||||
/* Function macros */
|
||||
|
||||
//char XferCtrlReq( BYTE addr, BYTE ep, BYTE bmReqType, BYTE bRequest, BYTE wValLo, BYTE wValHi, WORD wInd, WORD nbytes, char* dataptr )
|
||||
/* Set address request macro. Human-readable form of bXferCtrlReq */
|
||||
/* won't necessarily work for device in 'Configured' state */
|
||||
#define XferSetAddr( oldaddr, ep, newaddr ) \
|
||||
XferCtrlReq( oldaddr, ep, bmREQ_SET, USB_REQUEST_SET_ADDRESS, newaddr, 0x00, 0x0000, 0x0000, NULL )
|
||||
/* Set Configuration Request */
|
||||
#define XferSetConf( addr, ep, conf_value ) \
|
||||
XferCtrlReq( addr, ep, bmREQ_SET, USB_REQUEST_SET_CONFIGURATION, conf_value, 0x00, 0x0000, 0x0000, NULL )
|
||||
///* Get configuration request */
|
||||
//#define bXferGetConf( addr, ep, urb_ptr ) bXferCtrlReq( addr, ep, 1, ( bmREQ_GET_DESCR ), USB_REQUEST_GET_CONFIGURATION, 0x00, 0x00, 0x00, urb_ptr );
|
||||
/* Get device descriptor request macro */
|
||||
#define XferGetDevDescr( addr, ep, nbytes, dataptr ) \
|
||||
XferCtrlReq( addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, 0x00, USB_DESCRIPTOR_DEVICE, 0x0000, nbytes, dataptr )
|
||||
///* Get configuration descriptor request macro */
|
||||
#define XferGetConfDescr( addr, ep, nbytes, conf, dataptr ) \
|
||||
XferCtrlReq( addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, conf, USB_DESCRIPTOR_CONFIGURATION, 0x0000, nbytes, dataptr )
|
||||
///* Get string descriptor request macro */
|
||||
#define XferGetStrDescr( addr, ep, nbytes, index, langid, dataptr ) \
|
||||
XferCtrlReq( addr, ep, bmREQ_GET_DESCR, USB_REQUEST_GET_DESCRIPTOR, index, USB_DESCRIPTOR_STRING, langid, nbytes, dataptr )
|
||||
///* Get MAX LUN MSD class request macro */
|
||||
//#define bXferGetMaxLUN( addr, intf, urb_ptr ) bXferCtrlReq( addr, 0, 1, ( bmREQ_CL_GET_INTF ), USB_MSD_GET_MAX_LUN, 0, 0, intf, urb_ptr )
|
||||
#define XferGetHIDDescr(addr, ep, desc, nbytes, dataptr) \
|
||||
XferCtrlReq(addr, ep, bmREQ_HIDIN, USB_REQUEST_GET_DESCRIPTOR, desc, HID_DESCRIPTOR_REPORT, 0x000, nbytes, dataptr)
|
||||
/* class requests */
|
||||
#define XferSetProto( addr, ep, interface, protocol ) \
|
||||
XferCtrlReq( addr, ep, bmREQ_HIDOUT, HID_REQUEST_SET_PROTOCOL, protocol, 0x00, interface, 0x0000, NULL )
|
||||
#define XferGetProto( addr, ep, interface, dataptr ) \
|
||||
XferCtrlReq( addr, ep, bmREQ_HIDIN, HID_REQUEST_GET_PROTOCOL, 0x00, 0x00, interface, 0x0001, dataptr )
|
||||
#define XferGetIdle( addr, ep, interface, reportID, dataptr ) \
|
||||
XferCtrlReq( addr, ep, bmREQ_HIDIN, HID_REQUEST_GET_IDLE, reportID, 0, interface, 0x0001, dataptr )
|
||||
|
||||
/* Function prototypes */
|
||||
|
||||
BYTE XferCtrlReq(BYTE addr, BYTE ep, BYTE bmReqType, BYTE bRequest, BYTE wValLo,
|
||||
BYTE wValHi, WORD wInd, WORD nbytes, BYTE* dataptr);
|
||||
BYTE XferCtrlData(BYTE addr, BYTE ep, WORD nbytes, BYTE* dataptr,
|
||||
BOOL direction);
|
||||
BYTE XferCtrlND(BYTE addr, BYTE ep, WORD nbytes, BYTE* dataptr, BOOL direction);
|
||||
//BYTE startCtrlReq( BYTE addr, BYTE ep, BYTE bmReqType, BYTE bRequest, BYTE wValLo, BYTE wValHi, WORD wInd, WORD nbytes, char* dataptr );
|
||||
BYTE XferDispatchPkt(BYTE token, BYTE ep);
|
||||
BYTE XferInTransfer(BYTE addr, BYTE ep, WORD nbytes, BYTE* data,
|
||||
BYTE maxpktsize);
|
||||
//BYTE XferInTransfer_mps( BYTE ep, char* data, BYTE maxpktsize );
|
||||
void USB_init(void);
|
||||
void USB_Task(void);
|
||||
BYTE GetUsbTaskState(void);
|
||||
DEV_RECORD* GetDevtable(BYTE index);
|
||||
|
||||
/* Client driver routines */
|
||||
BOOL MSDProbe(BYTE address, DWORD flags);
|
||||
BOOL MSDEventHandler(BYTE address, BYTE event, void *data, DWORD size);
|
||||
BOOL CDCProbe(BYTE address, DWORD flags);
|
||||
BOOL CDCEventHandler(BYTE address, BYTE event, void *data, DWORD size);
|
||||
BOOL RaphnetProbe(BYTE address, DWORD flags);
|
||||
BOOL RaphnetEventHandler(BYTE address, BYTE event, void *data, DWORD size);
|
||||
BOOL DummyProbe(BYTE address, DWORD flags);
|
||||
BOOL DummyEventHandler(BYTE address, BYTE event, void *data, DWORD size);
|
||||
|
||||
//Function to be able to display string descriptors
|
||||
char* ConvUTF8ToStr(BYTE* utf8, BYTE length);
|
||||
|
||||
#endif //_transfer_h_
|
||||
189
sw/usb/usb_ch9.h
189
sw/usb/usb_ch9.h
@@ -1,189 +0,0 @@
|
||||
/*
|
||||
|
||||
USB Chapter 9 Protocol (Header File)
|
||||
|
||||
This file defines data structures, constants, and macros that are used to
|
||||
to support the USB Device Framework protocol described in Chapter 9 of the
|
||||
USB 2.0 specification.
|
||||
|
||||
In addition to that, class-specific descriptors are typedef'd here as well to keep descriptors together.
|
||||
They are typedefs anyway and won't take any real code space.
|
||||
*/
|
||||
|
||||
#ifndef _USB_CH9_H_
|
||||
#define _USB_CH9_H_
|
||||
|
||||
/* Misc.USB constants */
|
||||
#define DEV_DESCR_LEN 18 //device descriptor length
|
||||
#define CONF_DESCR_LEN 9 //configuration descriptor length
|
||||
#define INTR_DESCR_LEN 9 //interface descriptor length
|
||||
#define EP_DESCR_LEN 7 //endpoint descriptor length
|
||||
/* Device descriptor structure */
|
||||
typedef struct {
|
||||
BYTE bLength; // Length of this descriptor.
|
||||
BYTE bDescriptorType; // DEVICE descriptor type (USB_DESCRIPTOR_DEVICE).
|
||||
WORD bcdUSB; // USB Spec Release Number (BCD).
|
||||
BYTE bDeviceClass; // Class code (assigned by the USB-IF). 0xFF-Vendor specific.
|
||||
BYTE bDeviceSubClass; // Subclass code (assigned by the USB-IF).
|
||||
BYTE bDeviceProtocol; // Protocol code (assigned by the USB-IF). 0xFF-Vendor specific.
|
||||
BYTE bMaxPacketSize0; // Maximum packet size for endpoint 0.
|
||||
WORD idVendor; // Vendor ID (assigned by the USB-IF).
|
||||
WORD idProduct; // Product ID (assigned by the manufacturer).
|
||||
WORD bcdDevice; // Device release number (BCD).
|
||||
BYTE iManufacturer; // Index of String Descriptor describing the manufacturer.
|
||||
BYTE iProduct; // Index of String Descriptor describing the product.
|
||||
BYTE iSerialNumber; // Index of String Descriptor with the device's serial number.
|
||||
BYTE bNumConfigurations; // Number of possible configurations.
|
||||
} USB_DEVICE_DESCRIPTOR;
|
||||
/* Configuration Descriptor Structure */
|
||||
typedef struct {
|
||||
BYTE bLength; // Length of this descriptor.
|
||||
BYTE bDescriptorType; // CONFIGURATION descriptor type (USB_DESCRIPTOR_CONFIGURATION).
|
||||
WORD wTotalLength; // Total length of all descriptors for this configuration.
|
||||
BYTE bNumInterfaces; // Number of interfaces in this configuration.
|
||||
BYTE bConfigurationValue; // Value of this configuration (1 based).
|
||||
BYTE iConfiguration; // Index of String Descriptor describing the configuration.
|
||||
BYTE bmAttributes; // Configuration characteristics.
|
||||
BYTE bMaxPower; // Maximum power consumed by this configuration.
|
||||
} USB_CONFIGURATION_DESCRIPTOR;
|
||||
/* Conf.descriptor attribute bits */
|
||||
#define USB_CFG_DSC_REQUIRED 0x80 // Required attribute
|
||||
//#define USB_CFG_DSC_SELF_PWR (0x40|USB_CFG_DSC_REQUIRED) // Device is self powered.
|
||||
//#define USB_CFG_DSC_REM_WAKE (0x20|USB_CFG_DSC_REQUIRED) // Device can request remote wakup
|
||||
#define USB_CFG_DSC_SELF_PWR (0x40) // Device is self powered.
|
||||
#define USB_CFG_DSC_REM_WAKE (0x20) // Device can request remote wakup
|
||||
/* USB Interface Descriptor Structure */
|
||||
typedef struct {
|
||||
BYTE bLength; // Length of this descriptor.
|
||||
BYTE bDescriptorType; // INTERFACE descriptor type (USB_DESCRIPTOR_INTERFACE).
|
||||
BYTE bInterfaceNumber; // Number of this interface (0 based).
|
||||
BYTE bAlternateSetting; // Value of this alternate interface setting.
|
||||
BYTE bNumEndpoints; // Number of endpoints in this interface.
|
||||
BYTE bInterfaceClass; // Class code (assigned by the USB-IF). 0xFF-Vendor specific.
|
||||
BYTE bInterfaceSubClass; // Subclass code (assigned by the USB-IF).
|
||||
BYTE bInterfaceProtocol; // Protocol code (assigned by the USB-IF). 0xFF-Vendor specific.
|
||||
BYTE iInterface; // Index of String Descriptor describing the interface.
|
||||
} USB_INTERFACE_DESCRIPTOR;
|
||||
/* USB Endpoint Descriptor Structure */
|
||||
typedef struct {
|
||||
BYTE bLength; // Length of this descriptor.
|
||||
BYTE bDescriptorType; // ENDPOINT descriptor type (USB_DESCRIPTOR_ENDPOINT).
|
||||
BYTE bEndpointAddress; // Endpoint address. Bit 7 indicates direction (0=OUT, 1=IN).
|
||||
BYTE bmAttributes; // Endpoint transfer type.
|
||||
WORD wMaxPacketSize; // Maximum packet size.
|
||||
BYTE bInterval; // Polling interval in frames.
|
||||
} USB_ENDPOINT_DESCRIPTOR;
|
||||
/* Endpoint Direction */
|
||||
#define EP_DIR_IN 0x80 // Data flows from device to host
|
||||
#define EP_DIR_OUT 0x00 // Data flows from host to device
|
||||
/* USB Endpoint Attributes */
|
||||
// Section: Transfer Types
|
||||
#define EP_ATTR_CONTROL (0<<0) // Endoint used for control transfers
|
||||
#define EP_ATTR_ISOCH (1<<0) // Endpoint used for isochronous transfers
|
||||
#define EP_ATTR_BULK (2<<0) // Endpoint used for bulk transfers
|
||||
#define EP_ATTR_INTR (3<<0) // Endpoint used for interrupt transfers
|
||||
// Section: Synchronization Types (for isochronous enpoints)
|
||||
#define EP_ATTR_NO_SYNC (0<<2) // No Synchronization
|
||||
#define EP_ATTR_ASYNC (1<<2) // Asynchronous
|
||||
#define EP_ATTR_ADAPT (2<<2) // Adaptive synchronization
|
||||
#define EP_ATTR_SYNC (3<<2) // Synchronous
|
||||
// Section: Usage Types (for isochronous endpoints)
|
||||
#define EP_ATTR_DATA (0<<4) // Data Endpoint
|
||||
#define EP_ATTR_FEEDBACK (1<<4) // Feedback endpoint
|
||||
#define EP_ATTR_IMP_FB (2<<4) // Implicit Feedback data EP
|
||||
// Section: Max Packet Sizes
|
||||
#define EP_MAX_PKT_INTR_LS 8 // Max low-speed interrupt packet
|
||||
#define EP_MAX_PKT_INTR_FS 64 // Max full-speed interrupt packet
|
||||
#define EP_MAX_PKT_ISOCH_FS 1023 // Max full-speed isochronous packet
|
||||
#define EP_MAX_PKT_BULK_FS 64 // Max full-speed bulk packet
|
||||
#define EP_LG_PKT_BULK_FS 32 // Large full-speed bulk packet
|
||||
#define EP_MED_PKT_BULK_FS 16 // Medium full-speed bulk packet
|
||||
#define EP_SM_PKT_BULK_FS 8 // Small full-speed bulk packet
|
||||
/* USB OTG Descriptor Structure */
|
||||
typedef struct {
|
||||
BYTE bLength; // Length of this descriptor.
|
||||
BYTE bDescriptorType; // OTG descriptor type (USB_DESCRIPTOR_OTG).
|
||||
BYTE bmAttributes; // OTG attributes.
|
||||
} USB_OTG_DESCRIPTOR;
|
||||
/* USB String Descriptor Structure */
|
||||
typedef struct {
|
||||
BYTE bLength; //size of this descriptor
|
||||
BYTE bDescriptorType; //type, USB_DSC_STRING
|
||||
BYTE bString[256 - 2]; //buffer for string
|
||||
} USB_STRING_DESCRIPTOR;
|
||||
/* Section: USB Device Qualifier Descriptor Structure */
|
||||
typedef struct {
|
||||
BYTE bLength; // Size of this descriptor
|
||||
BYTE bDescriptorType; // Type, always USB_DESCRIPTOR_DEVICE_QUALIFIER
|
||||
WORD bcdUSB; // USB spec version, in BCD
|
||||
BYTE bDeviceClass; // Device class code
|
||||
BYTE bDeviceSubClass; // Device sub-class code
|
||||
BYTE bDeviceProtocol; // Device protocol
|
||||
BYTE bMaxPacketSize0; // EP0, max packet size
|
||||
BYTE bNumConfigurations; // Number of "other-speed" configurations
|
||||
BYTE bReserved; // Always zero (0)
|
||||
} USB_DEVICE_QUALIFIER_DESCRIPTOR;
|
||||
/* Section: USB Specification Constants */
|
||||
#define PID_OUT 0x1 // PID for an OUT token
|
||||
#define PID_ACK 0x2 // PID for an ACK handshake
|
||||
#define PID_DATA0 0x3 // PID for DATA0 data
|
||||
#define PID_PING 0x4 // Special PID PING
|
||||
#define PID_SOF 0x5 // PID for a SOF token
|
||||
#define PID_NYET 0x6 // PID for a NYET handshake
|
||||
#define PID_DATA2 0x7 // PID for DATA2 data
|
||||
#define PID_SPLIT 0x8 // Special PID SPLIT
|
||||
#define PID_IN 0x9 // PID for a IN token
|
||||
#define PID_NAK 0xA // PID for a NAK handshake
|
||||
#define PID_DATA1 0xB // PID for DATA1 data
|
||||
#define PID_PRE 0xC // Special PID PRE (Same as PID_ERR)
|
||||
#define PID_ERR 0xC // Special PID ERR (Same as PID_PRE)
|
||||
#define PID_SETUP 0xD // PID for a SETUP token
|
||||
#define PID_STALL 0xE // PID for a STALL handshake
|
||||
#define PID_MDATA 0xF // PID for MDATA data
|
||||
|
||||
#define PID_MASK_DATA 0x03 // Data PID mask
|
||||
#define PID_MASK_DATA_SHIFTED (PID_MASK_DATA << 2) // Data PID shift to proper position
|
||||
|
||||
#define LANG_EN_US 0x0409 //US language code, probably the only supported by string descriptors
|
||||
|
||||
/* USB Token Types */
|
||||
/* defined in MAX3421E.h */
|
||||
|
||||
/* Section: OTG Descriptor Constants */
|
||||
#define OTG_HNP_SUPPORT 0x02 // OTG Descriptor bmAttributes - HNP support flag
|
||||
#define OTG_SRP_SUPPORT 0x01 // OTG Descriptor bmAttributes - SRP support flag
|
||||
/* Section: USB Class Code Definitions */
|
||||
#define USB_HUB_CLASSCODE 0x09 // Class code for a hub.
|
||||
|
||||
/* HID class-specific defines */
|
||||
|
||||
/* USB HID Descriptor header per HID 1.1 spec */
|
||||
/* section 6.2.1 */
|
||||
/* the header is variable length. Only first class descriptor fields are defined */
|
||||
typedef union {
|
||||
struct {
|
||||
BYTE bLength;
|
||||
BYTE bDescriptorType;
|
||||
WORD bcdHID;
|
||||
BYTE bCountryCode;
|
||||
BYTE bNumDescriptors;
|
||||
BYTE bDescrType;
|
||||
WORD wDescriptorLength;
|
||||
};
|
||||
} USB_HID_DESCRIPTOR;
|
||||
|
||||
/* combined descriptor for easy parsing */
|
||||
typedef struct {
|
||||
union {
|
||||
BYTE buf[80];
|
||||
USB_DEVICE_DESCRIPTOR device;
|
||||
USB_CONFIGURATION_DESCRIPTOR config;
|
||||
USB_INTERFACE_DESCRIPTOR interface;
|
||||
USB_ENDPOINT_DESCRIPTOR endpoint;
|
||||
USB_STRING_DESCRIPTOR string;
|
||||
/* class descriptors */
|
||||
USB_HID_DESCRIPTOR HID;
|
||||
} descr;
|
||||
} USB_DESCR;
|
||||
#endif // _USB_CH9_H_
|
||||
|
||||
Reference in New Issue
Block a user