427 lines
12 KiB
VHDL
427 lines
12 KiB
VHDL
-- Copyright (C) 2020 Intel Corporation. All rights reserved.
|
|
-- Your use of Intel Corporation's design tools, logic functions
|
|
-- and other software and tools, and any partner logic
|
|
-- functions, and any output files from any of the foregoing
|
|
-- (including device programming or simulation files), and any
|
|
-- associated documentation or information are expressly subject
|
|
-- to the terms and conditions of the Intel Program License
|
|
-- Subscription Agreement, the Intel Quartus Prime License Agreement,
|
|
-- the Intel FPGA IP License Agreement, or other applicable license
|
|
-- agreement, including, without limitation, that your use is for
|
|
-- the sole purpose of programming logic devices manufactured by
|
|
-- Intel and sold by Intel or its authorized distributors. Please
|
|
-- refer to the applicable agreement for further details, at
|
|
-- https://fpgasoftware.intel.com/eula.
|
|
|
|
-- VENDOR "Altera"
|
|
-- PROGRAM "Quartus Prime"
|
|
-- VERSION "Version 20.1.1 Build 720 11/11/2020 SJ Lite Edition"
|
|
|
|
-- DATE "03/08/2023 11:38:17"
|
|
|
|
--
|
|
-- Device: Altera EP4CE115F29C7 Package FBGA780
|
|
--
|
|
|
|
--
|
|
-- This VHDL file should be used for ModelSim-Altera (VHDL) only
|
|
--
|
|
|
|
LIBRARY CYCLONEIVE;
|
|
LIBRARY IEEE;
|
|
USE CYCLONEIVE.CYCLONEIVE_COMPONENTS.ALL;
|
|
USE IEEE.STD_LOGIC_1164.ALL;
|
|
|
|
ENTITY hard_block IS
|
|
PORT (
|
|
devoe : IN std_logic;
|
|
devclrn : IN std_logic;
|
|
devpor : IN std_logic
|
|
);
|
|
END hard_block;
|
|
|
|
-- Design Ports Information
|
|
-- ~ALTERA_ASDO_DATA1~ => Location: PIN_F4, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- ~ALTERA_FLASH_nCE_nCSO~ => Location: PIN_E2, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- ~ALTERA_DCLK~ => Location: PIN_P3, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- ~ALTERA_DATA0~ => Location: PIN_N7, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- ~ALTERA_nCEO~ => Location: PIN_P28, I/O Standard: 2.5 V, Current Strength: 8mA
|
|
|
|
|
|
ARCHITECTURE structure OF hard_block IS
|
|
SIGNAL gnd : std_logic := '0';
|
|
SIGNAL vcc : std_logic := '1';
|
|
SIGNAL unknown : std_logic := 'X';
|
|
SIGNAL ww_devoe : std_logic;
|
|
SIGNAL ww_devclrn : std_logic;
|
|
SIGNAL ww_devpor : std_logic;
|
|
SIGNAL \~ALTERA_ASDO_DATA1~~padout\ : std_logic;
|
|
SIGNAL \~ALTERA_FLASH_nCE_nCSO~~padout\ : std_logic;
|
|
SIGNAL \~ALTERA_DATA0~~padout\ : std_logic;
|
|
SIGNAL \~ALTERA_ASDO_DATA1~~ibuf_o\ : std_logic;
|
|
SIGNAL \~ALTERA_FLASH_nCE_nCSO~~ibuf_o\ : std_logic;
|
|
SIGNAL \~ALTERA_DATA0~~ibuf_o\ : std_logic;
|
|
|
|
BEGIN
|
|
|
|
ww_devoe <= devoe;
|
|
ww_devclrn <= devclrn;
|
|
ww_devpor <= devpor;
|
|
END structure;
|
|
|
|
|
|
LIBRARY CYCLONEIVE;
|
|
LIBRARY IEEE;
|
|
USE CYCLONEIVE.CYCLONEIVE_COMPONENTS.ALL;
|
|
USE IEEE.STD_LOGIC_1164.ALL;
|
|
|
|
ENTITY AdderDemo IS
|
|
PORT (
|
|
LEDR : OUT std_logic_vector(4 DOWNTO 0);
|
|
SW : IN std_logic_vector(7 DOWNTO 0)
|
|
);
|
|
END AdderDemo;
|
|
|
|
-- Design Ports Information
|
|
-- LEDR[4] => Location: PIN_F18, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- LEDR[3] => Location: PIN_F21, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- LEDR[2] => Location: PIN_E19, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- LEDR[1] => Location: PIN_F19, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- LEDR[0] => Location: PIN_G19, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[7] => Location: PIN_AB26, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[3] => Location: PIN_AD27, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[6] => Location: PIN_AD26, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[2] => Location: PIN_AC27, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[0] => Location: PIN_AB28, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[4] => Location: PIN_AB27, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[1] => Location: PIN_AC28, I/O Standard: 2.5 V, Current Strength: Default
|
|
-- SW[5] => Location: PIN_AC26, I/O Standard: 2.5 V, Current Strength: Default
|
|
|
|
|
|
ARCHITECTURE structure OF AdderDemo IS
|
|
SIGNAL gnd : std_logic := '0';
|
|
SIGNAL vcc : std_logic := '1';
|
|
SIGNAL unknown : std_logic := 'X';
|
|
SIGNAL devoe : std_logic := '1';
|
|
SIGNAL devclrn : std_logic := '1';
|
|
SIGNAL devpor : std_logic := '1';
|
|
SIGNAL ww_devoe : std_logic;
|
|
SIGNAL ww_devclrn : std_logic;
|
|
SIGNAL ww_devpor : std_logic;
|
|
SIGNAL ww_LEDR : std_logic_vector(4 DOWNTO 0);
|
|
SIGNAL ww_SW : std_logic_vector(7 DOWNTO 0);
|
|
SIGNAL \LEDR[4]~output_o\ : std_logic;
|
|
SIGNAL \LEDR[3]~output_o\ : std_logic;
|
|
SIGNAL \LEDR[2]~output_o\ : std_logic;
|
|
SIGNAL \LEDR[1]~output_o\ : std_logic;
|
|
SIGNAL \LEDR[0]~output_o\ : std_logic;
|
|
SIGNAL \SW[0]~input_o\ : std_logic;
|
|
SIGNAL \SW[1]~input_o\ : std_logic;
|
|
SIGNAL \SW[5]~input_o\ : std_logic;
|
|
SIGNAL \SW[4]~input_o\ : std_logic;
|
|
SIGNAL \Adder4Demo|bit1|cout~0_combout\ : std_logic;
|
|
SIGNAL \SW[6]~input_o\ : std_logic;
|
|
SIGNAL \SW[2]~input_o\ : std_logic;
|
|
SIGNAL \Adder4Demo|bit2|cout~0_combout\ : std_logic;
|
|
SIGNAL \SW[3]~input_o\ : std_logic;
|
|
SIGNAL \SW[7]~input_o\ : std_logic;
|
|
SIGNAL \Adder4Demo|bit3|cout~0_combout\ : std_logic;
|
|
SIGNAL \Adder4Demo|bit3|s~combout\ : std_logic;
|
|
SIGNAL \Adder4Demo|bit2|s~0_combout\ : std_logic;
|
|
SIGNAL \Adder4Demo|bit1|s~0_combout\ : std_logic;
|
|
SIGNAL \Adder4Demo|bit0|s~0_combout\ : std_logic;
|
|
|
|
COMPONENT hard_block
|
|
PORT (
|
|
devoe : IN std_logic;
|
|
devclrn : IN std_logic;
|
|
devpor : IN std_logic);
|
|
END COMPONENT;
|
|
|
|
BEGIN
|
|
|
|
LEDR <= ww_LEDR;
|
|
ww_SW <= SW;
|
|
ww_devoe <= devoe;
|
|
ww_devclrn <= devclrn;
|
|
ww_devpor <= devpor;
|
|
auto_generated_inst : hard_block
|
|
PORT MAP (
|
|
devoe => ww_devoe,
|
|
devclrn => ww_devclrn,
|
|
devpor => ww_devpor);
|
|
|
|
-- Location: IOOBUF_X87_Y73_N16
|
|
\LEDR[4]~output\ : cycloneive_io_obuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
open_drain_output => "false")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => \Adder4Demo|bit3|cout~0_combout\,
|
|
devoe => ww_devoe,
|
|
o => \LEDR[4]~output_o\);
|
|
|
|
-- Location: IOOBUF_X107_Y73_N16
|
|
\LEDR[3]~output\ : cycloneive_io_obuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
open_drain_output => "false")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => \Adder4Demo|bit3|s~combout\,
|
|
devoe => ww_devoe,
|
|
o => \LEDR[3]~output_o\);
|
|
|
|
-- Location: IOOBUF_X94_Y73_N9
|
|
\LEDR[2]~output\ : cycloneive_io_obuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
open_drain_output => "false")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => \Adder4Demo|bit2|s~0_combout\,
|
|
devoe => ww_devoe,
|
|
o => \LEDR[2]~output_o\);
|
|
|
|
-- Location: IOOBUF_X94_Y73_N2
|
|
\LEDR[1]~output\ : cycloneive_io_obuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
open_drain_output => "false")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => \Adder4Demo|bit1|s~0_combout\,
|
|
devoe => ww_devoe,
|
|
o => \LEDR[1]~output_o\);
|
|
|
|
-- Location: IOOBUF_X69_Y73_N16
|
|
\LEDR[0]~output\ : cycloneive_io_obuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
open_drain_output => "false")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => \Adder4Demo|bit0|s~0_combout\,
|
|
devoe => ww_devoe,
|
|
o => \LEDR[0]~output_o\);
|
|
|
|
-- Location: IOIBUF_X115_Y17_N1
|
|
\SW[0]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(0),
|
|
o => \SW[0]~input_o\);
|
|
|
|
-- Location: IOIBUF_X115_Y14_N1
|
|
\SW[1]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(1),
|
|
o => \SW[1]~input_o\);
|
|
|
|
-- Location: IOIBUF_X115_Y11_N8
|
|
\SW[5]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(5),
|
|
o => \SW[5]~input_o\);
|
|
|
|
-- Location: IOIBUF_X115_Y18_N8
|
|
\SW[4]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(4),
|
|
o => \SW[4]~input_o\);
|
|
|
|
-- Location: LCCOMB_X114_Y18_N24
|
|
\Adder4Demo|bit1|cout~0\ : cycloneive_lcell_comb
|
|
-- Equation(s):
|
|
-- \Adder4Demo|bit1|cout~0_combout\ = (\SW[1]~input_o\ & ((\SW[5]~input_o\) # ((\SW[0]~input_o\ & \SW[4]~input_o\)))) # (!\SW[1]~input_o\ & (\SW[0]~input_o\ & (\SW[5]~input_o\ & \SW[4]~input_o\)))
|
|
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
lut_mask => "1110100011000000",
|
|
sum_lutc_input => "datac")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
dataa => \SW[0]~input_o\,
|
|
datab => \SW[1]~input_o\,
|
|
datac => \SW[5]~input_o\,
|
|
datad => \SW[4]~input_o\,
|
|
combout => \Adder4Demo|bit1|cout~0_combout\);
|
|
|
|
-- Location: IOIBUF_X115_Y10_N1
|
|
\SW[6]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(6),
|
|
o => \SW[6]~input_o\);
|
|
|
|
-- Location: IOIBUF_X115_Y15_N8
|
|
\SW[2]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(2),
|
|
o => \SW[2]~input_o\);
|
|
|
|
-- Location: LCCOMB_X114_Y18_N10
|
|
\Adder4Demo|bit2|cout~0\ : cycloneive_lcell_comb
|
|
-- Equation(s):
|
|
-- \Adder4Demo|bit2|cout~0_combout\ = (\Adder4Demo|bit1|cout~0_combout\ & ((\SW[6]~input_o\) # (\SW[2]~input_o\))) # (!\Adder4Demo|bit1|cout~0_combout\ & (\SW[6]~input_o\ & \SW[2]~input_o\))
|
|
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
lut_mask => "1111110011000000",
|
|
sum_lutc_input => "datac")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
datab => \Adder4Demo|bit1|cout~0_combout\,
|
|
datac => \SW[6]~input_o\,
|
|
datad => \SW[2]~input_o\,
|
|
combout => \Adder4Demo|bit2|cout~0_combout\);
|
|
|
|
-- Location: IOIBUF_X115_Y13_N8
|
|
\SW[3]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(3),
|
|
o => \SW[3]~input_o\);
|
|
|
|
-- Location: IOIBUF_X115_Y15_N1
|
|
\SW[7]~input\ : cycloneive_io_ibuf
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
bus_hold => "false",
|
|
simulate_z_as => "z")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
i => ww_SW(7),
|
|
o => \SW[7]~input_o\);
|
|
|
|
-- Location: LCCOMB_X114_Y18_N28
|
|
\Adder4Demo|bit3|cout~0\ : cycloneive_lcell_comb
|
|
-- Equation(s):
|
|
-- \Adder4Demo|bit3|cout~0_combout\ = (\Adder4Demo|bit2|cout~0_combout\ & ((\SW[3]~input_o\) # (\SW[7]~input_o\))) # (!\Adder4Demo|bit2|cout~0_combout\ & (\SW[3]~input_o\ & \SW[7]~input_o\))
|
|
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
lut_mask => "1111101010100000",
|
|
sum_lutc_input => "datac")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
dataa => \Adder4Demo|bit2|cout~0_combout\,
|
|
datac => \SW[3]~input_o\,
|
|
datad => \SW[7]~input_o\,
|
|
combout => \Adder4Demo|bit3|cout~0_combout\);
|
|
|
|
-- Location: LCCOMB_X114_Y18_N22
|
|
\Adder4Demo|bit3|s\ : cycloneive_lcell_comb
|
|
-- Equation(s):
|
|
-- \Adder4Demo|bit3|s~combout\ = \Adder4Demo|bit2|cout~0_combout\ $ (\SW[3]~input_o\ $ (\SW[7]~input_o\))
|
|
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
lut_mask => "1010010101011010",
|
|
sum_lutc_input => "datac")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
dataa => \Adder4Demo|bit2|cout~0_combout\,
|
|
datac => \SW[3]~input_o\,
|
|
datad => \SW[7]~input_o\,
|
|
combout => \Adder4Demo|bit3|s~combout\);
|
|
|
|
-- Location: LCCOMB_X114_Y18_N0
|
|
\Adder4Demo|bit2|s~0\ : cycloneive_lcell_comb
|
|
-- Equation(s):
|
|
-- \Adder4Demo|bit2|s~0_combout\ = \Adder4Demo|bit1|cout~0_combout\ $ (\SW[6]~input_o\ $ (\SW[2]~input_o\))
|
|
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
lut_mask => "1100001100111100",
|
|
sum_lutc_input => "datac")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
datab => \Adder4Demo|bit1|cout~0_combout\,
|
|
datac => \SW[6]~input_o\,
|
|
datad => \SW[2]~input_o\,
|
|
combout => \Adder4Demo|bit2|s~0_combout\);
|
|
|
|
-- Location: LCCOMB_X114_Y18_N26
|
|
\Adder4Demo|bit1|s~0\ : cycloneive_lcell_comb
|
|
-- Equation(s):
|
|
-- \Adder4Demo|bit1|s~0_combout\ = \SW[1]~input_o\ $ (\SW[5]~input_o\ $ (((\SW[0]~input_o\ & \SW[4]~input_o\))))
|
|
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
lut_mask => "1001011000111100",
|
|
sum_lutc_input => "datac")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
dataa => \SW[0]~input_o\,
|
|
datab => \SW[1]~input_o\,
|
|
datac => \SW[5]~input_o\,
|
|
datad => \SW[4]~input_o\,
|
|
combout => \Adder4Demo|bit1|s~0_combout\);
|
|
|
|
-- Location: LCCOMB_X114_Y18_N4
|
|
\Adder4Demo|bit0|s~0\ : cycloneive_lcell_comb
|
|
-- Equation(s):
|
|
-- \Adder4Demo|bit0|s~0_combout\ = \SW[0]~input_o\ $ (\SW[4]~input_o\)
|
|
|
|
-- pragma translate_off
|
|
GENERIC MAP (
|
|
lut_mask => "0000111111110000",
|
|
sum_lutc_input => "datac")
|
|
-- pragma translate_on
|
|
PORT MAP (
|
|
datac => \SW[0]~input_o\,
|
|
datad => \SW[4]~input_o\,
|
|
combout => \Adder4Demo|bit0|s~0_combout\);
|
|
|
|
ww_LEDR(4) <= \LEDR[4]~output_o\;
|
|
|
|
ww_LEDR(3) <= \LEDR[3]~output_o\;
|
|
|
|
ww_LEDR(2) <= \LEDR[2]~output_o\;
|
|
|
|
ww_LEDR(1) <= \LEDR[1]~output_o\;
|
|
|
|
ww_LEDR(0) <= \LEDR[0]~output_o\;
|
|
END structure;
|
|
|
|
|