From 6b2363d6a1753208285d40f0645fcfc749b1f7a8 Mon Sep 17 00:00:00 2001 From: Kacper Date: Mon, 25 May 2020 17:16:24 +0100 Subject: [PATCH] Working on initial design --- CPUProject.bdf | 279 ++++++--- CPUProject.qsf | 13 +- Waveform.vwf | 178 ------ mux_8x16.bdf | 784 ++++++++++++++++++++++++ mux_8x16.bsf | 113 ++++ reg_file.bdf | 1565 ++++++++++++++++++++++++++++++++++++++++++++++++ reg_file.bsf | 211 +++++++ 7 files changed, 2860 insertions(+), 283 deletions(-) delete mode 100644 Waveform.vwf create mode 100644 mux_8x16.bdf create mode 100644 mux_8x16.bsf create mode 100644 reg_file.bdf create mode 100644 reg_file.bsf diff --git a/CPUProject.bdf b/CPUProject.bdf index abb829a..387351d 100644 --- a/CPUProject.bdf +++ b/CPUProject.bdf @@ -4,9 +4,9 @@ editor if you plan to continue editing the block that represents it in the Block Editor! File corruption is VERY likely to occur. */ /* -Copyright (C) 2019 Intel Corporation. All rights reserved. +Copyright (C) 2018 Intel Corporation. All rights reserved. Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic +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 @@ -16,115 +16,196 @@ the Intel FPGA IP License Agreement, or other applicable license agreement, including, without limitation, that your use is for the sole purpose of programming logic devices manufactured by Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. +refer to the applicable agreement for further details. */ (header "graphic" (version "1.4")) -(pin - (input) - (rect 296 224 464 240) - (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) - (text "X" (rect 5 0 11 12)(font "Arial" )) - (pt 168 8) - (drawing - (line (pt 84 12)(pt 109 12)) - (line (pt 84 4)(pt 109 4)) - (line (pt 113 8)(pt 168 8)) - (line (pt 84 12)(pt 84 4)) - (line (pt 109 4)(pt 113 8)) - (line (pt 109 12)(pt 113 8)) - ) - (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) -) -(pin - (input) - (rect 296 288 464 304) - (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) - (text "Y" (rect 5 0 13 17)(font "Intel Clear" )) - (pt 168 8) - (drawing - (line (pt 84 12)(pt 109 12)) - (line (pt 84 4)(pt 109 4)) - (line (pt 113 8)(pt 168 8)) - (line (pt 84 12)(pt 84 4)) - (line (pt 109 4)(pt 113 8)) - (line (pt 109 12)(pt 113 8)) - ) - (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) -) -(pin - (output) - (rect 608 256 784 272) - (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) - (text "Z" (rect 90 0 97 12)(font "Arial" )) - (pt 0 8) - (drawing - (line (pt 0 8)(pt 52 8)) - (line (pt 52 4)(pt 78 4)) - (line (pt 52 12)(pt 78 12)) - (line (pt 52 12)(pt 52 4)) - (line (pt 78 4)(pt 82 8)) - (line (pt 82 8)(pt 78 12)) - (line (pt 78 12)(pt 82 8)) - ) -) (symbol - (rect 504 240 568 288) - (text "AND2" (rect 1 0 25 10)(font "Arial" (font_size 6))) - (text "inst" (rect 3 37 20 49)(font "Arial" )) + (rect 216 160 408 616) + (text "reg_file" (rect 5 0 49 19)(font "Intel Clear" (font_size 8))) + (text "inst" (rect 8 439 24 456)(font "Intel Clear" )) (port - (pt 0 16) + (pt 0 24) (input) - (text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible)) - (text "IN1" (rect 2 7 19 19)(font "Courier New" (bold))(invisible)) - (line (pt 0 16)(pt 14 16)) + (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) + (text "CLK" (rect 21 19 44 38)(font "Intel Clear" (font_size 8))) + (line (pt 0 24)(pt 16 24)) ) (port - (pt 0 32) + (pt 0 48) (input) - (text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible)) - (text "IN2" (rect 2 23 19 35)(font "Courier New" (bold))(invisible)) - (line (pt 0 32)(pt 14 32)) + (text "R0_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R0_en" (rect 21 43 58 62)(font "Intel Clear" (font_size 8))) + (line (pt 0 48)(pt 16 48)) ) (port - (pt 64 24) + (pt 0 64) + (input) + (text "R0_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R0_in" (rect 21 59 55 78)(font "Intel Clear" (font_size 8))) + (line (pt 0 64)(pt 16 64)) + ) + (port + (pt 0 80) + (input) + (text "R0_count" (rect 0 0 55 19)(font "Intel Clear" (font_size 8))) + (text "R0_count" (rect 21 75 76 94)(font "Intel Clear" (font_size 8))) + (line (pt 0 80)(pt 16 80)) + ) + (port + (pt 0 112) + (input) + (text "R1_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R1_in" (rect 21 107 55 126)(font "Intel Clear" (font_size 8))) + (line (pt 0 112)(pt 16 112)) + ) + (port + (pt 0 128) + (input) + (text "R1_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R1_en" (rect 21 123 58 142)(font "Intel Clear" (font_size 8))) + (line (pt 0 128)(pt 16 128)) + ) + (port + (pt 0 160) + (input) + (text "R2_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R2_in" (rect 21 155 55 174)(font "Intel Clear" (font_size 8))) + (line (pt 0 160)(pt 16 160)) + ) + (port + (pt 0 176) + (input) + (text "R2_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R2_en" (rect 21 171 58 190)(font "Intel Clear" (font_size 8))) + (line (pt 0 176)(pt 16 176)) + ) + (port + (pt 0 208) + (input) + (text "R3_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R3_in" (rect 21 203 55 222)(font "Intel Clear" (font_size 8))) + (line (pt 0 208)(pt 16 208)) + ) + (port + (pt 0 224) + (input) + (text "R3_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R3_en" (rect 21 219 58 238)(font "Intel Clear" (font_size 8))) + (line (pt 0 224)(pt 16 224)) + ) + (port + (pt 0 256) + (input) + (text "R4_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R4_in" (rect 21 251 55 270)(font "Intel Clear" (font_size 8))) + (line (pt 0 256)(pt 16 256)) + ) + (port + (pt 0 272) + (input) + (text "R4_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R4_en" (rect 21 267 58 286)(font "Intel Clear" (font_size 8))) + (line (pt 0 272)(pt 16 272)) + ) + (port + (pt 0 304) + (input) + (text "R5_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R5_in" (rect 21 299 55 318)(font "Intel Clear" (font_size 8))) + (line (pt 0 304)(pt 16 304)) + ) + (port + (pt 0 320) + (input) + (text "R5_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R5_en" (rect 21 315 58 334)(font "Intel Clear" (font_size 8))) + (line (pt 0 320)(pt 16 320)) + ) + (port + (pt 0 352) + (input) + (text "R6_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R6_in" (rect 21 347 55 366)(font "Intel Clear" (font_size 8))) + (line (pt 0 352)(pt 16 352)) + ) + (port + (pt 0 368) + (input) + (text "R6_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R6_en" (rect 21 363 58 382)(font "Intel Clear" (font_size 8))) + (line (pt 0 368)(pt 16 368)) + ) + (port + (pt 0 400) + (input) + (text "R7_in" (rect 0 0 34 19)(font "Intel Clear" (font_size 8))) + (text "R7_in" (rect 21 395 55 414)(font "Intel Clear" (font_size 8))) + (line (pt 0 400)(pt 16 400)) + ) + (port + (pt 0 416) + (input) + (text "R7_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R7_en" (rect 21 411 58 430)(font "Intel Clear" (font_size 8))) + (line (pt 0 416)(pt 16 416)) + ) + (port + (pt 192 64) (output) - (text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible)) - (text "OUT" (rect 48 15 65 27)(font "Courier New" (bold))(invisible)) - (line (pt 42 24)(pt 64 24)) + (text "R0" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R0" (rect 155 51 171 70)(font "Intel Clear" (font_size 8))) + (line (pt 192 64)(pt 176 64)) + ) + (port + (pt 192 128) + (output) + (text "R1" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R1" (rect 155 115 171 134)(font "Intel Clear" (font_size 8))) + (line (pt 192 128)(pt 176 128)) + ) + (port + (pt 192 176) + (output) + (text "R2" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R2" (rect 155 163 171 182)(font "Intel Clear" (font_size 8))) + (line (pt 192 176)(pt 176 176)) + ) + (port + (pt 192 224) + (output) + (text "R3" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R3" (rect 155 211 171 230)(font "Intel Clear" (font_size 8))) + (line (pt 192 224)(pt 176 224)) + ) + (port + (pt 192 272) + (output) + (text "R4" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R4" (rect 155 259 171 278)(font "Intel Clear" (font_size 8))) + (line (pt 192 272)(pt 176 272)) + ) + (port + (pt 192 320) + (output) + (text "R5" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R5" (rect 155 307 171 326)(font "Intel Clear" (font_size 8))) + (line (pt 192 320)(pt 176 320)) + ) + (port + (pt 192 368) + (output) + (text "R6" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R6" (rect 155 355 171 374)(font "Intel Clear" (font_size 8))) + (line (pt 192 368)(pt 176 368)) + ) + (port + (pt 192 416) + (output) + (text "R7" (rect 64 0 80 19)(font "Intel Clear" (font_size 8))) + (text "R7" (rect 155 403 171 422)(font "Intel Clear" (font_size 8))) + (line (pt 192 416)(pt 176 416)) ) (drawing - (line (pt 14 12)(pt 30 12)) - (line (pt 14 37)(pt 31 37)) - (line (pt 14 12)(pt 14 37)) - (arc (pt 31 37)(pt 30 12)(rect 18 12 43 37)) + (rectangle (rect 16 16 176 440)) ) ) -(connector - (pt 496 256) - (pt 496 232) -) -(connector - (pt 504 256) - (pt 496 256) -) -(connector - (pt 496 232) - (pt 464 232) -) -(connector - (pt 464 296) - (pt 496 296) -) -(connector - (pt 496 296) - (pt 496 272) -) -(connector - (pt 496 272) - (pt 504 272) -) -(connector - (pt 568 264) - (pt 608 264) -) diff --git a/CPUProject.qsf b/CPUProject.qsf index 92c9c98..307d2cd 100644 --- a/CPUProject.qsf +++ b/CPUProject.qsf @@ -38,16 +38,17 @@ set_global_assignment -name FAMILY "Cyclone IV E" set_global_assignment -name DEVICE AUTO -set_global_assignment -name TOP_LEVEL_ENTITY CPUProject +set_global_assignment -name TOP_LEVEL_ENTITY reg_file set_global_assignment -name ORIGINAL_QUARTUS_VERSION 18.1.0 set_global_assignment -name PROJECT_CREATION_TIME_DATE "12:38:11 MAY 20, 2020" -set_global_assignment -name LAST_QUARTUS_VERSION "19.1.0 Lite Edition" +set_global_assignment -name LAST_QUARTUS_VERSION "18.1.0 Standard Edition" set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files -set_global_assignment -name BDF_FILE CPUProject.bdf +set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS ON +set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top -set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS ON -set_global_assignment -name NUM_PARALLEL_PROCESSORS ALL set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top -set_global_assignment -name VECTOR_WAVEFORM_FILE Waveform.vwf \ No newline at end of file +set_global_assignment -name BDF_FILE CPUProject.bdf +set_global_assignment -name BDF_FILE reg_file.bdf +set_global_assignment -name BDF_FILE mux_8x16.bdf \ No newline at end of file diff --git a/Waveform.vwf b/Waveform.vwf deleted file mode 100644 index 393a543..0000000 --- a/Waveform.vwf +++ /dev/null @@ -1,178 +0,0 @@ -/* -quartus_eda --gen_testbench --tool=modelsim_oem --format=verilog --write_settings_files=off CPUProject -c CPUProject --vector_source="C:/Users/Benjamin/Desktop/CPUProject/Waveform.vwf" --testbench_file="C:/Users/Benjamin/Desktop/CPUProject/simulation/qsim/Waveform.vwf.vt" -quartus_eda --gen_testbench --tool=modelsim_oem --format=verilog --write_settings_files=off CPUProject -c CPUProject --vector_source="C:/Users/Benjamin/Desktop/CPUProject/Waveform.vwf" --testbench_file="C:/Users/Benjamin/Desktop/CPUProject/simulation/qsim/Waveform.vwf.vt" -quartus_eda --write_settings_files=off --simulation --functional=on --flatten_buses=off --tool=modelsim_oem --format=verilog --output_directory="C:/Users/Benjamin/Desktop/CPUProject/simulation/qsim/" CPUProject -c CPUProject -quartus_eda --write_settings_files=off --simulation --functional=off --flatten_buses=off --timescale=1ps --tool=modelsim_oem --format=verilog --output_directory="C:/Users/Benjamin/Desktop/CPUProject/simulation/qsim/" CPUProject -c CPUProject -onerror {exit -code 1} -vlib work -vlog -work work CPUProject.vo -vlog -work work Waveform.vwf.vt -vsim -novopt -c -t 1ps -L cycloneive_ver -L altera_ver -L altera_mf_ver -L 220model_ver -L sgate_ver -L altera_lnsim_ver work.CPUProject_vlg_vec_tst -vcd file -direction CPUProject.msim.vcd -vcd add -internal CPUProject_vlg_vec_tst/* -vcd add -internal CPUProject_vlg_vec_tst/i1/* -proc simTimestamp {} { - echo "Simulation time: $::now ps" - if { [string equal running [runStatus]] } { - after 2500 simTimestamp - } -} -after 2500 simTimestamp -run -all -quit -f - -onerror {exit -code 1} -vlib work -vlog -work work CPUProject.vo -vlog -work work Waveform.vwf.vt -vsim -novopt -c -t 1ps -L cycloneive_ver -L altera_ver -L altera_mf_ver -L 220model_ver -L sgate_ver -L altera_lnsim_ver work.CPUProject_vlg_vec_tst -vcd file -direction CPUProject.msim.vcd -vcd add -internal CPUProject_vlg_vec_tst/* -vcd add -internal CPUProject_vlg_vec_tst/i1/* -proc simTimestamp {} { - echo "Simulation time: $::now ps" - if { [string equal running [runStatus]] } { - after 2500 simTimestamp - } -} -after 2500 simTimestamp -run -all -quit -f - -verilog -*/ -/* -WARNING: Do NOT edit the input and output ports in this file in a text -editor if you plan to continue editing the block that represents it in -the Block Editor! File corruption is VERY likely to occur. -*/ - -/* -Copyright (C) 2019 Intel Corporation. All rights reserved. -Your use of Intel Corporation's design tools, logic functions -and other software and tools, and any partner logic -functions, and any output files from any of the foregoing -(including device programming or simulation files), and any -associated documentation or information are expressly subject -to the terms and conditions of the Intel Program License -Subscription Agreement, the Intel Quartus Prime License Agreement, -the Intel FPGA IP License Agreement, or other applicable license -agreement, including, without limitation, that your use is for -the sole purpose of programming logic devices manufactured by -Intel and sold by Intel or its authorized distributors. Please -refer to the applicable agreement for further details, at -https://fpgasoftware.intel.com/eula. -*/ - -HEADER -{ - VERSION = 1; - TIME_UNIT = ns; - DATA_OFFSET = 0.0; - DATA_DURATION = 1000.0; - SIMULATION_TIME = 0.0; - GRID_PHASE = 0.0; - GRID_PERIOD = 10.0; - GRID_DUTY_CYCLE = 50; -} - -SIGNAL("X") -{ - VALUE_TYPE = NINE_LEVEL_BIT; - SIGNAL_TYPE = SINGLE_BIT; - WIDTH = 1; - LSB_INDEX = -1; - DIRECTION = INPUT; - PARENT = ""; -} - -SIGNAL("Y") -{ - VALUE_TYPE = NINE_LEVEL_BIT; - SIGNAL_TYPE = SINGLE_BIT; - WIDTH = 1; - LSB_INDEX = -1; - DIRECTION = INPUT; - PARENT = ""; -} - -SIGNAL("Z") -{ - VALUE_TYPE = NINE_LEVEL_BIT; - SIGNAL_TYPE = SINGLE_BIT; - WIDTH = 1; - LSB_INDEX = -1; - DIRECTION = OUTPUT; - PARENT = ""; -} - -TRANSITION_LIST("X") -{ - NODE - { - REPEAT = 1; - NODE - { - REPEAT = 50; - LEVEL 0 FOR 10.0; - LEVEL 1 FOR 10.0; - } - } -} - -TRANSITION_LIST("Y") -{ - NODE - { - REPEAT = 1; - NODE - { - REPEAT = 25; - LEVEL 0 FOR 20.0; - LEVEL 1 FOR 20.0; - } - } -} - -TRANSITION_LIST("Z") -{ - NODE - { - REPEAT = 1; - LEVEL X FOR 1000.0; - } -} - -DISPLAY_LINE -{ - CHANNEL = "X"; - EXPAND_STATUS = COLLAPSED; - RADIX = Binary; - TREE_INDEX = 0; - TREE_LEVEL = 0; -} - -DISPLAY_LINE -{ - CHANNEL = "Y"; - EXPAND_STATUS = COLLAPSED; - RADIX = Binary; - TREE_INDEX = 1; - TREE_LEVEL = 0; -} - -DISPLAY_LINE -{ - CHANNEL = "Z"; - EXPAND_STATUS = COLLAPSED; - RADIX = Binary; - TREE_INDEX = 2; - TREE_LEVEL = 0; -} - -TIME_BAR -{ - TIME = 0; - MASTER = TRUE; -} -; diff --git a/mux_8x16.bdf b/mux_8x16.bdf new file mode 100644 index 0000000..8a70abc --- /dev/null +++ b/mux_8x16.bdf @@ -0,0 +1,784 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +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. +*/ +(header "graphic" (version "1.4")) +(pin + (input) + (rect 104 64 272 80) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "s0" (rect 5 0 17 12)(font "Arial" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 80 272 96) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "s1" (rect 5 0 16 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 96 272 112) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "s2" (rect 5 0 16 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 176 272 192) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in0[15..0]" (rect 5 0 52 12)(font "Arial" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 208 272 224) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in1[15..0]" (rect 5 0 49 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 296 272 312) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in2[15..0]" (rect 5 0 49 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 328 272 344) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in3[15..0]" (rect 5 0 49 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 416 272 432) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in4[15..0]" (rect 5 0 49 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 448 272 464) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in5[15..0]" (rect 5 0 49 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 536 272 552) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in6[15..0]" (rect 5 0 49 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 104 568 272 584) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "in7[15..0]" (rect 5 0 49 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (output) + (rect 872 192 1048 208) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "result[15..0]" (rect 90 0 149 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(symbol + (rect 312 272 424 360) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst5" (rect 3 77 25 94)(font "Intel Clear" )) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 424 272 448 288)) +) +(symbol + (rect 312 392 424 480) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst6" (rect 3 77 25 94)(font "Intel Clear" )) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 424 392 448 408)) +) +(symbol + (rect 312 512 424 600) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst7" (rect 3 77 25 94)(font "Intel Clear" )) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 424 512 448 528)) +) +(symbol + (rect 528 152 640 240) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst8" (rect 3 77 25 94)(font "Intel Clear" )) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 640 152 664 168)) +) +(symbol + (rect 528 272 640 360) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst9" (rect 3 77 25 94)(font "Intel Clear" )) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 640 272 664 288)) +) +(symbol + (rect 720 152 832 240) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst10" (rect 3 77 31 94)(font "Intel Clear" )) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 832 152 856 168)) +) +(symbol + (rect 312 152 424 240) + (text "BUSMUX" (rect 28 0 91 16)(font "Arial" (font_size 10))) + (text "inst" (rect 3 77 23 91)(font "Arial" (font_size 8))) + (port + (pt 0 64) + (input) + (text "datab[WIDTH-1..0]" (rect 6 51 108 65)(font "Arial" (font_size 8))) + (text "datab[]" (rect 6 51 44 65)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 44 64)(line_width 3)) + ) + (port + (pt 56 88) + (input) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (text "sel" (rect 59 70 75 84)(font "Arial" (font_size 8))) + (line (pt 56 88)(pt 56 72)) + ) + (port + (pt 0 32) + (input) + (text "dataa[WIDTH-1..0]" (rect 6 19 108 33)(font "Arial" (font_size 8))) + (text "dataa[]" (rect 6 19 44 33)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 44 32)(line_width 3)) + ) + (port + (pt 112 48) + (output) + (text "result[WIDTH-1..0]" (rect 75 35 177 49)(font "Arial" (font_size 8))) + (text "result[]" (rect 75 35 113 49)(font "Arial" (font_size 8))) + (line (pt 68 48)(pt 112 48)(line_width 3)) + ) + (parameter + "WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_SIGNED_DEC") ) + (drawing + (text "0" (rect 52 31 56 41)(font "Arial" (font_size 6))) + (text "1" (rect 52 55 56 65)(font "Arial" (font_size 6))) + (line (pt 68 64)(pt 68 32)) + (line (pt 44 80)(pt 44 16)) + (line (pt 44 16)(pt 68 32)) + (line (pt 44 80)(pt 68 64)) + ) + (annotation_block (parameter)(rect 424 152 456 176)) +) +(connector + (pt 424 200) + (pt 440 200) + (bus) +) +(connector + (pt 456 320) + (pt 424 320) + (bus) +) +(connector + (pt 424 440) + (pt 472 440) + (bus) +) +(connector + (pt 424 560) + (pt 488 560) + (bus) +) +(connector + (pt 656 184) + (pt 720 184) + (bus) +) +(connector + (pt 440 200) + (pt 440 184) + (bus) +) +(connector + (pt 456 320) + (pt 456 216) + (bus) +) +(connector + (pt 656 200) + (pt 640 200) + (bus) +) +(connector + (pt 656 184) + (pt 656 200) + (bus) +) +(connector + (pt 456 216) + (pt 528 216) + (bus) +) +(connector + (pt 440 184) + (pt 528 184) + (bus) +) +(connector + (pt 472 440) + (pt 472 304) + (bus) +) +(connector + (pt 488 560) + (pt 488 336) + (bus) +) +(connector + (pt 488 336) + (pt 528 336) + (bus) +) +(connector + (pt 472 304) + (pt 528 304) + (bus) +) +(connector + (pt 720 216) + (pt 672 216) + (bus) +) +(connector + (pt 640 320) + (pt 672 320) + (bus) +) +(connector + (pt 672 216) + (pt 672 320) + (bus) +) +(connector + (pt 368 240) + (pt 368 256) +) +(connector + (pt 368 256) + (pt 296 256) +) +(connector + (pt 368 360) + (pt 368 376) +) +(connector + (pt 368 376) + (pt 296 376) +) +(connector + (pt 296 608) + (pt 368 608) +) +(connector + (pt 368 608) + (pt 368 600) +) +(connector + (pt 368 496) + (pt 296 496) +) +(connector + (pt 296 496) + (pt 296 608) +) +(connector + (pt 368 496) + (pt 368 480) +) +(connector + (pt 296 376) + (pt 296 496) +) +(connector + (pt 584 240) + (pt 584 256) +) +(connector + (pt 512 256) + (pt 584 256) +) +(connector + (pt 512 376) + (pt 584 376) +) +(connector + (pt 584 360) + (pt 584 376) +) +(connector + (pt 272 184) + (pt 312 184) + (bus) +) +(connector + (pt 312 216) + (pt 272 216) + (bus) +) +(connector + (pt 312 304) + (pt 272 304) + (bus) +) +(connector + (pt 312 336) + (pt 272 336) + (bus) +) +(connector + (pt 312 424) + (pt 272 424) + (bus) +) +(connector + (pt 312 456) + (pt 272 456) + (bus) +) +(connector + (pt 312 544) + (pt 272 544) + (bus) +) +(connector + (pt 312 576) + (pt 272 576) + (bus) +) +(connector + (pt 272 72) + (pt 296 72) +) +(connector + (pt 296 72) + (pt 296 256) +) +(connector + (pt 296 256) + (pt 296 376) +) +(connector + (pt 272 88) + (pt 512 88) +) +(connector + (pt 512 88) + (pt 512 256) +) +(connector + (pt 512 256) + (pt 512 376) +) +(connector + (pt 776 240) + (pt 776 256) +) +(connector + (pt 272 104) + (pt 704 104) +) +(connector + (pt 776 256) + (pt 704 256) +) +(connector + (pt 704 104) + (pt 704 256) +) +(connector + (pt 832 200) + (pt 872 200) + (bus) +) +(junction (pt 296 496)) +(junction (pt 296 376)) +(junction (pt 296 256)) +(junction (pt 512 256)) diff --git a/mux_8x16.bsf b/mux_8x16.bsf new file mode 100644 index 0000000..b94421f --- /dev/null +++ b/mux_8x16.bsf @@ -0,0 +1,113 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +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. +*/ +(header "symbol" (version "1.2")) +(symbol + (rect 16 16 200 240) + (text "mux_8x16" (rect 5 0 67 19)(font "Intel Clear" (font_size 8))) + (text "inst" (rect 8 203 24 220)(font "Intel Clear" )) + (port + (pt 0 32) + (input) + (text "s0" (rect 0 0 14 19)(font "Intel Clear" (font_size 8))) + (text "s0" (rect 21 27 35 46)(font "Intel Clear" (font_size 8))) + (line (pt 0 32)(pt 16 32)) + ) + (port + (pt 0 48) + (input) + (text "s1" (rect 0 0 14 19)(font "Intel Clear" (font_size 8))) + (text "s1" (rect 21 43 35 62)(font "Intel Clear" (font_size 8))) + (line (pt 0 48)(pt 16 48)) + ) + (port + (pt 0 64) + (input) + (text "s2" (rect 0 0 14 19)(font "Intel Clear" (font_size 8))) + (text "s2" (rect 21 59 35 78)(font "Intel Clear" (font_size 8))) + (line (pt 0 64)(pt 16 64)) + ) + (port + (pt 0 80) + (input) + (text "in0[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in0[15..0]" (rect 21 75 78 94)(font "Intel Clear" (font_size 8))) + (line (pt 0 80)(pt 16 80)(line_width 3)) + ) + (port + (pt 0 96) + (input) + (text "in1[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in1[15..0]" (rect 21 91 78 110)(font "Intel Clear" (font_size 8))) + (line (pt 0 96)(pt 16 96)(line_width 3)) + ) + (port + (pt 0 112) + (input) + (text "in2[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in2[15..0]" (rect 21 107 78 126)(font "Intel Clear" (font_size 8))) + (line (pt 0 112)(pt 16 112)(line_width 3)) + ) + (port + (pt 0 128) + (input) + (text "in3[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in3[15..0]" (rect 21 123 78 142)(font "Intel Clear" (font_size 8))) + (line (pt 0 128)(pt 16 128)(line_width 3)) + ) + (port + (pt 0 144) + (input) + (text "in4[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in4[15..0]" (rect 21 139 78 158)(font "Intel Clear" (font_size 8))) + (line (pt 0 144)(pt 16 144)(line_width 3)) + ) + (port + (pt 0 160) + (input) + (text "in5[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in5[15..0]" (rect 21 155 78 174)(font "Intel Clear" (font_size 8))) + (line (pt 0 160)(pt 16 160)(line_width 3)) + ) + (port + (pt 0 176) + (input) + (text "in6[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in6[15..0]" (rect 21 171 78 190)(font "Intel Clear" (font_size 8))) + (line (pt 0 176)(pt 16 176)(line_width 3)) + ) + (port + (pt 0 192) + (input) + (text "in7[15..0]" (rect 0 0 57 19)(font "Intel Clear" (font_size 8))) + (text "in7[15..0]" (rect 21 187 78 206)(font "Intel Clear" (font_size 8))) + (line (pt 0 192)(pt 16 192)(line_width 3)) + ) + (port + (pt 184 32) + (output) + (text "result[15..0]" (rect 0 0 71 19)(font "Intel Clear" (font_size 8))) + (text "result[15..0]" (rect 92 27 163 46)(font "Intel Clear" (font_size 8))) + (line (pt 184 32)(pt 168 32)(line_width 3)) + ) + (drawing + (rectangle (rect 16 16 168 208)) + ) +) diff --git a/reg_file.bdf b/reg_file.bdf new file mode 100644 index 0000000..ed4be11 --- /dev/null +++ b/reg_file.bdf @@ -0,0 +1,1565 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +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. +*/ +(header "graphic" (version "1.4")) +(pin + (input) + (rect 112 136 280 152) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "CLK" (rect 5 0 26 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 184 208 352 224) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R0_en" (rect 5 0 37 12)(font "Arial" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 184 320 352 336) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R0_count" (rect 5 0 50 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 472 328 488) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R1_en" (rect 5 0 36 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 624 328 640) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R2_en" (rect 5 0 36 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 776 328 792) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R3_en" (rect 5 0 36 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 928 328 944) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R4_en" (rect 5 0 36 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 1080 328 1096) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R5_en" (rect 5 0 36 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 1232 328 1248) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R6_en" (rect 5 0 36 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 1384 328 1400) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R7_en" (rect 5 0 36 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 184 240 352 256) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R0_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 440 328 456) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R1_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 592 328 608) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R2_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 744 328 760) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R3_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 896 328 912) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R4_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 1048 328 1064) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R5_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 1200 328 1216) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R6_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (input) + (rect 160 1352 328 1368) + (text "INPUT" (rect 125 0 153 10)(font "Arial" (font_size 6))) + (text "R7_in[15..0]" (rect 5 0 62 17)(font "Intel Clear" )) + (pt 168 8) + (drawing + (line (pt 84 12)(pt 109 12)) + (line (pt 84 4)(pt 109 4)) + (line (pt 113 8)(pt 168 8)) + (line (pt 84 12)(pt 84 4)) + (line (pt 109 4)(pt 113 8)) + (line (pt 109 12)(pt 113 8)) + ) + (text "VCC" (rect 128 7 148 17)(font "Arial" (font_size 6))) +) +(pin + (output) + (rect 672 256 848 272) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text " R0_out[15..0]" (rect 90 0 160 12)(font "Arial" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 672 280 848 296) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "R1_out[15..0]" (rect 90 0 153 17)(font "Intel Clear" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 672 304 848 320) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "R2_out[15..0]" (rect 90 0 153 17)(font "Intel Clear" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 672 328 848 344) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "R3_out[15..0]" (rect 90 0 153 17)(font "Intel Clear" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 672 352 848 368) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "R4_out[15..0]" (rect 90 0 153 17)(font "Intel Clear" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 672 376 848 392) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "R5_out[15..0]" (rect 90 0 153 17)(font "Intel Clear" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 672 400 848 416) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "R6_out[15..0]" (rect 90 0 153 17)(font "Intel Clear" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(pin + (output) + (rect 672 424 848 440) + (text "OUTPUT" (rect 1 0 39 10)(font "Arial" (font_size 6))) + (text "R7_out[15..0]" (rect 90 0 153 17)(font "Intel Clear" )) + (pt 0 8) + (drawing + (line (pt 0 8)(pt 52 8)) + (line (pt 52 4)(pt 78 4)) + (line (pt 52 12)(pt 78 12)) + (line (pt 52 12)(pt 52 4)) + (line (pt 78 4)(pt 82 8)) + (line (pt 82 8)(pt 78 12)) + (line (pt 78 12)(pt 82 8)) + ) +) +(symbol + (rect 352 168 488 368) + (text "LPM_COUNTER" (rect 20 0 133 16)(font "Arial" (font_size 10))) + (text "PC" (rect 3 189 18 203)(font "Arial" (font_size 8))) + (port + (pt 72 200) + (input) + (text "aclr" (rect 64 167 78 188)(font "Arial" (font_size 8))(vertical)) + (text "aclr" (rect 64 152 78 173)(font "Arial" (font_size 8))(vertical)) + (line (pt 72 200)(pt 72 184)) + (unused) + ) + (port + (pt 88 200) + (input) + (text "aload" (rect 80 158 94 188)(font "Arial" (font_size 8))(vertical)) + (text "aload" (rect 80 144 94 174)(font "Arial" (font_size 8))(vertical)) + (line (pt 88 200)(pt 88 184)) + (unused) + ) + (port + (pt 104 200) + (input) + (text "aset" (rect 48 164 62 188)(font "Arial" (font_size 8))(vertical)) + (text "aset" (rect 96 152 110 176)(font "Arial" (font_size 8))(vertical)) + (line (pt 104 200)(pt 104 184)) + (unused) + ) + (port + (pt 0 176) + (input) + (text "cin" (rect 24 168 40 182)(font "Arial" (font_size 8))) + (text "cin" (rect 20 168 36 182)(font "Arial" (font_size 8))) + (line (pt 0 176)(pt 16 176)) + (unused) + ) + (port + (pt 0 144) + (input) + (text "clk_en" (rect 20 121 56 135)(font "Arial" (font_size 8))) + (text "clk_en" (rect 20 137 56 151)(font "Arial" (font_size 8))) + (line (pt 0 144)(pt 16 144)) + (unused) + ) + (port + (pt 0 128) + (input) + (text "clock" (rect 27 106 56 120)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 27 122 56 136)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 128)(pt 16 128)) + ) + (port + (pt 0 160) + (input) + (text "cnt_en" (rect 20 137 58 151)(font "Arial" (font_size 8))) + (text "cnt_en" (rect 20 153 58 167)(font "Arial" (font_size 8))) + (line (pt 0 160)(pt 16 160)) + ) + (port + (pt 0 80) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 89 146 103)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 73 51 87)(font "Arial" (font_size 8))) + (line (pt 0 80)(pt 16 80)(line_width 3)) + ) + (port + (pt 0 32) + (input) + (text "sclr" (rect 20 25 41 39)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 25 41 39)(font "Arial" (font_size 8))) + (line (pt 0 32)(pt 16 32)) + (unused) + ) + (port + (pt 0 48) + (input) + (text "sload" (rect 20 41 50 55)(font "Arial" (font_size 8))) + (text "sload" (rect 20 41 50 55)(font "Arial" (font_size 8))) + (line (pt 0 48)(pt 16 48)) + ) + (port + (pt 0 64) + (input) + (text "sset" (rect 20 57 44 71)(font "Arial" (font_size 8))) + (text "sset" (rect 20 57 44 71)(font "Arial" (font_size 8))) + (line (pt 0 64)(pt 16 64)) + (unused) + ) + (port + (pt 0 112) + (input) + (text "updown" (rect 20 73 67 87)(font "Arial" (font_size 8))) + (text "updown" (rect 20 105 67 119)(font "Arial" (font_size 8))) + (line (pt 0 112)(pt 16 112)) + (unused) + ) + (port + (pt 136 112) + (output) + (text "cout" (rect 88 120 112 134)(font "Arial" (font_size 8))) + (text "cout" (rect 96 104 120 118)(font "Arial" (font_size 8))) + (line (pt 136 112)(pt 120 112)) + (unused) + ) + (port + (pt 136 96) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 105 89 213 103)(font "Arial" (font_size 8))) + (text "q[]" (rect 105 89 119 103)(font "Arial" (font_size 8))) + (line (pt 120 96)(pt 136 96)(line_width 3)) + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_MODULUS" + "" + "Optional counter wrap value" + ) + (parameter + "LPM_DIRECTION" + "\"UP\"" + "Selects between up/down, up, or down (\"DEFAULT\" \"UP\" \"DOWN\")" + (type "PARAMETER_UNKNOWN") ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + (type "PARAMETER_UNSIGNED_DEC") ) + (parameter + "LPM_PORT_UPDOWN" + "" + "Condition of the up/down port (\"PORT_CONNECTIVITY\" \"PORT_USED\" \"PORT_UNUSED\")" + ) + (drawing + (line (pt 16 184)(pt 120 184)) + (line (pt 16 16)(pt 120 16)) + (line (pt 16 184)(pt 16 16)) + (line (pt 120 184)(pt 120 16)) + (line (pt 16 136)(pt 24 128)) + (line (pt 24 128)(pt 16 120)) + ) + (annotation_block (parameter)(rect 488 168 504 184)) +) +(symbol + (rect 328 832 504 976) + (text "LPM_FF" (rect 19 0 78 16)(font "Arial" (font_size 10))) + (text "R4" (rect 3 133 15 150)(font "Intel Clear" )) + (port + (pt 88 144) + (input) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (line (pt 88 144)(pt 88 128)) + (unused) + ) + (port + (pt 0 24) + (input) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (line (pt 0 24)(pt 16 24)) + (unused) + ) + (port + (pt 88 0) + (input) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (line (pt 88 16)(pt 88 0)) + (unused) + ) + (port + (pt 0 88) + (input) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 88)(pt 16 88)) + ) + (port + (pt 0 72) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 63 146 77)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 63 51 77)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 16 72)(line_width 3)) + ) + (port + (pt 0 104) + (input) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (line (pt 0 104)(pt 16 104)) + ) + (port + (pt 0 120) + (input) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (line (pt 0 120)(pt 16 120)) + (unused) + ) + (port + (pt 0 56) + (input) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (line (pt 0 56)(pt 16 56)) + (unused) + ) + (port + (pt 0 40) + (input) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (line (pt 0 40)(pt 16 40)) + (unused) + ) + (port + (pt 176 88) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 144 81 252 95)(font "Arial" (font_size 8))) + (text "q[]" (rect 144 81 158 95)(font "Arial" (font_size 8))) + (line (pt 160 88)(pt 176 88)(line_width 3)) + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_FFTYPE" + "\"DFF\"" + "Selects behavior as DFF or TFF" + "\"DFF\"" "\"TFF\"" + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_UNSIGNED_DEC") ) + (drawing + (line (pt 16 16)(pt 160 16)) + (line (pt 16 128)(pt 160 128)) + (line (pt 160 128)(pt 160 16)) + (line (pt 16 128)(pt 16 16)) + (line (pt 16 80)(pt 24 88)) + (line (pt 24 88)(pt 16 96)) + ) + (annotation_block (parameter)(rect 504 832 520 848)) +) +(symbol + (rect 328 376 504 520) + (text "LPM_FF" (rect 19 0 78 16)(font "Arial" (font_size 10))) + (text "R1" (rect 3 133 15 150)(font "Intel Clear" )) + (port + (pt 88 144) + (input) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (line (pt 88 144)(pt 88 128)) + (unused) + ) + (port + (pt 0 24) + (input) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (line (pt 0 24)(pt 16 24)) + (unused) + ) + (port + (pt 88 0) + (input) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (line (pt 88 16)(pt 88 0)) + (unused) + ) + (port + (pt 0 88) + (input) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 88)(pt 16 88)) + ) + (port + (pt 0 72) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 63 146 77)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 63 51 77)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 16 72)(line_width 3)) + ) + (port + (pt 0 104) + (input) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (line (pt 0 104)(pt 16 104)) + ) + (port + (pt 0 120) + (input) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (line (pt 0 120)(pt 16 120)) + (unused) + ) + (port + (pt 0 56) + (input) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (line (pt 0 56)(pt 16 56)) + (unused) + ) + (port + (pt 0 40) + (input) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (line (pt 0 40)(pt 16 40)) + (unused) + ) + (port + (pt 176 88) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 144 81 252 95)(font "Arial" (font_size 8))) + (text "q[]" (rect 144 81 158 95)(font "Arial" (font_size 8))) + (line (pt 160 88)(pt 176 88)(line_width 3)) + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_FFTYPE" + "\"DFF\"" + "Selects behavior as DFF or TFF" + "\"DFF\"" "\"TFF\"" + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_UNSIGNED_DEC") ) + (drawing + (line (pt 16 16)(pt 160 16)) + (line (pt 16 128)(pt 160 128)) + (line (pt 160 128)(pt 160 16)) + (line (pt 16 128)(pt 16 16)) + (line (pt 16 80)(pt 24 88)) + (line (pt 24 88)(pt 16 96)) + ) + (annotation_block (parameter)(rect 504 376 520 392)) +) +(symbol + (rect 328 528 504 672) + (text "LPM_FF" (rect 19 0 78 16)(font "Arial" (font_size 10))) + (text "R2" (rect 3 133 15 150)(font "Intel Clear" )) + (port + (pt 88 144) + (input) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (line (pt 88 144)(pt 88 128)) + (unused) + ) + (port + (pt 0 24) + (input) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (line (pt 0 24)(pt 16 24)) + (unused) + ) + (port + (pt 88 0) + (input) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (line (pt 88 16)(pt 88 0)) + (unused) + ) + (port + (pt 0 88) + (input) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 88)(pt 16 88)) + ) + (port + (pt 0 72) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 63 146 77)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 63 51 77)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 16 72)(line_width 3)) + ) + (port + (pt 0 104) + (input) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (line (pt 0 104)(pt 16 104)) + ) + (port + (pt 0 120) + (input) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (line (pt 0 120)(pt 16 120)) + (unused) + ) + (port + (pt 0 56) + (input) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (line (pt 0 56)(pt 16 56)) + (unused) + ) + (port + (pt 0 40) + (input) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (line (pt 0 40)(pt 16 40)) + (unused) + ) + (port + (pt 176 88) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 144 81 252 95)(font "Arial" (font_size 8))) + (text "q[]" (rect 144 81 158 95)(font "Arial" (font_size 8))) + (line (pt 160 88)(pt 176 88)(line_width 3)) + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_FFTYPE" + "\"DFF\"" + "Selects behavior as DFF or TFF" + "\"DFF\"" "\"TFF\"" + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_UNSIGNED_DEC") ) + (drawing + (line (pt 16 16)(pt 160 16)) + (line (pt 16 128)(pt 160 128)) + (line (pt 160 128)(pt 160 16)) + (line (pt 16 128)(pt 16 16)) + (line (pt 16 80)(pt 24 88)) + (line (pt 24 88)(pt 16 96)) + ) + (annotation_block (parameter)(rect 504 528 520 544)) +) +(symbol + (rect 328 680 504 824) + (text "LPM_FF" (rect 19 0 78 16)(font "Arial" (font_size 10))) + (text "R3" (rect 3 133 15 150)(font "Intel Clear" )) + (port + (pt 88 144) + (input) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (line (pt 88 144)(pt 88 128)) + (unused) + ) + (port + (pt 0 24) + (input) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (line (pt 0 24)(pt 16 24)) + (unused) + ) + (port + (pt 88 0) + (input) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (line (pt 88 16)(pt 88 0)) + (unused) + ) + (port + (pt 0 88) + (input) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 88)(pt 16 88)) + ) + (port + (pt 0 72) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 63 146 77)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 63 51 77)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 16 72)(line_width 3)) + ) + (port + (pt 0 104) + (input) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (line (pt 0 104)(pt 16 104)) + ) + (port + (pt 0 120) + (input) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (line (pt 0 120)(pt 16 120)) + (unused) + ) + (port + (pt 0 56) + (input) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (line (pt 0 56)(pt 16 56)) + (unused) + ) + (port + (pt 0 40) + (input) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (line (pt 0 40)(pt 16 40)) + (unused) + ) + (port + (pt 176 88) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 144 81 252 95)(font "Arial" (font_size 8))) + (text "q[]" (rect 144 81 158 95)(font "Arial" (font_size 8))) + (line (pt 160 88)(pt 176 88)(line_width 3)) + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_FFTYPE" + "\"DFF\"" + "Selects behavior as DFF or TFF" + "\"DFF\"" "\"TFF\"" + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_UNSIGNED_DEC") ) + (drawing + (line (pt 16 16)(pt 160 16)) + (line (pt 16 128)(pt 160 128)) + (line (pt 160 128)(pt 160 16)) + (line (pt 16 128)(pt 16 16)) + (line (pt 16 80)(pt 24 88)) + (line (pt 24 88)(pt 16 96)) + ) + (annotation_block (parameter)(rect 504 680 520 696)) +) +(symbol + (rect 328 984 504 1128) + (text "LPM_FF" (rect 19 0 78 16)(font "Arial" (font_size 10))) + (text "R5" (rect 3 133 15 150)(font "Intel Clear" )) + (port + (pt 88 144) + (input) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (line (pt 88 144)(pt 88 128)) + (unused) + ) + (port + (pt 0 24) + (input) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (line (pt 0 24)(pt 16 24)) + (unused) + ) + (port + (pt 88 0) + (input) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (line (pt 88 16)(pt 88 0)) + (unused) + ) + (port + (pt 0 88) + (input) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 88)(pt 16 88)) + ) + (port + (pt 0 72) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 63 146 77)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 63 51 77)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 16 72)(line_width 3)) + ) + (port + (pt 0 104) + (input) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (line (pt 0 104)(pt 16 104)) + ) + (port + (pt 0 120) + (input) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (line (pt 0 120)(pt 16 120)) + (unused) + ) + (port + (pt 0 56) + (input) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (line (pt 0 56)(pt 16 56)) + (unused) + ) + (port + (pt 0 40) + (input) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (line (pt 0 40)(pt 16 40)) + (unused) + ) + (port + (pt 176 88) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 144 81 252 95)(font "Arial" (font_size 8))) + (text "q[]" (rect 144 81 158 95)(font "Arial" (font_size 8))) + (line (pt 160 88)(pt 176 88)(line_width 3)) + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_FFTYPE" + "\"DFF\"" + "Selects behavior as DFF or TFF" + "\"DFF\"" "\"TFF\"" + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_UNSIGNED_DEC") ) + (drawing + (line (pt 16 16)(pt 160 16)) + (line (pt 16 128)(pt 160 128)) + (line (pt 160 128)(pt 160 16)) + (line (pt 16 128)(pt 16 16)) + (line (pt 16 80)(pt 24 88)) + (line (pt 24 88)(pt 16 96)) + ) + (annotation_block (parameter)(rect 504 984 520 1000)) +) +(symbol + (rect 328 1136 504 1280) + (text "LPM_FF" (rect 19 0 78 16)(font "Arial" (font_size 10))) + (text "R6" (rect 3 133 15 150)(font "Intel Clear" )) + (port + (pt 88 144) + (input) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (line (pt 88 144)(pt 88 128)) + (unused) + ) + (port + (pt 0 24) + (input) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (line (pt 0 24)(pt 16 24)) + (unused) + ) + (port + (pt 88 0) + (input) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (line (pt 88 16)(pt 88 0)) + (unused) + ) + (port + (pt 0 88) + (input) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 88)(pt 16 88)) + ) + (port + (pt 0 72) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 63 146 77)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 63 51 77)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 16 72)(line_width 3)) + ) + (port + (pt 0 104) + (input) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (line (pt 0 104)(pt 16 104)) + ) + (port + (pt 0 120) + (input) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (line (pt 0 120)(pt 16 120)) + (unused) + ) + (port + (pt 0 56) + (input) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (line (pt 0 56)(pt 16 56)) + (unused) + ) + (port + (pt 0 40) + (input) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (line (pt 0 40)(pt 16 40)) + (unused) + ) + (port + (pt 176 88) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 144 81 252 95)(font "Arial" (font_size 8))) + (text "q[]" (rect 144 81 158 95)(font "Arial" (font_size 8))) + (line (pt 160 88)(pt 176 88)(line_width 3)) + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_FFTYPE" + "\"DFF\"" + "Selects behavior as DFF or TFF" + "\"DFF\"" "\"TFF\"" + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_UNSIGNED_DEC") ) + (drawing + (line (pt 16 16)(pt 160 16)) + (line (pt 16 128)(pt 160 128)) + (line (pt 160 128)(pt 160 16)) + (line (pt 16 128)(pt 16 16)) + (line (pt 16 80)(pt 24 88)) + (line (pt 24 88)(pt 16 96)) + ) + (annotation_block (parameter)(rect 504 1136 520 1152)) +) +(symbol + (rect 328 1288 504 1432) + (text "LPM_FF" (rect 19 0 78 16)(font "Arial" (font_size 10))) + (text "R7" (rect 3 133 15 150)(font "Intel Clear" )) + (port + (pt 88 144) + (input) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (text "aclr" (rect 80 113 101 127)(font "Arial" (font_size 8))) + (line (pt 88 144)(pt 88 128)) + (unused) + ) + (port + (pt 0 24) + (input) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (text "aload" (rect 20 17 50 31)(font "Arial" (font_size 8))) + (line (pt 0 24)(pt 16 24)) + (unused) + ) + (port + (pt 88 0) + (input) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (text "aset" (rect 79 17 103 31)(font "Arial" (font_size 8))) + (line (pt 88 16)(pt 88 0)) + (unused) + ) + (port + (pt 0 88) + (input) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (text "clock" (rect 20 81 49 95)(font "Arial" (font_size 8))(invisible)) + (line (pt 0 88)(pt 16 88)) + ) + (port + (pt 0 72) + (input) + (text "data[LPM_WIDTH-1..0]" (rect 20 63 146 77)(font "Arial" (font_size 8))) + (text "data[]" (rect 20 63 51 77)(font "Arial" (font_size 8))) + (line (pt 0 72)(pt 16 72)(line_width 3)) + ) + (port + (pt 0 104) + (input) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (text "enable" (rect 20 97 57 111)(font "Arial" (font_size 8))) + (line (pt 0 104)(pt 16 104)) + ) + (port + (pt 0 120) + (input) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (text "sclr" (rect 20 113 41 127)(font "Arial" (font_size 8))) + (line (pt 0 120)(pt 16 120)) + (unused) + ) + (port + (pt 0 56) + (input) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (text "sload" (rect 20 49 50 63)(font "Arial" (font_size 8))) + (line (pt 0 56)(pt 16 56)) + (unused) + ) + (port + (pt 0 40) + (input) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (text "sset" (rect 20 33 44 47)(font "Arial" (font_size 8))) + (line (pt 0 40)(pt 16 40)) + (unused) + ) + (port + (pt 176 88) + (output) + (text "q[LPM_WIDTH-1..0]" (rect 144 81 252 95)(font "Arial" (font_size 8))) + (text "q[]" (rect 144 81 158 95)(font "Arial" (font_size 8))) + (line (pt 160 88)(pt 176 88)(line_width 3)) + ) + (parameter + "LPM_AVALUE" + "" + "Unsigned value associated with the aset port" + ) + (parameter + "LPM_FFTYPE" + "\"DFF\"" + "Selects behavior as DFF or TFF" + "\"DFF\"" "\"TFF\"" + ) + (parameter + "LPM_SVALUE" + "" + "Unsigned value associated with the sset port" + ) + (parameter + "LPM_WIDTH" + "16" + "Width of I/O, any integer > 0" + " 1" " 2" " 3" " 4" " 5" " 6" " 7" " 8" " 9" "10" "11" "12" "13" "14" "15" "16" "20" "24" "28" "32" "40" "48" "56" "64" + (type "PARAMETER_UNSIGNED_DEC") ) + (drawing + (line (pt 16 16)(pt 160 16)) + (line (pt 16 128)(pt 160 128)) + (line (pt 160 128)(pt 160 16)) + (line (pt 16 128)(pt 16 16)) + (line (pt 16 80)(pt 24 88)) + (line (pt 24 88)(pt 16 96)) + ) + (annotation_block (parameter)(rect 504 1288 520 1304)) +) +(connector + (pt 488 264) + (pt 672 264) + (bus) +) +(connector + (pt 504 464) + (pt 520 464) + (bus) +) +(connector + (pt 520 464) + (pt 520 288) + (bus) +) +(connector + (pt 520 288) + (pt 672 288) + (bus) +) +(connector + (pt 504 616) + (pt 536 616) + (bus) +) +(connector + (pt 536 616) + (pt 536 312) + (bus) +) +(connector + (pt 672 312) + (pt 536 312) + (bus) +) +(connector + (pt 504 768) + (pt 552 768) + (bus) +) +(connector + (pt 504 920) + (pt 568 920) + (bus) +) +(connector + (pt 672 360) + (pt 568 360) + (bus) +) +(connector + (pt 568 360) + (pt 568 920) + (bus) +) +(connector + (pt 672 384) + (pt 584 384) + (bus) +) +(connector + (pt 672 408) + (pt 600 408) + (bus) +) +(connector + (pt 504 1072) + (pt 584 1072) + (bus) +) +(connector + (pt 584 384) + (pt 584 1072) + (bus) +) +(connector + (pt 504 1224) + (pt 600 1224) + (bus) +) +(connector + (pt 600 408) + (pt 600 1224) + (bus) +) +(connector + (pt 504 1376) + (pt 616 1376) + (bus) +) +(connector + (pt 280 144) + (pt 288 144) +) +(connector + (pt 128 1376) + (pt 328 1376) +) +(connector + (pt 328 1224) + (pt 128 1224) +) +(connector + (pt 128 1224) + (pt 128 1376) +) +(connector + (pt 328 1072) + (pt 128 1072) +) +(connector + (pt 128 1072) + (pt 128 1224) +) +(connector + (pt 328 920) + (pt 128 920) +) +(connector + (pt 128 920) + (pt 128 1072) +) +(connector + (pt 328 768) + (pt 128 768) +) +(connector + (pt 128 768) + (pt 128 920) +) +(connector + (pt 328 616) + (pt 128 616) +) +(connector + (pt 128 616) + (pt 128 768) +) +(connector + (pt 328 464) + (pt 128 464) +) +(connector + (pt 128 464) + (pt 128 616) +) +(connector + (pt 352 296) + (pt 128 296) +) +(connector + (pt 288 144) + (pt 288 184) +) +(connector + (pt 288 184) + (pt 128 184) +) +(connector + (pt 128 184) + (pt 128 296) +) +(connector + (pt 128 296) + (pt 128 464) +) +(connector + (pt 552 768) + (pt 552 336) + (bus) +) +(connector + (pt 552 336) + (pt 672 336) + (bus) +) +(connector + (pt 616 1376) + (pt 616 432) + (bus) +) +(connector + (pt 616 432) + (pt 672 432) + (bus) +) +(junction (pt 128 1224)) +(junction (pt 128 1072)) +(junction (pt 128 920)) +(junction (pt 128 768)) +(junction (pt 128 616)) +(junction (pt 128 464)) +(junction (pt 128 296)) diff --git a/reg_file.bsf b/reg_file.bsf new file mode 100644 index 0000000..f2c046c --- /dev/null +++ b/reg_file.bsf @@ -0,0 +1,211 @@ +/* +WARNING: Do NOT edit the input and output ports in this file in a text +editor if you plan to continue editing the block that represents it in +the Block Editor! File corruption is VERY likely to occur. +*/ +/* +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. +*/ +(header "symbol" (version "1.2")) +(symbol + (rect 16 16 224 368) + (text "reg_file" (rect 5 0 49 19)(font "Intel Clear" (font_size 8))) + (text "inst" (rect 8 331 24 348)(font "Intel Clear" )) + (port + (pt 0 32) + (input) + (text "CLK" (rect 0 0 23 19)(font "Intel Clear" (font_size 8))) + (text "CLK" (rect 21 27 44 46)(font "Intel Clear" (font_size 8))) + (line (pt 0 32)(pt 16 32)) + ) + (port + (pt 0 48) + (input) + (text "R0_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R0_en" (rect 21 43 58 62)(font "Intel Clear" (font_size 8))) + (line (pt 0 48)(pt 16 48)) + ) + (port + (pt 0 64) + (input) + (text "R0_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R0_in[15..0]" (rect 21 59 94 78)(font "Intel Clear" (font_size 8))) + (line (pt 0 64)(pt 16 64)(line_width 3)) + ) + (port + (pt 0 80) + (input) + (text "R0_count" (rect 0 0 55 19)(font "Intel Clear" (font_size 8))) + (text "R0_count" (rect 21 75 76 94)(font "Intel Clear" (font_size 8))) + (line (pt 0 80)(pt 16 80)) + ) + (port + (pt 0 96) + (input) + (text "R1_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R1_in[15..0]" (rect 21 91 94 110)(font "Intel Clear" (font_size 8))) + (line (pt 0 96)(pt 16 96)(line_width 3)) + ) + (port + (pt 0 112) + (input) + (text "R1_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R1_en" (rect 21 107 58 126)(font "Intel Clear" (font_size 8))) + (line (pt 0 112)(pt 16 112)) + ) + (port + (pt 0 128) + (input) + (text "R2_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R2_in[15..0]" (rect 21 123 94 142)(font "Intel Clear" (font_size 8))) + (line (pt 0 128)(pt 16 128)(line_width 3)) + ) + (port + (pt 0 144) + (input) + (text "R2_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R2_en" (rect 21 139 58 158)(font "Intel Clear" (font_size 8))) + (line (pt 0 144)(pt 16 144)) + ) + (port + (pt 0 160) + (input) + (text "R3_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R3_in[15..0]" (rect 21 155 94 174)(font "Intel Clear" (font_size 8))) + (line (pt 0 160)(pt 16 160)(line_width 3)) + ) + (port + (pt 0 176) + (input) + (text "R3_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R3_en" (rect 21 171 58 190)(font "Intel Clear" (font_size 8))) + (line (pt 0 176)(pt 16 176)) + ) + (port + (pt 0 192) + (input) + (text "R4_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R4_in[15..0]" (rect 21 187 94 206)(font "Intel Clear" (font_size 8))) + (line (pt 0 192)(pt 16 192)(line_width 3)) + ) + (port + (pt 0 208) + (input) + (text "R4_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R4_en" (rect 21 203 58 222)(font "Intel Clear" (font_size 8))) + (line (pt 0 208)(pt 16 208)) + ) + (port + (pt 0 224) + (input) + (text "R5_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R5_in[15..0]" (rect 21 219 94 238)(font "Intel Clear" (font_size 8))) + (line (pt 0 224)(pt 16 224)(line_width 3)) + ) + (port + (pt 0 240) + (input) + (text "R5_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R5_en" (rect 21 235 58 254)(font "Intel Clear" (font_size 8))) + (line (pt 0 240)(pt 16 240)) + ) + (port + (pt 0 256) + (input) + (text "R6_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R6_in[15..0]" (rect 21 251 94 270)(font "Intel Clear" (font_size 8))) + (line (pt 0 256)(pt 16 256)(line_width 3)) + ) + (port + (pt 0 272) + (input) + (text "R6_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R6_en" (rect 21 267 58 286)(font "Intel Clear" (font_size 8))) + (line (pt 0 272)(pt 16 272)) + ) + (port + (pt 0 288) + (input) + (text "R7_in[15..0]" (rect 0 0 73 19)(font "Intel Clear" (font_size 8))) + (text "R7_in[15..0]" (rect 21 283 94 302)(font "Intel Clear" (font_size 8))) + (line (pt 0 288)(pt 16 288)(line_width 3)) + ) + (port + (pt 0 304) + (input) + (text "R7_en" (rect 0 0 37 19)(font "Intel Clear" (font_size 8))) + (text "R7_en" (rect 21 299 58 318)(font "Intel Clear" (font_size 8))) + (line (pt 0 304)(pt 16 304)) + ) + (port + (pt 208 32) + (output) + (text " R0_out[15..0]" (rect 0 0 84 19)(font "Intel Clear" (font_size 8))) + (text " R0_out[15..0]" (rect 103 27 187 46)(font "Intel Clear" (font_size 8))) + (line (pt 208 32)(pt 192 32)(line_width 3)) + ) + (port + (pt 208 48) + (output) + (text "R1_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8))) + (text "R1_out[15..0]" (rect 106 43 187 62)(font "Intel Clear" (font_size 8))) + (line (pt 208 48)(pt 192 48)(line_width 3)) + ) + (port + (pt 208 64) + (output) + (text "R2_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8))) + (text "R2_out[15..0]" (rect 106 59 187 78)(font "Intel Clear" (font_size 8))) + (line (pt 208 64)(pt 192 64)(line_width 3)) + ) + (port + (pt 208 80) + (output) + (text "R3_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8))) + (text "R3_out[15..0]" (rect 106 75 187 94)(font "Intel Clear" (font_size 8))) + (line (pt 208 80)(pt 192 80)(line_width 3)) + ) + (port + (pt 208 96) + (output) + (text "R4_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8))) + (text "R4_out[15..0]" (rect 106 91 187 110)(font "Intel Clear" (font_size 8))) + (line (pt 208 96)(pt 192 96)(line_width 3)) + ) + (port + (pt 208 112) + (output) + (text "R5_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8))) + (text "R5_out[15..0]" (rect 106 107 187 126)(font "Intel Clear" (font_size 8))) + (line (pt 208 112)(pt 192 112)(line_width 3)) + ) + (port + (pt 208 128) + (output) + (text "R6_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8))) + (text "R6_out[15..0]" (rect 106 123 187 142)(font "Intel Clear" (font_size 8))) + (line (pt 208 128)(pt 192 128)(line_width 3)) + ) + (port + (pt 208 144) + (output) + (text "R7_out[15..0]" (rect 0 0 81 19)(font "Intel Clear" (font_size 8))) + (text "R7_out[15..0]" (rect 106 139 187 158)(font "Intel Clear" (font_size 8))) + (line (pt 208 144)(pt 192 144)(line_width 3)) + ) + (drawing + (rectangle (rect 16 16 192 336)) + ) +)