mirror of
https://github.com/Artoriuz/maestro.git
synced 2025-04-18 18:44:44 -04:00
Adding all the files
This commit is contained in:
parent
876e697a64
commit
d9ee52826d
241 changed files with 1950869 additions and 0 deletions
129
Project/Components/ALU.vhd
Normal file
129
Project/Components/ALU.vhd
Normal file
|
@ -0,0 +1,129 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
|
||||||
|
entity ALU is
|
||||||
|
port (
|
||||||
|
input_0, input_1 : in std_logic_vector(31 downto 0);
|
||||||
|
operation : in std_logic_vector(3 downto 0);
|
||||||
|
branch : in std_logic;
|
||||||
|
ALU_branch_control : in std_logic_vector(2 downto 0);
|
||||||
|
ALU_branch_response : out std_logic;
|
||||||
|
ALU_output : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end entity ALU;
|
||||||
|
|
||||||
|
architecture Behavioral of ALU is
|
||||||
|
|
||||||
|
signal result_temp : std_logic_vector(32 downto 0) := "000000000000000000000000000000000";
|
||||||
|
|
||||||
|
begin
|
||||||
|
process (input_0, input_1, operation, result_temp, branch, ALU_branch_control) is
|
||||||
|
begin
|
||||||
|
result_temp <= "000000000000000000000000000000000";
|
||||||
|
if (branch = '1') then
|
||||||
|
case ALU_branch_control is
|
||||||
|
when "000" => --BEQ (branch if equal)
|
||||||
|
result_temp <= std_logic_vector(signed(input_0(31) & input_0) - signed(input_1(31) & input_1));
|
||||||
|
if (result_temp = "000000000000000000000000000000000") then
|
||||||
|
ALU_branch_response <= '1';
|
||||||
|
else
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "001" => --BNE (branch not equal)
|
||||||
|
result_temp <= std_logic_vector(signed(input_0(31) & input_0) - signed(input_1(31) & input_1));
|
||||||
|
if (result_temp = "000000000000000000000000000000000") then
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
else
|
||||||
|
ALU_branch_response <= '1';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "100" => --BLT (branch less than)
|
||||||
|
result_temp <= std_logic_vector(signed(input_0(31) & input_0) - signed(input_1(31) & input_1));
|
||||||
|
if (result_temp(32) = '1') then
|
||||||
|
ALU_branch_response <= '1';
|
||||||
|
else
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "101" => --BGE (branch greater than equal)
|
||||||
|
result_temp <= std_logic_vector(signed(input_0(31) & input_0) - signed(input_1(31) & input_1));
|
||||||
|
if (result_temp(32) = '0') then
|
||||||
|
ALU_branch_response <= '1';
|
||||||
|
else
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "110" => --BLTU (branch less than unsigned)
|
||||||
|
result_temp <= std_logic_vector(unsigned('0' & input_0) - unsigned('0' & input_1));
|
||||||
|
if (result_temp(32) = '1') then
|
||||||
|
ALU_branch_response <= '1';
|
||||||
|
else
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "111" => --BGEU (branch greater than equal unsigned)
|
||||||
|
result_temp <= std_logic_vector(unsigned('0' & input_0) - unsigned('0' & input_1));
|
||||||
|
if (result_temp(32) = '0') then
|
||||||
|
ALU_branch_response <= '1';
|
||||||
|
else
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when others =>
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
end case;
|
||||||
|
else
|
||||||
|
ALU_branch_response <= '0';
|
||||||
|
case operation is
|
||||||
|
when "0000" => -- ALU_output = input_0 + input_1
|
||||||
|
result_temp <= std_logic_vector(signed(input_0(31) & input_0) + signed(input_1(31) & input_1));
|
||||||
|
ALU_output <= result_temp(31 downto 0);
|
||||||
|
|
||||||
|
when "1000" => -- ALU_output = input_0 - input_1
|
||||||
|
result_temp <= std_logic_vector(signed(input_0(31) & input_0) - signed(input_1(31) & input_1));
|
||||||
|
ALU_output <= result_temp(31 downto 0);
|
||||||
|
|
||||||
|
when "0001" => -- shift left logical
|
||||||
|
ALU_output <= std_logic_vector(shift_left(unsigned(input_0), to_integer(unsigned(input_1))));
|
||||||
|
|
||||||
|
when "0010" => -- set less than (signed)
|
||||||
|
result_temp <= std_logic_vector(signed(input_0(31) & input_0) - signed(input_1(31) & input_1));
|
||||||
|
if (result_temp(32) = '1') then
|
||||||
|
ALU_output <= X"00000001";
|
||||||
|
else
|
||||||
|
ALU_output <= X"00000000";
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "0011" => -- set less than unsigned
|
||||||
|
result_temp <= std_logic_vector(unsigned('0' & input_0) - unsigned('0' & input_1));
|
||||||
|
if (result_temp(32) = '1') then
|
||||||
|
ALU_output <= X"00000001";
|
||||||
|
else
|
||||||
|
ALU_output <= X"00000000";
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "0100" => -- xor port
|
||||||
|
ALU_output <= input_0 xor input_1;
|
||||||
|
|
||||||
|
when "0101" => -- shift right logical
|
||||||
|
ALU_output <= std_logic_vector(shift_right(unsigned(input_0), to_integer(unsigned(input_1))));
|
||||||
|
|
||||||
|
when "1101" => --shift right arithmetic
|
||||||
|
ALU_output <= std_logic_vector(shift_right(signed(input_0), to_integer(unsigned(input_1))));
|
||||||
|
|
||||||
|
when "0110" => -- or port
|
||||||
|
ALU_output <= input_0 or input_1;
|
||||||
|
|
||||||
|
when "0111" => -- and port
|
||||||
|
ALU_output <= input_0 and input_1;
|
||||||
|
|
||||||
|
when others => --apenas zera tudo
|
||||||
|
result_temp(32 downto 0) <= "000000000000000000000000000000000";
|
||||||
|
ALU_output <= result_temp(31 downto 0);
|
||||||
|
end case;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
end process;
|
||||||
|
end architecture Behavioral;
|
140
Project/Components/EX_MEM_DIV.vhd
Normal file
140
Project/Components/EX_MEM_DIV.vhd
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity EX_MEM_DIV is
|
||||||
|
port (
|
||||||
|
--INPUTS
|
||||||
|
|
||||||
|
clock, clear : in std_logic;
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_in : in std_logic_vector(2 downto 0);
|
||||||
|
datamem_write_in : in std_logic;
|
||||||
|
jump_flag_in : in std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_in : in std_logic_vector(1 downto 0);
|
||||||
|
reg_file_write_in : in std_logic;
|
||||||
|
reg_file_write_address_in : in std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_in : in std_logic_vector(31 downto 0);
|
||||||
|
register_file_output_1_in : in std_logic_vector(31 downto 0);
|
||||||
|
ALU_branch_response_in : in std_logic;
|
||||||
|
instruction_address_in : in std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--OUTPUTS
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_out : out std_logic_vector(2 downto 0);
|
||||||
|
datamem_write_out : out std_logic;
|
||||||
|
jump_flag_out : out std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_out : out std_logic_vector(1 downto 0);
|
||||||
|
reg_file_write_out : out std_logic;
|
||||||
|
reg_file_write_address_out : out std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_out : out std_logic_vector(31 downto 0);
|
||||||
|
register_file_output_1_out : out std_logic_vector(31 downto 0);
|
||||||
|
ALU_branch_response_out : out std_logic;
|
||||||
|
instruction_address_out : out std_logic_vector(31 downto 0)
|
||||||
|
|
||||||
|
);
|
||||||
|
end EX_MEM_DIV;
|
||||||
|
|
||||||
|
architecture behavioral of EX_MEM_DIV is
|
||||||
|
|
||||||
|
--INTERNAL SIGNALS
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
signal data_format_input_signal : std_logic_vector(2 downto 0);
|
||||||
|
signal datamem_write_input_signal : std_logic;
|
||||||
|
signal jump_flag_input_signal : std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
signal mux0_sel_input_signal : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_input_signal : std_logic;
|
||||||
|
signal reg_file_write_address_input_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal ALU_output_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal register_file_output_1_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal ALU_branch_response_input_signal : std_logic;
|
||||||
|
signal instruction_address_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
signal data_format_output_signal : std_logic_vector(2 downto 0);
|
||||||
|
signal datamem_write_output_signal : std_logic;
|
||||||
|
signal jump_flag_output_signal : std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
signal mux0_sel_output_signal : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_output_signal : std_logic;
|
||||||
|
signal reg_file_write_address_output_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal ALU_output_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal register_file_output_1_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal ALU_branch_response_output_signal : std_logic;
|
||||||
|
signal instruction_address_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
--INTERNAL REGISTERS
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_reg : reg3b port map(data_format_input_signal, '1', clock, clear, data_format_output_signal);
|
||||||
|
datamem_write_reg : reg1b port map(datamem_write_input_signal, '1', clock, clear, datamem_write_output_signal);
|
||||||
|
jump_flag_reg : reg1b port map(jump_flag_input_signal, '1', clock, clear, jump_flag_output_signal);
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_reg : reg2b port map(mux0_sel_input_signal, '1', clock, clear, mux0_sel_output_signal);
|
||||||
|
reg_file_write_reg : reg1b port map(reg_file_write_input_signal, '1', clock, clear, reg_file_write_output_signal);
|
||||||
|
reg_file_write_address_reg : reg5b port map(reg_file_write_address_input_signal, '1', clock, clear, reg_file_write_address_output_signal);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_reg : reg32b port map(ALU_output_input_signal, '1', clock, clear, ALU_output_output_signal);
|
||||||
|
register_file_output_1_reg : reg32b port map(register_file_output_1_input_signal, '1', clock, clear, register_file_output_1_output_signal);
|
||||||
|
ALU_branch_respose_reg : reg1b port map(ALU_branch_response_input_signal, '1', clock, clear, ALU_branch_response_output_signal);
|
||||||
|
instruction_address_reg : reg32b port map(instruction_address_input_signal, '1', clock, clear, instruction_address_output_signal);
|
||||||
|
|
||||||
|
--WIRING INPUT PORTS
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_input_signal <= data_format_in;
|
||||||
|
datamem_write_input_signal <= datamem_write_in;
|
||||||
|
jump_flag_input_signal <= jump_flag_in;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_input_signal <= mux0_sel_in;
|
||||||
|
reg_file_write_input_signal <= reg_file_write_in;
|
||||||
|
reg_file_write_address_input_signal <= reg_file_write_address_in;
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_input_signal <= ALU_output_in;
|
||||||
|
register_file_output_1_input_signal <= register_file_output_1_in;
|
||||||
|
ALU_branch_response_input_signal <= ALU_branch_response_in;
|
||||||
|
instruction_address_input_signal <= instruction_address_in;
|
||||||
|
|
||||||
|
--WIRING OUTPUT PORTS
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_out <= data_format_output_signal;
|
||||||
|
datamem_write_out <= datamem_write_output_signal;
|
||||||
|
jump_flag_out <= jump_flag_output_signal;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_out <= mux0_sel_output_signal;
|
||||||
|
reg_file_write_out <= reg_file_write_output_signal;
|
||||||
|
reg_file_write_address_out <= reg_file_write_address_output_signal;
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_out <= ALU_output_output_signal;
|
||||||
|
register_file_output_1_out <= register_file_output_1_output_signal;
|
||||||
|
ALU_branch_response_out <= ALU_branch_response_output_signal;
|
||||||
|
instruction_address_out <= instruction_address_output_signal;
|
||||||
|
|
||||||
|
end behavioral;
|
217
Project/Components/ID_EX_DIV.vhd
Normal file
217
Project/Components/ID_EX_DIV.vhd
Normal file
|
@ -0,0 +1,217 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity ID_EX_DIV is
|
||||||
|
port (
|
||||||
|
--INPUTS
|
||||||
|
|
||||||
|
clock, clear : in std_logic;
|
||||||
|
|
||||||
|
--EX control signals
|
||||||
|
ALU_operation_in : in std_logic_vector(3 downto 0);
|
||||||
|
ALU_branch_in : in std_logic;
|
||||||
|
ALU_branch_control_in : in std_logic_vector(2 downto 0);
|
||||||
|
mux1_sel_in : in std_logic;
|
||||||
|
JTU_mux_sel_in : in std_logic;
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_in : in std_logic_vector(2 downto 0);
|
||||||
|
datamem_write_in : in std_logic;
|
||||||
|
jump_flag_in : in std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_in : in std_logic_vector(1 downto 0);
|
||||||
|
reg_file_write_in : in std_logic;
|
||||||
|
reg_file_write_address_in : in std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Read addresses to be given to the forwarding unit
|
||||||
|
register_file_read_address_0_in : in std_logic_vector(4 downto 0);
|
||||||
|
register_file_read_address_1_in : in std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
register_file_output_0_in : in std_logic_vector(31 downto 0);
|
||||||
|
register_file_output_1_in : in std_logic_vector(31 downto 0);
|
||||||
|
immediate_in : in std_logic_vector(31 downto 0);
|
||||||
|
instruction_address_in : in std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--OUTPUTS
|
||||||
|
|
||||||
|
--EX control signals
|
||||||
|
ALU_operation_out : out std_logic_vector(3 downto 0);
|
||||||
|
ALU_branch_out : out std_logic;
|
||||||
|
ALU_branch_control_out : out std_logic_vector(2 downto 0);
|
||||||
|
mux1_sel_out : out std_logic;
|
||||||
|
JTU_mux_sel_out : out std_logic;
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_out : out std_logic_vector(2 downto 0);
|
||||||
|
datamem_write_out : out std_logic;
|
||||||
|
jump_flag_out : out std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_out : out std_logic_vector(1 downto 0);
|
||||||
|
reg_file_write_out : out std_logic;
|
||||||
|
reg_file_write_address_out : out std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Read addresses to be given to the forwarding unit
|
||||||
|
register_file_read_address_0_out : out std_logic_vector(4 downto 0);
|
||||||
|
register_file_read_address_1_out : out std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
register_file_output_0_out : out std_logic_vector(31 downto 0);
|
||||||
|
register_file_output_1_out : out std_logic_vector(31 downto 0);
|
||||||
|
immediate_out : out std_logic_vector(31 downto 0);
|
||||||
|
instruction_address_out : out std_logic_vector(31 downto 0)
|
||||||
|
|
||||||
|
);
|
||||||
|
end ID_EX_DIV;
|
||||||
|
|
||||||
|
architecture behavioral of ID_EX_DIV is
|
||||||
|
|
||||||
|
--INTERNAL SIGNALS
|
||||||
|
|
||||||
|
--EX control signals
|
||||||
|
signal ALU_operation_input_signal : std_logic_vector(3 downto 0);
|
||||||
|
signal ALU_branch_input_signal : std_logic;
|
||||||
|
signal ALU_branch_control_input_signal : std_logic_vector(2 downto 0);
|
||||||
|
signal mux1_sel_input_signal : std_logic;
|
||||||
|
signal JTU_mux_sel_input_signal : std_logic;
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
signal data_format_input_signal : std_logic_vector(2 downto 0);
|
||||||
|
signal datamem_write_input_signal : std_logic;
|
||||||
|
signal jump_flag_input_signal : std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
signal mux0_sel_input_signal : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_input_signal : std_logic;
|
||||||
|
signal reg_file_write_address_input_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal register_file_output_0_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal register_file_output_1_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal immediate_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_address_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--Read addresses to be given to the forwarding unit
|
||||||
|
signal register_file_read_address_0_input_signal : std_logic_vector(4 downto 0);
|
||||||
|
signal register_file_read_address_1_input_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--EX control signals
|
||||||
|
signal ALU_operation_output_signal : std_logic_vector(3 downto 0);
|
||||||
|
signal ALU_branch_output_signal : std_logic;
|
||||||
|
signal ALU_branch_control_output_signal : std_logic_vector(2 downto 0);
|
||||||
|
signal mux1_sel_output_signal : std_logic;
|
||||||
|
signal JTU_mux_sel_output_signal : std_logic;
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
signal data_format_output_signal : std_logic_vector(2 downto 0);
|
||||||
|
signal datamem_write_output_signal : std_logic;
|
||||||
|
signal jump_flag_output_signal : std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
signal mux0_sel_output_signal : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_output_signal : std_logic;
|
||||||
|
signal reg_file_write_address_output_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal register_file_output_0_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal register_file_output_1_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal immediate_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_address_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--Read addresses to be given to the forwarding unit
|
||||||
|
signal register_file_read_address_0_output_signal : std_logic_vector(4 downto 0);
|
||||||
|
signal register_file_read_address_1_output_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
--INTERNAL REGISTERS
|
||||||
|
|
||||||
|
--EX control signals
|
||||||
|
ALU_operation_reg : reg4b port map(ALU_operation_input_signal, '1', clock, clear, ALU_operation_output_signal);
|
||||||
|
ALU_branch_reg : reg1b port map(ALU_branch_input_signal, '1', clock, clear, ALU_branch_output_signal);
|
||||||
|
ALU_branch_control_reg : reg3b port map(ALU_branch_control_input_signal, '1', clock, clear, ALU_branch_control_output_signal);
|
||||||
|
mux1_sel_reg : reg1b port map(mux1_sel_input_signal, '1', clock, clear, mux1_sel_output_signal);
|
||||||
|
JTU_mux_sel_reg : reg1b port map(JTU_mux_sel_input_signal, '1', clock, clear, JTU_mux_sel_output_signal);
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_reg : reg3b port map(data_format_input_signal, '1', clock, clear, data_format_output_signal);
|
||||||
|
datamem_write_reg : reg1b port map(datamem_write_input_signal, '1', clock, clear, datamem_write_output_signal);
|
||||||
|
jump_flag_reg : reg1b port map(jump_flag_input_signal, '1', clock, clear, jump_flag_output_signal);
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_reg : reg2b port map(mux0_sel_input_signal, '1', clock, clear, mux0_sel_output_signal);
|
||||||
|
reg_file_write_reg : reg1b port map(reg_file_write_input_signal, '1', clock, clear, reg_file_write_output_signal);
|
||||||
|
reg_file_write_address_reg : reg5b port map(reg_file_write_address_input_signal, '1', clock, clear, reg_file_write_address_output_signal);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
register_file_output_0_reg : reg32b port map(register_file_output_0_input_signal, '1', clock, clear, register_file_output_0_output_signal);
|
||||||
|
register_file_output_1_reg : reg32b port map(register_file_output_1_input_signal, '1', clock, clear, register_file_output_1_output_signal);
|
||||||
|
immediate_reg : reg32b port map(immediate_input_signal, '1', clock, clear, immediate_output_signal);
|
||||||
|
instruction_address_reg : reg32b port map(instruction_address_input_signal, '1', clock, clear, instruction_address_output_signal);
|
||||||
|
|
||||||
|
--Read addresses to be given to the forwarding unit
|
||||||
|
register_file_read_address_0_reg : reg5b port map(register_file_read_address_0_input_signal, '1', clock, clear, register_file_read_address_0_output_signal);
|
||||||
|
register_file_read_address_1_reg : reg5b port map(register_file_read_address_1_input_signal, '1', clock, clear, register_file_read_address_1_output_signal);
|
||||||
|
|
||||||
|
--WIRING INPUT PORTS
|
||||||
|
|
||||||
|
--EX control signals
|
||||||
|
ALU_operation_input_signal <= ALU_operation_in;
|
||||||
|
ALU_branch_input_signal <= ALU_branch_in;
|
||||||
|
ALU_branch_control_input_signal <= ALU_branch_control_in;
|
||||||
|
mux1_sel_input_signal <= mux1_sel_in;
|
||||||
|
JTU_mux_sel_input_signal <= JTU_mux_sel_in;
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_input_signal <= data_format_in;
|
||||||
|
datamem_write_input_signal <= datamem_write_in;
|
||||||
|
jump_flag_input_signal <= jump_flag_in;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_input_signal <= mux0_sel_in;
|
||||||
|
reg_file_write_input_signal <= reg_file_write_in;
|
||||||
|
reg_file_write_address_input_signal <= reg_file_write_address_in;
|
||||||
|
|
||||||
|
--Data
|
||||||
|
register_file_output_0_input_signal <= register_file_output_0_in;
|
||||||
|
register_file_output_1_input_signal <= register_file_output_1_in;
|
||||||
|
immediate_input_signal <= immediate_in;
|
||||||
|
instruction_address_input_signal <= instruction_address_in;
|
||||||
|
|
||||||
|
--Read addresses to be given to the forwarding unit
|
||||||
|
register_file_read_address_0_input_signal <= register_file_read_address_0_in;
|
||||||
|
register_file_read_address_1_input_signal <= register_file_read_address_1_in;
|
||||||
|
|
||||||
|
--WIRING OUTPUT PORTS
|
||||||
|
|
||||||
|
--EX control signals
|
||||||
|
ALU_operation_out <= ALU_operation_output_signal;
|
||||||
|
ALU_branch_out <= ALU_branch_output_signal;
|
||||||
|
ALU_branch_control_out <= ALU_branch_control_output_signal;
|
||||||
|
mux1_sel_out <= mux1_sel_output_signal;
|
||||||
|
JTU_mux_sel_out <= JTU_mux_sel_output_signal;
|
||||||
|
|
||||||
|
--MEM control signals
|
||||||
|
data_format_out <= data_format_output_signal;
|
||||||
|
datamem_write_out <= datamem_write_output_signal;
|
||||||
|
jump_flag_out <= jump_flag_output_signal;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_out <= mux0_sel_output_signal;
|
||||||
|
reg_file_write_out <= reg_file_write_output_signal;
|
||||||
|
reg_file_write_address_out <= reg_file_write_address_output_signal;
|
||||||
|
|
||||||
|
--Data
|
||||||
|
register_file_output_0_out <= register_file_output_0_output_signal;
|
||||||
|
register_file_output_1_out <= register_file_output_1_output_signal;
|
||||||
|
immediate_out <= immediate_output_signal;
|
||||||
|
instruction_address_out <= instruction_address_output_signal;
|
||||||
|
|
||||||
|
--Read addresses to be given to the forwarding unit
|
||||||
|
register_file_read_address_0_out <= register_file_read_address_0_output_signal;
|
||||||
|
register_file_read_address_1_out <= register_file_read_address_1_output_signal;
|
||||||
|
|
||||||
|
end behavioral;
|
53
Project/Components/IF_ID_DIV.vhd
Normal file
53
Project/Components/IF_ID_DIV.vhd
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity IF_ID_DIV is
|
||||||
|
port (
|
||||||
|
--INPUTS
|
||||||
|
|
||||||
|
clock, clear : in std_logic;
|
||||||
|
|
||||||
|
--Data
|
||||||
|
instruction_address_in : in std_logic_vector(31 downto 0);
|
||||||
|
instruction_data_in : in std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--OUTPUTS
|
||||||
|
|
||||||
|
--Data
|
||||||
|
instruction_address_out : out std_logic_vector(31 downto 0);
|
||||||
|
instruction_data_out : out std_logic_vector(31 downto 0)
|
||||||
|
|
||||||
|
);
|
||||||
|
end IF_ID_DIV;
|
||||||
|
|
||||||
|
architecture behavioral of IF_ID_DIV is
|
||||||
|
|
||||||
|
--INTERNAL SIGNALS
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal instruction_address_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_data_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal instruction_address_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_data_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
--INTERNAL REGISTERS
|
||||||
|
|
||||||
|
--Data
|
||||||
|
instruction_address_reg : reg32b port map(instruction_address_input_signal, '1', clock, clear, instruction_address_output_signal);
|
||||||
|
instruction_data_reg : reg32b port map(instruction_data_input_signal, '1', clock, clear, instruction_data_output_signal);
|
||||||
|
|
||||||
|
--WIRING OUTPUT PORTS
|
||||||
|
|
||||||
|
--Data
|
||||||
|
instruction_address_out <= instruction_address_output_signal;
|
||||||
|
instruction_data_out <= instruction_data_output_signal;
|
||||||
|
|
||||||
|
instruction_address_input_signal <= instruction_address_in;
|
||||||
|
instruction_data_input_signal <= instruction_data_in;
|
||||||
|
|
||||||
|
end behavioral;
|
98
Project/Components/MEM_WB_DIV.vhd
Normal file
98
Project/Components/MEM_WB_DIV.vhd
Normal file
|
@ -0,0 +1,98 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity MEM_WB_DIV is
|
||||||
|
port (
|
||||||
|
--INPUTS
|
||||||
|
|
||||||
|
clock, clear : in std_logic;
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_in : in std_logic_vector(1 downto 0);
|
||||||
|
reg_file_write_in : in std_logic;
|
||||||
|
reg_file_write_address_in : in std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_in : in std_logic_vector(31 downto 0);
|
||||||
|
datamem_output_in : in std_logic_vector(31 downto 0);
|
||||||
|
instruction_address_in : in std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--OUTPUTS
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_out : out std_logic_vector(1 downto 0);
|
||||||
|
reg_file_write_out : out std_logic;
|
||||||
|
reg_file_write_address_out : out std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_out : out std_logic_vector(31 downto 0);
|
||||||
|
datamem_output_out : out std_logic_vector(31 downto 0);
|
||||||
|
instruction_address_out : out std_logic_vector(31 downto 0)
|
||||||
|
|
||||||
|
);
|
||||||
|
end MEM_WB_DIV;
|
||||||
|
|
||||||
|
architecture behavioral of MEM_WB_DIV is
|
||||||
|
|
||||||
|
--INTERNAL SIGNALS
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
signal mux0_sel_input_signal : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_input_signal : std_logic;
|
||||||
|
signal reg_file_write_address_input_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal ALU_output_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal datamem_output_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_address_input_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
signal mux0_sel_output_signal : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_output_signal : std_logic;
|
||||||
|
signal reg_file_write_address_output_signal : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
signal ALU_output_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal datamem_output_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_address_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
--INTERNAL REGISTERS
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_reg : reg2b port map(mux0_sel_input_signal, '1', clock, clear, mux0_sel_output_signal);
|
||||||
|
reg_file_write_reg : reg1b port map(reg_file_write_input_signal, '1', clock, clear, reg_file_write_output_signal);
|
||||||
|
reg_file_write_address_reg : reg5b port map(reg_file_write_address_input_signal, '1', clock, clear, reg_file_write_address_output_signal);
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_reg : reg32b port map(ALU_output_input_signal, '1', clock, clear, ALU_output_output_signal);
|
||||||
|
datamem_output_reg : reg32b port map(datamem_output_input_signal, '1', clock, clear, datamem_output_output_signal);
|
||||||
|
instruction_address_reg : reg32b port map(instruction_address_input_signal, '1', clock, clear, instruction_address_output_signal);
|
||||||
|
|
||||||
|
--WIRING INPUT PORTS
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_input_signal <= mux0_sel_in;
|
||||||
|
reg_file_write_input_signal <= reg_file_write_in;
|
||||||
|
reg_file_write_address_input_signal <= reg_file_write_address_in;
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_input_signal <= ALU_output_in;
|
||||||
|
datamem_output_input_signal <= datamem_output_in;
|
||||||
|
instruction_address_input_signal <= instruction_address_in;
|
||||||
|
|
||||||
|
--WIRING OUTPUT PORTS
|
||||||
|
|
||||||
|
--WB control signals
|
||||||
|
mux0_sel_out <= mux0_sel_output_signal;
|
||||||
|
reg_file_write_out <= reg_file_write_output_signal;
|
||||||
|
reg_file_write_address_out <= reg_file_write_address_output_signal;
|
||||||
|
|
||||||
|
--Data
|
||||||
|
ALU_output_out <= ALU_output_output_signal;
|
||||||
|
datamem_output_out <= datamem_output_output_signal;
|
||||||
|
instruction_address_out <= instruction_address_output_signal;
|
||||||
|
|
||||||
|
end behavioral;
|
23
Project/Components/adder.vhd
Normal file
23
Project/Components/adder.vhd
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
|
||||||
|
entity adder is
|
||||||
|
port (
|
||||||
|
input_0 : in std_logic_vector(31 downto 0);
|
||||||
|
input_1 : in std_logic_vector(31 downto 0);
|
||||||
|
output_0 : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end adder;
|
||||||
|
|
||||||
|
architecture behavioral of adder is
|
||||||
|
signal internal_output : std_logic_vector (32 downto 0) := "000000000000000000000000000000000";
|
||||||
|
begin
|
||||||
|
process (input_0, input_1, internal_output) is
|
||||||
|
begin
|
||||||
|
internal_output <= std_logic_vector(signed(input_0(31) & input_0) + signed(input_1(31) & input_1));
|
||||||
|
end process;
|
||||||
|
|
||||||
|
output_0 <= internal_output(31 downto 0);
|
||||||
|
|
||||||
|
end behavioral;
|
494
Project/Components/controller.vhd
Normal file
494
Project/Components/controller.vhd
Normal file
|
@ -0,0 +1,494 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity controller is
|
||||||
|
port (
|
||||||
|
clock : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
instruction : in std_logic_vector(31 downto 0);
|
||||||
|
reg_file_read_address_0 : out std_logic_vector(4 downto 0);
|
||||||
|
reg_file_read_address_1 : out std_logic_vector(4 downto 0);
|
||||||
|
reg_file_write : out std_logic;
|
||||||
|
reg_file_write_address : out std_logic_vector(4 downto 0);
|
||||||
|
immediate : out std_logic_vector(31 downto 0);
|
||||||
|
ALU_operation : out std_logic_vector(3 downto 0);
|
||||||
|
ALU_branch : out std_logic;
|
||||||
|
ALU_branch_control : out std_logic_vector(2 downto 0);
|
||||||
|
JTU_mux_sel : out std_logic;
|
||||||
|
data_format : out std_logic_vector(2 downto 0);
|
||||||
|
datamem_write : out std_logic;
|
||||||
|
jump_flag : out std_logic;
|
||||||
|
mux0_sel : out std_logic_vector(1 downto 0);
|
||||||
|
mux1_sel : out std_logic
|
||||||
|
);
|
||||||
|
end entity controller;
|
||||||
|
|
||||||
|
architecture Behavioral of controller is
|
||||||
|
type operational_states is (normal);
|
||||||
|
signal current_state, next_state : operational_states := normal;
|
||||||
|
|
||||||
|
type instruction_cluster is (INVALID, LOAD, STORE, MADD, BRANCH, LOAD_FP, STORE_FP, MSUB, JALR, NMSUB, MISC_MEM, AMO, NMADD, JAL, OP_IMM, OP, OP_FP, SYSTEM, AUIPC, LUI, OP_IMM_32, OP_32);
|
||||||
|
signal decoded_cluster : instruction_cluster;
|
||||||
|
|
||||||
|
type opcode is (INVALID, LUI, AUIPC, JAL, JALR, BEQ, BNE, BLT, BGE, BLTU, BGEU, LB, LH, LW, LBU, LHU, SB, SH, SW,
|
||||||
|
ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI, ADD, SUB, inst_SLL, SLT, SLTU, inst_XOR, inst_SRL, inst_SRA, inst_OR, inst_AND, FENCE,
|
||||||
|
FENCEI, EXALL, EBREAK, CSRRW, CSRRS, CSRRC, CSRRSI, CSRRCI);
|
||||||
|
signal decoded_opcode : opcode;
|
||||||
|
|
||||||
|
signal fetched_instruction : std_logic_vector (31 downto 0) := X"00000000";
|
||||||
|
signal internal_immediate : std_logic_vector (31 downto 0) := X"00000000";
|
||||||
|
signal internal_reg_file_read_address_0 : std_logic_vector(4 downto 0) := "00000";
|
||||||
|
signal internal_reg_file_read_address_1 : std_logic_vector(4 downto 0) := "00000";
|
||||||
|
signal internal_reg_file_write : std_logic := '0';
|
||||||
|
signal internal_reg_file_write_address : std_logic_vector(4 downto 0) := "00000";
|
||||||
|
signal internal_PC_operation : std_logic_vector(2 downto 0) := "000";
|
||||||
|
signal internal_ALU_operation : std_logic_vector(3 downto 0) := "0000";
|
||||||
|
signal internal_ALU_branch : std_logic := '0';
|
||||||
|
signal internal_ALU_branch_control : std_logic_vector(2 downto 0) := "000";
|
||||||
|
signal internal_JTU_mux_sel : std_logic;
|
||||||
|
signal internal_data_format : std_logic_vector(2 downto 0) := "000";
|
||||||
|
signal internal_datamem_write : std_logic := '0';
|
||||||
|
signal internal_jump_flag : std_logic := '0';
|
||||||
|
signal internal_mux0_sel : std_logic_vector(1 downto 0) := "00";
|
||||||
|
signal internal_mux1_sel : std_logic := '0';
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
synchronism : process (clock, reset)
|
||||||
|
begin
|
||||||
|
if (reset = '1') then
|
||||||
|
current_state <= normal;
|
||||||
|
elsif rising_edge(clock) then
|
||||||
|
current_state <= next_state;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
logic : process (fetched_instruction, decoded_cluster, decoded_opcode, current_state)
|
||||||
|
begin
|
||||||
|
case (current_state) is
|
||||||
|
-- when start => --This states exists to clean the existing mess and restart the processor
|
||||||
|
-- internal_reg_file_read_address_0 <= "00000";
|
||||||
|
-- internal_reg_file_read_address_1 <= "00000";
|
||||||
|
-- internal_reg_file_write <= '0';
|
||||||
|
-- internal_reg_file_write_address <= "00000";
|
||||||
|
-- internal_immediate <= X"00000000";
|
||||||
|
-- internal_PC_operation <= "000";
|
||||||
|
-- internal_ALU_operation <= "0000"; --unused number to make the ALU output 0
|
||||||
|
-- internal_ALU_branch <= '0';
|
||||||
|
-- internal_ALU_branch_control <= "000";
|
||||||
|
-- internal_data_format <= "000";
|
||||||
|
-- internal_datamem_write <= '0';
|
||||||
|
-- internal_mux0_sel <= "00";
|
||||||
|
-- internal_mux1_sel <= '0';
|
||||||
|
-- next_state <= normal;
|
||||||
|
|
||||||
|
when normal =>
|
||||||
|
if fetched_instruction(1 downto 0) = "00" then
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
else
|
||||||
|
case (fetched_instruction(4 downto 2)) is
|
||||||
|
when "000" =>
|
||||||
|
case (fetched_instruction(6 downto 5)) is
|
||||||
|
when "00" => --LOAD
|
||||||
|
decoded_cluster <= LOAD;
|
||||||
|
case (fetched_instruction(14 downto 12)) is --funct3
|
||||||
|
when "000" => --Load Byte
|
||||||
|
decoded_opcode <= LB;
|
||||||
|
when "001" => --Load Half-Word
|
||||||
|
decoded_opcode <= LH;
|
||||||
|
when "010" => --Load Word
|
||||||
|
decoded_opcode <= LW;
|
||||||
|
when "100" => --Load Byte Unsigned
|
||||||
|
decoded_opcode <= LBU;
|
||||||
|
when "101" => --Load Hald-Word Unsigned
|
||||||
|
decoded_opcode <= LHU;
|
||||||
|
when others =>
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
when "01" => --STORE
|
||||||
|
decoded_cluster <= STORE;
|
||||||
|
case (fetched_instruction(14 downto 12)) is --funct3
|
||||||
|
when "000" => --Store Byte
|
||||||
|
decoded_opcode <= SB;
|
||||||
|
when "001" => --Store Half-Word
|
||||||
|
decoded_opcode <= SH;
|
||||||
|
when "010" => --Store Word
|
||||||
|
decoded_opcode <= SW;
|
||||||
|
when others =>
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
when "10" => --MADD
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "11" => --BRANCH
|
||||||
|
decoded_cluster <= BRANCH;
|
||||||
|
case (fetched_instruction(14 downto 12)) is --funct3
|
||||||
|
when "000" => --Branch if equal
|
||||||
|
decoded_opcode <= BEQ;
|
||||||
|
when "001" => --Branch if not equal
|
||||||
|
decoded_opcode <= BNE;
|
||||||
|
when "100" => --Branch if lower than
|
||||||
|
decoded_opcode <= BLT;
|
||||||
|
when "101" => --Branch if greater or equal
|
||||||
|
decoded_opcode <= BGE;
|
||||||
|
when "110" => --Branch if lower than unsigned
|
||||||
|
decoded_opcode <= BLTU;
|
||||||
|
when "111" => --Branch if greater or equal unsigned
|
||||||
|
decoded_opcode <= BGEU;
|
||||||
|
when others =>
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
end case;
|
||||||
|
when "001" =>
|
||||||
|
case (fetched_instruction(6 downto 5)) is
|
||||||
|
when "00" => --LOAD-FP
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "01" => --STORE-FP
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "10" => --MSUB
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "11" => --JALR
|
||||||
|
decoded_cluster <= JALR;
|
||||||
|
decoded_opcode <= JALR;
|
||||||
|
end case;
|
||||||
|
when "010" =>
|
||||||
|
case (fetched_instruction(6 downto 5)) is
|
||||||
|
when "00" => --Custom 0
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "01" => --Custom 1
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "10" => --NMSUB
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "11" => --Reserved
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
when "011" =>
|
||||||
|
case (fetched_instruction(6 downto 5)) is
|
||||||
|
when "00" => --MISC-MEM
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "01" => --AMO
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "10" => --NMADD
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "11" => --JAL
|
||||||
|
decoded_cluster <= JAL;
|
||||||
|
decoded_opcode <= JAL;
|
||||||
|
end case;
|
||||||
|
when "100" =>
|
||||||
|
case (fetched_instruction(6 downto 5)) is
|
||||||
|
when "00" => --OP-IMM
|
||||||
|
decoded_cluster <= OP_IMM;
|
||||||
|
case (fetched_instruction(14 downto 12)) is --funct3
|
||||||
|
when "000" => --Add immediate
|
||||||
|
decoded_opcode <= ADDI;
|
||||||
|
when "010" => --Set less than immediate
|
||||||
|
decoded_opcode <= SLTI;
|
||||||
|
when "011" => --Set less than immediate unsigned
|
||||||
|
decoded_opcode <= SLTIU;
|
||||||
|
when "100" => --XOR immediate
|
||||||
|
decoded_opcode <= XORI;
|
||||||
|
when "110" => --OR immediate
|
||||||
|
decoded_opcode <= ORI;
|
||||||
|
when "111" => --AND immediate
|
||||||
|
decoded_opcode <= ANDI;
|
||||||
|
when "001" => --Shift left logical immediate
|
||||||
|
decoded_opcode <= SLLI;
|
||||||
|
when "101" => --Shift right immediate
|
||||||
|
case (fetched_instruction(30)) is
|
||||||
|
when '0' => --Shift right logical immediate
|
||||||
|
decoded_opcode <= SRLI;
|
||||||
|
when '1' => --Shift right arithmetic immediate
|
||||||
|
decoded_opcode <= SRAI;
|
||||||
|
end case;
|
||||||
|
when others =>
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
when "01" => --OP
|
||||||
|
decoded_cluster <= OP;
|
||||||
|
case (fetched_instruction(14 downto 12)) is --funct3
|
||||||
|
when "000" => --ADD or SUB
|
||||||
|
case (fetched_instruction(30)) is
|
||||||
|
when '0' => --Add
|
||||||
|
decoded_opcode <= ADD;
|
||||||
|
when '1' => --Sub
|
||||||
|
decoded_opcode <= SUB;
|
||||||
|
end case;
|
||||||
|
when "001" => --Shift left logical
|
||||||
|
decoded_opcode <= inst_SLL;
|
||||||
|
when "010" => --Set less than
|
||||||
|
decoded_opcode <= SLT;
|
||||||
|
when "011" => --Set less than unsigned
|
||||||
|
decoded_opcode <= SLTU;
|
||||||
|
when "100" => --XOR
|
||||||
|
decoded_opcode <= inst_XOR;
|
||||||
|
when "101" => --Shift right
|
||||||
|
case (fetched_instruction(30)) is
|
||||||
|
when '0' => --Shift right logical
|
||||||
|
decoded_opcode <= inst_SRL;
|
||||||
|
when '1' => --Shift right arithmetic
|
||||||
|
decoded_opcode <= inst_SRA;
|
||||||
|
end case;
|
||||||
|
when "110" => --OR
|
||||||
|
decoded_opcode <= inst_OR;
|
||||||
|
when "111" => --AND
|
||||||
|
decoded_opcode <= inst_AND;
|
||||||
|
end case;
|
||||||
|
when "10" => --OP-FP
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "11" => --SYSTEM
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
when "101" =>
|
||||||
|
case (fetched_instruction(6 downto 5)) is
|
||||||
|
when "00" => --AUIPC
|
||||||
|
decoded_cluster <= AUIPC;
|
||||||
|
decoded_opcode <= AUIPC;
|
||||||
|
when "01" => --LUI
|
||||||
|
decoded_cluster <= LUI;
|
||||||
|
decoded_opcode <= LUI;
|
||||||
|
when "10" => --Reserved
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "11" => --Reserved
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
when "110" =>
|
||||||
|
case (fetched_instruction(6 downto 5)) is
|
||||||
|
when "00" => --OP-IMM-32
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "01" => --OP-32
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "10" => --rv128
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
when "11" => --rv128
|
||||||
|
decoded_cluster <= INVALID;
|
||||||
|
decoded_opcode <= INVALID;
|
||||||
|
end case;
|
||||||
|
when others =>
|
||||||
|
end case;
|
||||||
|
end if;
|
||||||
|
|
||||||
|
case (decoded_cluster) is
|
||||||
|
when INVALID =>
|
||||||
|
internal_reg_file_read_address_0 <= "00000";
|
||||||
|
internal_reg_file_read_address_1 <= "00000";
|
||||||
|
internal_reg_file_write <= '0';
|
||||||
|
internal_reg_file_write_address <= "00000";
|
||||||
|
internal_immediate <= X"00000000";
|
||||||
|
internal_ALU_operation <= "0000"; --random unused number to make the ALU output 0
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000";
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "00";
|
||||||
|
internal_mux1_sel <= '0';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when LOAD =>
|
||||||
|
internal_reg_file_read_address_0 <= fetched_instruction(19 downto 15);
|
||||||
|
internal_reg_file_read_address_1 <= "00000";
|
||||||
|
internal_reg_file_write <= '1'; --regfile is only lodaded on write_back
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= std_logic_vector("00000000000000000000" & fetched_instruction(31 downto 20));
|
||||||
|
internal_ALU_operation <= "0000";
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000"; --BEQ, BNE, BLT, BGE, BLTU, BGEU
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= std_logic_vector(fetched_instruction(14 downto 12)); --LB, LH, LW, LBU, LHU
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "01";
|
||||||
|
internal_mux1_sel <= '1';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when STORE =>
|
||||||
|
internal_reg_file_read_address_0 <= fetched_instruction(19 downto 15);
|
||||||
|
internal_reg_file_read_address_1 <= fetched_instruction(24 downto 20);
|
||||||
|
internal_reg_file_write <= '0';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= std_logic_vector("00000000000000000000" & fetched_instruction(31 downto 25) & fetched_instruction(11 downto 7));
|
||||||
|
internal_ALU_operation <= "0000";
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000"; --BEQ, BNE, BLT, BGE, BLTU, BGEU
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= std_logic_vector(fetched_instruction(14 downto 12)); --SB, SH, SW
|
||||||
|
internal_datamem_write <= '1'; --memory is only written on memory_access
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "00";
|
||||||
|
internal_mux1_sel <= '1';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when BRANCH =>
|
||||||
|
internal_reg_file_read_address_0 <= fetched_instruction(19 downto 15);
|
||||||
|
internal_reg_file_read_address_1 <= fetched_instruction(24 downto 20);
|
||||||
|
internal_reg_file_write <= '0';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= std_logic_vector("00000000000000000" & fetched_instruction(31) & fetched_instruction(7) & fetched_instruction(30 downto 25) & fetched_instruction(11 downto 6) & '0');
|
||||||
|
internal_ALU_operation <= "0000";
|
||||||
|
internal_ALU_branch <= '1';
|
||||||
|
internal_ALU_branch_control <= std_logic_vector(fetched_instruction(14 downto 12)); --BEQ, BNE, BLT, BGE, BLTU, BGEU
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "00";
|
||||||
|
internal_mux1_sel <= '0';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when JALR =>
|
||||||
|
internal_reg_file_read_address_0 <= fetched_instruction(19 downto 15);
|
||||||
|
internal_reg_file_read_address_1 <= "00000";
|
||||||
|
internal_reg_file_write <= '1';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= std_logic_vector(shift_right(signed(fetched_instruction(31 downto 20) & "00000000000000000000"), 20));
|
||||||
|
internal_ALU_operation <= "0000";
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000";
|
||||||
|
internal_JTU_mux_sel <= '1';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '1';
|
||||||
|
internal_mux0_sel <= "10";
|
||||||
|
internal_mux1_sel <= '0';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when JAL =>
|
||||||
|
internal_reg_file_read_address_0 <= "00000";
|
||||||
|
internal_reg_file_read_address_1 <= "00000";
|
||||||
|
internal_reg_file_write <= '1';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= std_logic_vector(shift_right(signed(fetched_instruction(31) & fetched_instruction(19 downto 12) & fetched_instruction(20) & fetched_instruction(30 downto 21) & '0' & "00000000000"), 11));
|
||||||
|
internal_ALU_operation <= "0000";
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000";
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '1';
|
||||||
|
internal_mux0_sel <= "10";
|
||||||
|
internal_mux1_sel <= '0';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when OP_IMM => --ADDI, SLTI, SLTIU, XORI, ORI, ANDI, SLLI, SRLI, SRAI
|
||||||
|
internal_reg_file_read_address_0 <= fetched_instruction(19 downto 15);
|
||||||
|
internal_reg_file_read_address_1 <= fetched_instruction(24 downto 20);
|
||||||
|
internal_reg_file_write <= '1';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000";
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "00";
|
||||||
|
internal_mux1_sel <= '1';
|
||||||
|
case (decoded_opcode) is
|
||||||
|
when ADDI | SLTI | SLTIU =>
|
||||||
|
internal_ALU_operation <= std_logic_vector('0' & fetched_instruction(14 downto 12));
|
||||||
|
internal_immediate <= std_logic_vector(shift_right(signed(fetched_instruction(31 downto 20) & "00000000000000000000"), 20));
|
||||||
|
when XORI | ORI | ANDI =>
|
||||||
|
internal_ALU_operation <= std_logic_vector('0' & fetched_instruction(14 downto 12));
|
||||||
|
internal_immediate <= std_logic_vector("00000000000000000000" & fetched_instruction(31 downto 20));
|
||||||
|
when SLLI =>
|
||||||
|
internal_ALU_operation <= std_logic_vector('0' & fetched_instruction(14 downto 12));
|
||||||
|
internal_immediate <= std_logic_vector("000000000000000000000000000" & fetched_instruction(24 downto 20));
|
||||||
|
when SRLI | SRAI =>
|
||||||
|
internal_ALU_operation <= std_logic_vector(fetched_instruction(30) & fetched_instruction(14 downto 12));
|
||||||
|
internal_immediate <= std_logic_vector("000000000000000000000000000" & fetched_instruction(24 downto 20));
|
||||||
|
when others =>
|
||||||
|
|
||||||
|
end case;
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when OP =>
|
||||||
|
internal_reg_file_read_address_0 <= fetched_instruction(19 downto 15);
|
||||||
|
internal_reg_file_read_address_1 <= fetched_instruction(24 downto 20);
|
||||||
|
internal_reg_file_write <= '1';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= X"00000000";
|
||||||
|
internal_ALU_operation <= std_logic_vector(fetched_instruction(30) & fetched_instruction(14 downto 12));
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000";
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "00";
|
||||||
|
internal_mux1_sel <= '0';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when AUIPC =>
|
||||||
|
internal_reg_file_read_address_0 <= "00000";
|
||||||
|
internal_reg_file_read_address_1 <= "00000";
|
||||||
|
internal_reg_file_write <= '1';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= std_logic_vector(fetched_instruction(31 downto 12) & "000000000000");
|
||||||
|
internal_ALU_operation <= "0000";
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000";
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "00";
|
||||||
|
internal_mux1_sel <= '0';
|
||||||
|
next_state <= normal;
|
||||||
|
|
||||||
|
when LUI =>
|
||||||
|
internal_reg_file_read_address_0 <= "00000";
|
||||||
|
internal_reg_file_read_address_1 <= "00000";
|
||||||
|
internal_reg_file_write <= '1';
|
||||||
|
internal_reg_file_write_address <= fetched_instruction(11 downto 7);
|
||||||
|
internal_immediate <= std_logic_vector(fetched_instruction(31 downto 12) & "000000000000");
|
||||||
|
internal_ALU_operation <= "0000";
|
||||||
|
internal_ALU_branch <= '0';
|
||||||
|
internal_ALU_branch_control <= "000";
|
||||||
|
internal_JTU_mux_sel <= '0';
|
||||||
|
internal_data_format <= "000";
|
||||||
|
internal_datamem_write <= '0';
|
||||||
|
internal_jump_flag <= '0';
|
||||||
|
internal_mux0_sel <= "00";
|
||||||
|
internal_mux1_sel <= '1';
|
||||||
|
next_state <= normal;
|
||||||
|
when others =>
|
||||||
|
end case;
|
||||||
|
end case;
|
||||||
|
end process;
|
||||||
|
fetched_instruction <= instruction;
|
||||||
|
reg_file_read_address_0 <= internal_reg_file_read_address_0;
|
||||||
|
reg_file_read_address_1 <= internal_reg_file_read_address_1;
|
||||||
|
reg_file_write <= internal_reg_file_write;
|
||||||
|
reg_file_write_address <= internal_reg_file_write_address;
|
||||||
|
immediate <= internal_immediate;
|
||||||
|
ALU_operation <= internal_ALU_operation;
|
||||||
|
ALU_branch <= internal_ALU_branch;
|
||||||
|
ALU_branch_control <= internal_ALU_branch_control;
|
||||||
|
JTU_mux_sel <= internal_JTU_mux_sel;
|
||||||
|
data_format <= internal_data_format;
|
||||||
|
datamem_write <= internal_datamem_write;
|
||||||
|
jump_flag <= internal_jump_flag;
|
||||||
|
mux0_sel <= internal_mux0_sel;
|
||||||
|
mux1_sel <= internal_mux1_sel;
|
||||||
|
|
||||||
|
end architecture Behavioral;
|
25
Project/Components/datamem.vhd
Normal file
25
Project/Components/datamem.vhd
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.std_logic_unsigned.all;
|
||||||
|
|
||||||
|
entity datamem is
|
||||||
|
port (
|
||||||
|
clock : in std_logic;
|
||||||
|
write_enable : in std_logic;
|
||||||
|
address : in std_logic_vector(15 downto 0);
|
||||||
|
input_data : in std_logic_vector(7 downto 0);
|
||||||
|
output_data : out std_logic_vector(7 downto 0)
|
||||||
|
);
|
||||||
|
end datamem;
|
||||||
|
architecture behavioural of datamem is
|
||||||
|
type ram_type is array (65536 downto 0) of std_logic_vector (7 downto 0);
|
||||||
|
signal RAM : ram_type;
|
||||||
|
begin
|
||||||
|
process (clock, write_enable)
|
||||||
|
begin
|
||||||
|
if falling_edge(clock) and write_enable = '1' then
|
||||||
|
RAM(conv_integer(address)) <= input_data;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
output_data <= RAM(conv_integer(address));
|
||||||
|
end behavioural;
|
225
Project/Components/datamem_interface.vhd
Normal file
225
Project/Components/datamem_interface.vhd
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity datamem_interface is
|
||||||
|
port (
|
||||||
|
input_data : in std_logic_vector(31 downto 0);
|
||||||
|
byte_address : in std_logic_vector(31 downto 0);
|
||||||
|
data_format : in std_logic_vector(2 downto 0);
|
||||||
|
clock, load, clear : in std_logic;
|
||||||
|
output_data : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end entity datamem_interface;
|
||||||
|
|
||||||
|
architecture behavioural of datamem_interface is
|
||||||
|
|
||||||
|
signal internal_load : std_logic_vector(3 downto 0);
|
||||||
|
|
||||||
|
signal memory_input_0 : std_logic_vector(7 downto 0);
|
||||||
|
signal memory_input_1 : std_logic_vector(7 downto 0);
|
||||||
|
signal memory_input_2 : std_logic_vector(7 downto 0);
|
||||||
|
signal memory_input_3 : std_logic_vector(7 downto 0);
|
||||||
|
|
||||||
|
signal memory_output_0 : std_logic_vector(7 downto 0);
|
||||||
|
signal memory_output_1 : std_logic_vector(7 downto 0);
|
||||||
|
signal memory_output_2 : std_logic_vector(7 downto 0);
|
||||||
|
signal memory_output_3 : std_logic_vector(7 downto 0);
|
||||||
|
|
||||||
|
signal membank_address : std_logic_vector(31 downto 0);
|
||||||
|
signal byte_starting_position : std_logic_vector(1 downto 0) := "00";
|
||||||
|
|
||||||
|
begin
|
||||||
|
membank_address_acquirement : process (input_data, byte_address, data_format, load, byte_starting_position, memory_output_0, memory_output_1, memory_output_2, memory_output_3)
|
||||||
|
begin
|
||||||
|
membank_address <= std_logic_vector(shift_right(unsigned(byte_address), 2)); --Dividing by 4 while throwing away non-integer information
|
||||||
|
byte_starting_position <= byte_address(1 downto 0); --Last 2 bits to know which of the 4 memory banks we should access
|
||||||
|
if (load = '1') then --writing to memory, data needs to go to the correct place and stay aligned
|
||||||
|
case data_format is
|
||||||
|
when "000" => --Word operation, don't do anything to the input
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
internal_load <= "1111";
|
||||||
|
memory_input_3 <= input_data(31 downto 24);
|
||||||
|
memory_input_2 <= input_data(23 downto 16);
|
||||||
|
memory_input_1 <= input_data(15 downto 8);
|
||||||
|
memory_input_0 <= input_data(7 downto 0);
|
||||||
|
else
|
||||||
|
internal_load <= "0000";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "001" => --Signed halfword
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
internal_load <= "0011";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= input_data(15 downto 8);
|
||||||
|
memory_input_0 <= input_data(7 downto 0);
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
internal_load <= "1100";
|
||||||
|
memory_input_3 <= input_data(15 downto 8);
|
||||||
|
memory_input_2 <= input_data(7 downto 0);
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
else
|
||||||
|
internal_load <= "0000";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "010" => --Unsigned halfword
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
internal_load <= "0011";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= input_data(15 downto 8);
|
||||||
|
memory_input_0 <= input_data(7 downto 0);
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
internal_load <= "1100";
|
||||||
|
memory_input_3 <= input_data(15 downto 8);
|
||||||
|
memory_input_2 <= input_data(7 downto 0);
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
else
|
||||||
|
internal_load <= "0000";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "011" => --Signed byte
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
internal_load <= "0001";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= input_data(7 downto 0);
|
||||||
|
elsif (byte_starting_position = "01") then
|
||||||
|
internal_load <= "0010";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= input_data(7 downto 0);
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
internal_load <= "0100";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= input_data(7 downto 0);
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
elsif (byte_starting_position = "11") then
|
||||||
|
internal_load <= "1000";
|
||||||
|
memory_input_3 <= input_data(7 downto 0);
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
internal_load <= "0000";
|
||||||
|
end if;
|
||||||
|
|
||||||
|
when "100" => --Unsigned byte
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
internal_load <= "0001";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= input_data(7 downto 0);
|
||||||
|
elsif (byte_starting_position = "01") then
|
||||||
|
internal_load <= "0010";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= input_data(7 downto 0);
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
internal_load <= "0100";
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= input_data(7 downto 0);
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
elsif (byte_starting_position = "11") then
|
||||||
|
internal_load <= "1000";
|
||||||
|
memory_input_3 <= input_data(7 downto 0);
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
internal_load <= "0000";
|
||||||
|
end if;
|
||||||
|
when others =>
|
||||||
|
memory_input_3 <= X"00";
|
||||||
|
memory_input_2 <= X"00";
|
||||||
|
memory_input_1 <= X"00";
|
||||||
|
memory_input_0 <= X"00";
|
||||||
|
internal_load <= "0000";
|
||||||
|
end case;
|
||||||
|
else --reading operation, data needs to be formatted to be sent to internal registers in the registerfile
|
||||||
|
internal_load <= "0000";
|
||||||
|
case data_format is
|
||||||
|
when "000" => --Word operation, don't do anything to the input
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
output_data <= std_logic_vector(memory_output_3 & memory_output_2 & memory_output_1 & memory_output_0);
|
||||||
|
else
|
||||||
|
output_data <= X"00000000";
|
||||||
|
end if;
|
||||||
|
when "001" => --Signed halfword, discard upper half and bit-extend
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
output_data <= std_logic_vector(shift_right(signed(std_logic_vector(memory_output_1 & memory_output_0 & X"0000")), 16));
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
output_data <= std_logic_vector(shift_right(signed(std_logic_vector(memory_output_3 & memory_output_2 & X"0000")), 16));
|
||||||
|
else
|
||||||
|
output_data <= X"00000000";
|
||||||
|
end if;
|
||||||
|
when "010" => --Unsigned halfword, discard upper half then complete the array with 0s
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
output_data <= std_logic_vector(X"0000" & memory_output_1 & memory_output_0);
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
output_data <= std_logic_vector(X"0000" & memory_output_3 & memory_output_2);
|
||||||
|
else
|
||||||
|
output_data <= X"00000000";
|
||||||
|
end if;
|
||||||
|
when "011" => --Signed byte, discard upper 24 bits and bit-extend
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
output_data <= std_logic_vector(shift_right(signed(std_logic_vector(memory_output_0 & X"000000")), 24));
|
||||||
|
elsif (byte_starting_position = "01") then
|
||||||
|
output_data <= std_logic_vector(shift_right(signed(std_logic_vector(memory_output_1 & X"000000")), 24));
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
output_data <= std_logic_vector(shift_right(signed(std_logic_vector(memory_output_2 & X"000000")), 24));
|
||||||
|
elsif (byte_starting_position = "11") then
|
||||||
|
output_data <= std_logic_vector(shift_right(signed(std_logic_vector(memory_output_3 & X"000000")), 24));
|
||||||
|
end if;
|
||||||
|
when "100" => --Unsigned byte, discard upper 24 bits then complete with 0s
|
||||||
|
if (byte_starting_position = "00") then
|
||||||
|
output_data <= std_logic_vector(X"000000" & memory_output_0);
|
||||||
|
elsif (byte_starting_position = "01") then
|
||||||
|
output_data <= std_logic_vector(X"000000" & memory_output_1);
|
||||||
|
elsif (byte_starting_position = "10") then
|
||||||
|
output_data <= std_logic_vector(X"000000" & memory_output_2);
|
||||||
|
elsif (byte_starting_position = "11") then
|
||||||
|
output_data <= std_logic_vector(X"000000" & memory_output_3);
|
||||||
|
end if;
|
||||||
|
when others =>
|
||||||
|
output_data <= X"00000000";
|
||||||
|
end case;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
-- datamem_3 : datamem port map(membank_address(7 downto 0), clock, memory_input_3, internal_load(3), memory_output_3); --USE THIS FOR ALTERA MEMORY
|
||||||
|
-- datamem_2 : datamem port map(membank_address(7 downto 0), clock, memory_input_2, internal_load(2), memory_output_2);
|
||||||
|
-- datamem_1 : datamem port map(membank_address(7 downto 0), clock, memory_input_1, internal_load(1), memory_output_1);
|
||||||
|
-- datamem_0 : datamem port map(membank_address(7 downto 0), clock, memory_input_0, internal_load(0), memory_output_0);
|
||||||
|
|
||||||
|
-- datamem_3 : datamem port map(clock, clear, internal_load(3), memory_input_3, membank_address(7 downto 0), memory_output_3); --USE THIS FOR A DATAMEM DERIVED FROM MY REGFILE
|
||||||
|
-- datamem_2 : datamem port map(clock, clear, internal_load(2), memory_input_2, membank_address(7 downto 0), memory_output_2);
|
||||||
|
-- datamem_1 : datamem port map(clock, clear, internal_load(1), memory_input_1, membank_address(7 downto 0), memory_output_1);
|
||||||
|
-- datamem_0 : datamem port map(clock, clear, internal_load(0), memory_input_0, membank_address(7 downto 0), memory_output_0);
|
||||||
|
|
||||||
|
datamem_3 : datamem port map(clock, internal_load(3), membank_address(15 downto 0), memory_input_3, memory_output_3);
|
||||||
|
datamem_2 : datamem port map(clock, internal_load(2), membank_address(15 downto 0), memory_input_2, memory_output_2);
|
||||||
|
datamem_1 : datamem port map(clock, internal_load(1), membank_address(15 downto 0), memory_input_1, memory_output_1);
|
||||||
|
datamem_0 : datamem port map(clock, internal_load(0), membank_address(15 downto 0), memory_input_0, memory_output_0);
|
||||||
|
|
||||||
|
end architecture behavioural;
|
175
Project/Components/datapath.vhd
Normal file
175
Project/Components/datapath.vhd
Normal file
|
@ -0,0 +1,175 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity datapath is
|
||||||
|
port (
|
||||||
|
clock : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
reg_file_read_address_0 : in std_logic_vector(4 downto 0);
|
||||||
|
reg_file_read_address_1 : in std_logic_vector(4 downto 0);
|
||||||
|
reg_file_write : in std_logic;
|
||||||
|
reg_file_write_address : in std_logic_vector(4 downto 0);
|
||||||
|
immediate : in std_logic_vector(31 downto 0);
|
||||||
|
ALU_operation : in std_logic_vector(3 downto 0);
|
||||||
|
ALU_branch : in std_logic;
|
||||||
|
ALU_branch_control : in std_logic_vector(2 downto 0);
|
||||||
|
JTU_mux_sel : in std_logic;
|
||||||
|
data_format : in std_logic_vector(2 downto 0);
|
||||||
|
datamem_write : in std_logic;
|
||||||
|
jump_flag : in std_logic;
|
||||||
|
mux0_sel : in std_logic_vector(1 downto 0);
|
||||||
|
mux1_sel : in std_logic;
|
||||||
|
instruction : buffer std_logic_vector(31 downto 0); --change it back to output later
|
||||||
|
debug_instruction_address : out std_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x31_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x1_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x2_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_input_0 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_input_1 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_forward_mux_0 : out std_logic_vector(2 downto 0);
|
||||||
|
debug_forward_mux_1 : out std_logic_vector(2 downto 0);
|
||||||
|
debug_reg_file_read_address_0_ID_EXE : out std_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_write_address_EX_MEM : out std_logic_vector(4 downto 0);
|
||||||
|
debug_mux0_sel_MEM_WB : out std_logic_vector(1 downto 0);
|
||||||
|
debug_reg_file_write_MEM_WB : out std_logic;
|
||||||
|
debug_reg_file_write_address_MEM_WB : out std_logic_vector(4 downto 0);
|
||||||
|
debug_ALU_output_MEM_WB : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_output_EX_MEM : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_0 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_1 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_0_ID_EX : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_1_ID_EX : out std_logic_vector(31 downto 0);
|
||||||
|
debug_instruction : out std_logic_vector(31 downto 0)
|
||||||
|
|
||||||
|
);
|
||||||
|
end entity datapath;
|
||||||
|
|
||||||
|
architecture structural of datapath is
|
||||||
|
|
||||||
|
signal PC_output : std_logic_vector(31 downto 0); -- use this as your progmem input when your memory does not have a registered input
|
||||||
|
signal PC_next_address : std_logic_vector(31 downto 0); --use this when it does
|
||||||
|
signal progmem_output : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal flushing_unit_output : std_logic;
|
||||||
|
|
||||||
|
signal mux_0_output : std_logic_vector(31 downto 0);
|
||||||
|
signal mux_1_output : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal register_file_output_0 : std_logic_vector(31 downto 0);
|
||||||
|
signal register_file_output_1 : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal ALU_branch_response : std_logic;
|
||||||
|
signal ALU_output : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal datamem_output : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal instruction_address_IF_ID : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal ALU_operation_ID_EX : std_logic_vector(3 downto 0);
|
||||||
|
signal ALU_branch_ID_EX : std_logic;
|
||||||
|
signal ALU_branch_control_ID_EX : std_logic_vector(2 downto 0);
|
||||||
|
signal mux1_sel_ID_EX : std_logic;
|
||||||
|
signal JTU_mux_sel_ID_EX : std_logic;
|
||||||
|
|
||||||
|
signal data_format_ID_EX : std_logic_vector(2 downto 0);
|
||||||
|
signal datamem_write_ID_EX : std_logic;
|
||||||
|
signal jump_flag_ID_EX : std_logic;
|
||||||
|
|
||||||
|
signal mux0_sel_ID_EX : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_ID_EX : std_logic;
|
||||||
|
signal reg_file_write_address_ID_EX : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
signal register_file_read_address_0_ID_EX : std_logic_vector (4 downto 0);
|
||||||
|
signal register_file_read_address_1_ID_EX : std_logic_vector (4 downto 0);
|
||||||
|
signal register_file_output_0_ID_EX : std_logic_vector(31 downto 0);
|
||||||
|
signal register_file_output_1_ID_EX : std_logic_vector(31 downto 0);
|
||||||
|
signal immediate_ID_EX : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_address_ID_EX : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal forward_mux_0_control : std_logic_vector(2 downto 0);
|
||||||
|
signal forward_mux_1_control : std_logic_vector(2 downto 0);
|
||||||
|
|
||||||
|
signal forward_mux_0_output : std_logic_vector(31 downto 0);
|
||||||
|
signal forward_mux_1_output : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal JTU_output : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal data_format_EX_MEM : std_logic_vector(2 downto 0);
|
||||||
|
signal datamem_write_EX_MEM : std_logic;
|
||||||
|
signal jump_flag_EX_MEM : std_logic;
|
||||||
|
|
||||||
|
signal mux0_sel_EX_MEM : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_EX_MEM : std_logic;
|
||||||
|
signal reg_file_write_address_EX_MEM : std_logic_vector(4 downto 0);
|
||||||
|
signal ALU_branch_response_EX_MEM : std_logic;
|
||||||
|
|
||||||
|
signal ALU_output_EX_MEM : std_logic_vector(31 downto 0);
|
||||||
|
signal register_file_output_1_EX_MEM : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_address_EX_MEM : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
signal mux0_sel_MEM_WB : std_logic_vector(1 downto 0);
|
||||||
|
signal reg_file_write_MEM_WB : std_logic;
|
||||||
|
signal reg_file_write_address_MEM_WB : std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
signal ALU_output_MEM_WB : std_logic_vector(31 downto 0);
|
||||||
|
signal datamem_output_MEM_WB : std_logic_vector(31 downto 0);
|
||||||
|
signal instruction_address_MEM_WB : std_logic_vector(31 downto 0);
|
||||||
|
signal debug_regfile_x31_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal debug_regfile_x1_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
signal debug_regfile_x2_output_signal : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
program_counter_0 : program_counter port map(reset, clock, ALU_branch_response or jump_flag_ID_EX, std_logic_vector(unsigned(PC_output) + 4), JTU_output, PC_next_address, PC_output);
|
||||||
|
progmem_module_0 : progmem_interface port map(clock, PC_next_address, progmem_output);
|
||||||
|
|
||||||
|
IF_ID_PLR : IF_ID_DIV port map(clock, reset or flushing_unit_output, PC_output, progmem_output, instruction_address_IF_ID, instruction);
|
||||||
|
|
||||||
|
mux_0 : mux_3_1 port map(mux0_sel_MEM_WB, ALU_output_MEM_WB, datamem_output_MEM_WB, std_logic_vector(unsigned(instruction_address_MEM_WB) + 4), mux_0_output);
|
||||||
|
register_file_0 : register_file port map(mux_0_output, reg_file_write_address_MEM_WB, reg_file_read_address_0, reg_file_read_address_1, reg_file_write_MEM_WB, clock, reset, register_file_output_0, register_file_output_1, debug_regfile_x31_output_signal, debug_regfile_x1_output_signal, debug_regfile_x2_output_signal);
|
||||||
|
|
||||||
|
ID_EX_PLR : ID_EX_DIV port map(clock, reset or flushing_unit_output, ALU_operation, ALU_branch, ALU_branch_control, mux1_sel, JTU_mux_sel, data_format, datamem_write, jump_flag, mux0_sel, reg_file_write, reg_file_write_address, reg_file_read_address_0, reg_file_read_address_1, register_file_output_0, register_file_output_1, immediate, instruction_address_IF_ID, ALU_operation_ID_EX, ALU_branch_ID_EX, ALU_branch_control_ID_EX, mux1_sel_ID_EX, JTU_mux_sel_ID_EX, data_format_ID_EX, datamem_write_ID_EX, jump_flag_ID_EX, mux0_sel_ID_EX, reg_file_write_ID_EX, reg_file_write_address_ID_EX, register_file_read_address_0_ID_EX, register_file_read_address_1_ID_EX, register_file_output_0_ID_EX, register_file_output_1_ID_EX, immediate_ID_EX, instruction_address_ID_EX);
|
||||||
|
|
||||||
|
FU_0 : forwarding_unit port map(register_file_read_address_0_ID_EX, register_file_read_address_1_ID_EX, reg_file_write_EX_MEM, reg_file_write_address_EX_MEM, mux0_sel_EX_MEM, reg_file_write_MEM_WB, reg_file_write_address_MEM_WB, mux0_sel_MEM_WB, forward_mux_0_control, forward_mux_1_control);
|
||||||
|
forward_mux_0 : mux_5_1 port map(forward_mux_0_control, register_file_output_0_ID_EX, ALU_output_EX_MEM, datamem_output, ALU_output_MEM_WB, datamem_output_MEM_WB, forward_mux_0_output);
|
||||||
|
forward_mux_1 : mux_5_1 port map(forward_mux_1_control, register_file_output_1_ID_EX, ALU_output_EX_MEM, datamem_output, ALU_output_MEM_WB, datamem_output_MEM_WB, forward_mux_1_output);
|
||||||
|
|
||||||
|
mux_1 : mux_2_1 port map(mux1_sel_ID_EX, forward_mux_1_output, immediate_ID_EX, mux_1_output);
|
||||||
|
ALU_0 : ALU port map(forward_mux_0_output, mux_1_output, ALU_operation_ID_EX, ALU_branch_ID_EX, ALU_branch_control_ID_EX, ALU_branch_response, ALU_output);
|
||||||
|
|
||||||
|
JTU_0 : jump_target_unit port map(JTU_mux_sel_ID_EX, instruction_address_ID_EX, register_file_output_0_ID_EX, immediate_ID_EX, JTU_output);
|
||||||
|
|
||||||
|
EX_MEM_PLR : EX_MEM_DIV port map(clock, reset, data_format_ID_EX, datamem_write_ID_EX, jump_flag_ID_EX, mux0_sel_ID_EX, reg_file_write_ID_EX, reg_file_write_address_ID_EX, ALU_output, forward_mux_1_output, ALU_branch_response, instruction_address_ID_EX, data_format_EX_MEM, datamem_write_EX_MEM, jump_flag_EX_MEM, mux0_sel_EX_MEM, reg_file_write_EX_MEM, reg_file_write_address_EX_MEM, ALU_output_EX_MEM, register_file_output_1_EX_MEM, ALU_branch_response_EX_MEM, instruction_address_EX_MEM);
|
||||||
|
|
||||||
|
FLUSH : flushing_unit port map(reset, clock, ALU_branch_response_EX_MEM or jump_flag_EX_MEM, flushing_unit_output);
|
||||||
|
|
||||||
|
datamem_module_0 : datamem_interface port map(register_file_output_1_EX_MEM, ALU_output_EX_MEM, data_format_EX_MEM, clock, datamem_write_EX_MEM, reset, datamem_output);
|
||||||
|
|
||||||
|
MEM_WB_PLR : MEM_WB_DIV port map(clock, reset, mux0_sel_EX_MEM, reg_file_write_EX_MEM, reg_file_write_address_EX_MEM, ALU_output_EX_MEM, datamem_output, instruction_address_EX_MEM, mux0_sel_MEM_WB, reg_file_write_MEM_WB, reg_file_write_address_MEM_WB, ALU_output_MEM_WB, datamem_output_MEM_WB, instruction_address_MEM_WB);
|
||||||
|
|
||||||
|
debug_instruction_address <= PC_output;
|
||||||
|
debug_regfile_x31_output <= debug_regfile_x31_output_signal;
|
||||||
|
debug_regfile_x1_output <= debug_regfile_x1_output_signal;
|
||||||
|
debug_regfile_x2_output <= debug_regfile_x2_output_signal;
|
||||||
|
debug_ALU_output <= ALU_output;
|
||||||
|
debug_ALU_input_0 <= forward_mux_0_output;
|
||||||
|
debug_ALU_input_1 <= mux_1_output;
|
||||||
|
debug_forward_mux_0 <= forward_mux_0_control;
|
||||||
|
debug_forward_mux_1 <= forward_mux_1_control;
|
||||||
|
debug_reg_file_read_address_0_ID_EXE <= register_file_read_address_0_ID_EX;
|
||||||
|
debug_reg_file_write_address_EX_MEM <= reg_file_write_address_EX_MEM;
|
||||||
|
debug_mux0_sel_MEM_WB <= mux0_sel_MEM_WB;
|
||||||
|
debug_reg_file_write_MEM_WB <= reg_file_write_MEM_WB;
|
||||||
|
debug_reg_file_write_address_MEM_WB <= reg_file_write_address_MEM_WB;
|
||||||
|
debug_ALU_output_MEM_WB <= ALU_output_MEM_WB;
|
||||||
|
debug_ALU_output_EX_MEM <= ALU_output_EX_MEM;
|
||||||
|
debug_register_file_output_0 <= register_file_output_0;
|
||||||
|
debug_register_file_output_1 <= register_file_output_1;
|
||||||
|
debug_register_file_output_0_ID_EX <= register_file_output_0_ID_EX;
|
||||||
|
debug_register_file_output_1_ID_EX <= register_file_output_1_ID_EX;
|
||||||
|
debug_instruction <= progmem_output;
|
||||||
|
|
||||||
|
end architecture structural;
|
38
Project/Components/flushing_unit.vhd
Normal file
38
Project/Components/flushing_unit.vhd
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity flushing_unit is
|
||||||
|
port (
|
||||||
|
clear, clock : in std_logic;
|
||||||
|
flushing_control : in std_logic;
|
||||||
|
flushing_output : out std_logic
|
||||||
|
);
|
||||||
|
end flushing_unit;
|
||||||
|
|
||||||
|
architecture behavioural of flushing_unit is
|
||||||
|
|
||||||
|
signal internal_flushing_output : std_logic := '0';
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
process (clear, clock, flushing_control, internal_flushing_output) is
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_flushing_output <= '0';
|
||||||
|
elsif (clock = '1' and flushing_control = '1') then
|
||||||
|
internal_flushing_output <= '1';
|
||||||
|
elsif (clock = '1' and flushing_control = '0') then
|
||||||
|
internal_flushing_output <= '0';
|
||||||
|
elsif (clock = '0' and flushing_control = '1') then
|
||||||
|
internal_flushing_output <= '0';
|
||||||
|
elsif (clock = '0' and flushing_control = '0') then
|
||||||
|
internal_flushing_output <= '0';
|
||||||
|
else
|
||||||
|
internal_flushing_output <= internal_flushing_output;
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
flushing_output <= internal_flushing_output;
|
||||||
|
|
||||||
|
end architecture behavioural;
|
73
Project/Components/forwarding_unit.vhd
Normal file
73
Project/Components/forwarding_unit.vhd
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity forwarding_unit is
|
||||||
|
port (
|
||||||
|
reg_file_read_address_0_ID_EXE : in std_logic_vector(4 downto 0);
|
||||||
|
reg_file_read_address_1_ID_EXE : in std_logic_vector(4 downto 0);
|
||||||
|
|
||||||
|
reg_file_write_EX_MEM : in std_logic;
|
||||||
|
reg_file_write_address_EX_MEM : in std_logic_vector(4 downto 0);
|
||||||
|
mux_0_sel_EX_MEM : in std_logic_vector(1 downto 0);
|
||||||
|
|
||||||
|
reg_file_write_MEM_WB : in std_logic;
|
||||||
|
reg_file_write_address_MEM_WB : in std_logic_vector(4 downto 0);
|
||||||
|
mux_0_sel_MEM_WB : in std_logic_vector(1 downto 0);
|
||||||
|
|
||||||
|
forward_mux_0_control : out std_logic_vector(2 downto 0);
|
||||||
|
forward_mux_1_control : out std_logic_vector(2 downto 0)
|
||||||
|
);
|
||||||
|
end forwarding_unit;
|
||||||
|
|
||||||
|
architecture structural of forwarding_unit is
|
||||||
|
|
||||||
|
signal internal_mux_0_control : std_logic_vector(2 downto 0) := "000";
|
||||||
|
signal internal_mux_1_control : std_logic_vector(2 downto 0) := "000";
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
forward_0 : process (reg_file_read_address_0_ID_EXE, reg_file_write_EX_MEM, reg_file_write_MEM_WB, reg_file_write_address_EX_MEM, reg_file_write_address_MEM_WB, mux_0_sel_EX_MEM, mux_0_sel_MEM_WB)
|
||||||
|
begin
|
||||||
|
if (mux_0_sel_EX_MEM = "00") and (reg_file_write_EX_MEM = '1') and (reg_file_read_address_0_ID_EXE = reg_file_write_address_EX_MEM) and (reg_file_read_address_0_ID_EXE /= "00000") then
|
||||||
|
internal_mux_0_control <= "001";
|
||||||
|
|
||||||
|
elsif (mux_0_sel_EX_MEM = "01") and (reg_file_write_EX_MEM = '1') and (reg_file_read_address_0_ID_EXE = reg_file_write_address_EX_MEM) and (reg_file_read_address_0_ID_EXE /= "00000") then
|
||||||
|
internal_mux_0_control <= "010";
|
||||||
|
|
||||||
|
elsif (mux_0_sel_MEM_WB = "00") and (reg_file_write_MEM_WB = '1') and (reg_file_read_address_0_ID_EXE = reg_file_write_address_MEM_WB) and (reg_file_read_address_0_ID_EXE /= "00000") then
|
||||||
|
internal_mux_0_control <= "011";
|
||||||
|
|
||||||
|
elsif (mux_0_sel_MEM_WB = "01") and (reg_file_write_MEM_WB = '1') and (reg_file_read_address_0_ID_EXE = reg_file_write_address_MEM_WB) and (reg_file_read_address_0_ID_EXE /= "00000") then
|
||||||
|
internal_mux_0_control <= "100";
|
||||||
|
|
||||||
|
else
|
||||||
|
internal_mux_0_control <= "000";
|
||||||
|
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
forward_1 : process (reg_file_read_address_1_ID_EXE, reg_file_write_EX_MEM, reg_file_write_MEM_WB, reg_file_write_address_EX_MEM, reg_file_write_address_MEM_WB, mux_0_sel_EX_MEM, mux_0_sel_MEM_WB)
|
||||||
|
begin
|
||||||
|
if (mux_0_sel_EX_MEM = "00") and (reg_file_write_EX_MEM = '1') and (reg_file_read_address_1_ID_EXE = reg_file_write_address_EX_MEM) and (reg_file_read_address_1_ID_EXE /= "00000") then
|
||||||
|
internal_mux_1_control <= "001";
|
||||||
|
|
||||||
|
elsif (mux_0_sel_EX_MEM = "01") and (reg_file_write_EX_MEM = '1') and (reg_file_read_address_1_ID_EXE = reg_file_write_address_EX_MEM) and (reg_file_read_address_1_ID_EXE /= "00000") then
|
||||||
|
internal_mux_1_control <= "010";
|
||||||
|
|
||||||
|
elsif (mux_0_sel_MEM_WB = "00") and (reg_file_write_MEM_WB = '1') and (reg_file_read_address_1_ID_EXE = reg_file_write_address_MEM_WB) and (reg_file_read_address_1_ID_EXE /= "00000") then
|
||||||
|
internal_mux_1_control <= "011";
|
||||||
|
|
||||||
|
elsif (mux_0_sel_MEM_WB = "01") and (reg_file_write_MEM_WB = '1') and (reg_file_read_address_1_ID_EXE = reg_file_write_address_MEM_WB) and (reg_file_read_address_1_ID_EXE /= "00000") then
|
||||||
|
internal_mux_1_control <= "100";
|
||||||
|
|
||||||
|
else
|
||||||
|
internal_mux_1_control <= "000";
|
||||||
|
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
forward_mux_0_control <= internal_mux_0_control;
|
||||||
|
forward_mux_1_control <= internal_mux_1_control;
|
||||||
|
|
||||||
|
end architecture structural;
|
21
Project/Components/jump_target_unit.vhd
Normal file
21
Project/Components/jump_target_unit.vhd
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity jump_target_unit is
|
||||||
|
port (
|
||||||
|
mux_sel : in std_logic;
|
||||||
|
current_instruction_address : in std_logic_vector(31 downto 0);
|
||||||
|
regfile_address : in std_logic_vector(31 downto 0);
|
||||||
|
immediate : in std_logic_vector(31 downto 0);
|
||||||
|
target_address : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end jump_target_unit;
|
||||||
|
|
||||||
|
architecture behavioral of jump_target_unit is
|
||||||
|
signal mux_output : std_logic_vector (31 downto 0) := X"00000000";
|
||||||
|
begin
|
||||||
|
internal_mux : mux_2_1 port map(mux_sel, current_instruction_address, regfile_address, mux_output);
|
||||||
|
internal_adder : adder port map(mux_output, immediate, target_address);
|
||||||
|
end behavioral;
|
68
Project/Components/microcontroller.vhd
Normal file
68
Project/Components/microcontroller.vhd
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity microcontroller is
|
||||||
|
port (
|
||||||
|
clock : in std_logic;
|
||||||
|
reset : in std_logic;
|
||||||
|
debug_pc_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x31_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x1_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x2_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_write : out std_logic;
|
||||||
|
debug_ALU_input_0 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_input_1 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_reg_file_read_address_0 : out std_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_read_address_1 : out std_logic_vector(4 downto 0);
|
||||||
|
debug_mux0_sel : out std_logic_vector(1 downto 0);
|
||||||
|
debug_immediate : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_operation : out std_logic_vector(3 downto 0);
|
||||||
|
debug_forward_mux_0 : out std_logic_vector(2 downto 0);
|
||||||
|
debug_forward_mux_1 : out std_logic_vector(2 downto 0);
|
||||||
|
debug_reg_file_read_address_0_ID_EXE : out std_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_write_address_EX_MEM : out std_logic_vector(4 downto 0);
|
||||||
|
debug_mux0_sel_MEM_WB : out std_logic_vector(1 downto 0);
|
||||||
|
debug_reg_file_write_MEM_WB : out std_logic;
|
||||||
|
debug_reg_file_write_address_MEM_WB : out std_logic_vector(4 downto 0);
|
||||||
|
debug_ALU_output_MEM_WB : out std_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_output_EX_MEM : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_0 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_1 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_0_ID_EX : out std_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_1_ID_EX : out std_logic_vector(31 downto 0);
|
||||||
|
debug_instruction : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end entity microcontroller;
|
||||||
|
|
||||||
|
architecture structural of microcontroller is
|
||||||
|
signal IF_ID_flush : std_logic;
|
||||||
|
signal reg_file_read_address_0 : std_logic_vector(4 downto 0);
|
||||||
|
signal reg_file_read_address_1 : std_logic_vector(4 downto 0);
|
||||||
|
signal reg_file_write : std_logic;
|
||||||
|
signal reg_file_write_address : std_logic_vector(4 downto 0);
|
||||||
|
signal immediate : std_logic_vector(31 downto 0);
|
||||||
|
signal ALU_operation : std_logic_vector(3 downto 0);
|
||||||
|
signal ALU_branch : std_logic;
|
||||||
|
signal ALU_branch_control : std_logic_vector(2 downto 0);
|
||||||
|
signal JTU_mux_sel : std_logic;
|
||||||
|
signal data_format : std_logic_vector(2 downto 0);
|
||||||
|
signal datamem_write : std_logic;
|
||||||
|
signal jump_flag : std_logic;
|
||||||
|
signal mux0_sel : std_logic_vector(1 downto 0);
|
||||||
|
signal mux1_sel : std_logic;
|
||||||
|
signal instruction : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
begin
|
||||||
|
|
||||||
|
controller_0 : controller port map(clock, reset, instruction, reg_file_read_address_0, reg_file_read_address_1, reg_file_write, reg_file_write_address, immediate, ALU_operation, ALU_branch, ALU_branch_control, JTU_mux_sel, data_format, datamem_write, jump_flag, mux0_sel, mux1_sel);
|
||||||
|
datapath_0 : datapath port map(clock, reset, reg_file_read_address_0, reg_file_read_address_1, reg_file_write, reg_file_write_address, immediate, ALU_operation, ALU_branch, ALU_branch_control, JTU_mux_sel, data_format, datamem_write, jump_flag, mux0_sel, mux1_sel, instruction, debug_pc_output, debug_regfile_x31_output, debug_regfile_x1_output, debug_regfile_x2_output, debug_ALU_output, debug_ALU_input_0, debug_ALU_input_1, debug_forward_mux_0, debug_forward_mux_1, debug_reg_file_read_address_0_ID_EXE, debug_reg_file_write_address_EX_MEM, debug_mux0_sel_MEM_WB, debug_reg_file_write_MEM_WB, debug_reg_file_write_address_MEM_WB, debug_ALU_output_MEM_WB, debug_ALU_output_EX_MEM, debug_register_file_output_0, debug_register_file_output_1, debug_register_file_output_0_ID_EX, debug_register_file_output_1_ID_EX, debug_instruction);
|
||||||
|
debug_regfile_write <= reg_file_write;
|
||||||
|
debug_reg_file_read_address_0 <= reg_file_read_address_0;
|
||||||
|
debug_reg_file_read_address_1 <= reg_file_read_address_1;
|
||||||
|
debug_mux0_sel <= mux0_sel;
|
||||||
|
debug_immediate <= immediate;
|
||||||
|
debug_ALU_operation <= ALU_operation;
|
||||||
|
|
||||||
|
end architecture structural;
|
18
Project/Components/mux_2_1.vhd
Normal file
18
Project/Components/mux_2_1.vhd
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity mux_2_1 is
|
||||||
|
port (
|
||||||
|
selection : in std_logic;
|
||||||
|
input_0, input_1 : in std_logic_vector(31 downto 0);
|
||||||
|
output_0 : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end mux_2_1;
|
||||||
|
|
||||||
|
architecture behavioral of mux_2_1 is
|
||||||
|
begin
|
||||||
|
with selection select
|
||||||
|
output_0 <=
|
||||||
|
input_0 when '0',
|
||||||
|
input_1 when '1';
|
||||||
|
end behavioral;
|
49
Project/Components/mux_32_1.vhd
Normal file
49
Project/Components/mux_32_1.vhd
Normal file
|
@ -0,0 +1,49 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity mux_32_1 is
|
||||||
|
port (
|
||||||
|
selection : in std_logic_vector(4 downto 0);
|
||||||
|
input_0, input_1, input_2, input_3, input_4, input_5, input_6, input_7, input_8, input_9, input_10, input_11, input_12, input_13, input_14, input_15, input_16, input_17,
|
||||||
|
input_18, input_19, input_20, input_21, input_22, input_23, input_24, input_25, input_26, input_27, input_28, input_29, input_30, input_31 : in std_logic_vector(31 downto 0);
|
||||||
|
output_0 : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end mux_32_1;
|
||||||
|
|
||||||
|
architecture behavioral of mux_32_1 is
|
||||||
|
begin
|
||||||
|
with selection select
|
||||||
|
output_0 <=
|
||||||
|
input_0 when "00000",
|
||||||
|
input_1 when "00001",
|
||||||
|
input_2 when "00010",
|
||||||
|
input_3 when "00011",
|
||||||
|
input_4 when "00100",
|
||||||
|
input_5 when "00101",
|
||||||
|
input_6 when "00110",
|
||||||
|
input_7 when "00111",
|
||||||
|
input_8 when "01000",
|
||||||
|
input_9 when "01001",
|
||||||
|
input_10 when "01010",
|
||||||
|
input_11 when "01011",
|
||||||
|
input_12 when "01100",
|
||||||
|
input_13 when "01101",
|
||||||
|
input_14 when "01110",
|
||||||
|
input_15 when "01111",
|
||||||
|
input_16 when "10000",
|
||||||
|
input_17 when "10001",
|
||||||
|
input_18 when "10010",
|
||||||
|
input_19 when "10011",
|
||||||
|
input_20 when "10100",
|
||||||
|
input_21 when "10101",
|
||||||
|
input_22 when "10110",
|
||||||
|
input_23 when "10111",
|
||||||
|
input_24 when "11000",
|
||||||
|
input_25 when "11001",
|
||||||
|
input_26 when "11010",
|
||||||
|
input_27 when "11011",
|
||||||
|
input_28 when "11100",
|
||||||
|
input_29 when "11101",
|
||||||
|
input_30 when "11110",
|
||||||
|
input_31 when "11111";
|
||||||
|
end behavioral;
|
20
Project/Components/mux_3_1.vhd
Normal file
20
Project/Components/mux_3_1.vhd
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
|
||||||
|
entity mux_3_1 is
|
||||||
|
port (
|
||||||
|
selection : in std_logic_vector(1 downto 0);
|
||||||
|
input_0, input_1, input_2 : in std_logic_vector(31 downto 0);
|
||||||
|
output_0 : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end mux_3_1;
|
||||||
|
|
||||||
|
architecture behavioral of mux_3_1 is
|
||||||
|
begin
|
||||||
|
with selection select
|
||||||
|
output_0 <=
|
||||||
|
input_0 when "00",
|
||||||
|
input_1 when "01",
|
||||||
|
input_2 when "10",
|
||||||
|
X"00000000" when others;
|
||||||
|
end behavioral;
|
22
Project/Components/mux_5_1.vhd
Normal file
22
Project/Components/mux_5_1.vhd
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
library IEEE;
|
||||||
|
use IEEE.STD_LOGIC_1164.all;
|
||||||
|
|
||||||
|
entity mux_5_1 is
|
||||||
|
port (
|
||||||
|
selection : in std_logic_vector(2 downto 0);
|
||||||
|
input_0, input_1, input_2, input_3, input_4 : in std_logic_vector(31 downto 0);
|
||||||
|
output_0 : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end mux_5_1;
|
||||||
|
|
||||||
|
architecture behavioral of mux_5_1 is
|
||||||
|
begin
|
||||||
|
with selection select
|
||||||
|
output_0 <=
|
||||||
|
input_0 when "000",
|
||||||
|
input_1 when "001",
|
||||||
|
input_2 when "010",
|
||||||
|
input_3 when "011",
|
||||||
|
input_4 when "100",
|
||||||
|
X"00000000" when others;
|
||||||
|
end behavioral;
|
26
Project/Components/progmem_interface.vhd
Normal file
26
Project/Components/progmem_interface.vhd
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity progmem_interface is
|
||||||
|
port (
|
||||||
|
clock : in std_logic;
|
||||||
|
byte_address : in std_logic_vector(31 downto 0);
|
||||||
|
output_data : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end entity progmem_interface;
|
||||||
|
|
||||||
|
architecture behavioural of progmem_interface is
|
||||||
|
|
||||||
|
signal memory_address : std_logic_vector(31 downto 0) := X"00000000";
|
||||||
|
|
||||||
|
begin
|
||||||
|
address_acquirement : process (byte_address)
|
||||||
|
begin
|
||||||
|
memory_address <= std_logic_vector(shift_right(unsigned(byte_address), 2)); --Dividing by 4 since 32 = 4*8
|
||||||
|
end process;
|
||||||
|
|
||||||
|
progmem_0 : progmem port map(memory_address(15 downto 0), clock, output_data);
|
||||||
|
|
||||||
|
end architecture behavioural;
|
25
Project/Components/program_counter.vhd
Normal file
25
Project/Components/program_counter.vhd
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use ieee.numeric_std.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity program_counter is
|
||||||
|
port (
|
||||||
|
clear, clock : in std_logic;
|
||||||
|
mux_sel : in std_logic;
|
||||||
|
address_in_0 : in std_logic_vector(31 downto 0);
|
||||||
|
address_in_1 : in std_logic_vector(31 downto 0);
|
||||||
|
next_address : out std_logic_vector(31 downto 0); --THIS OUTPUT IS ONLY REQUIRED WHEN USING REGISTERED INPUT ALTERA MEMORY, SO THE INPUT REG CAN MIRROR THE PC'S INTERNAL REG.
|
||||||
|
address_out : out std_logic_vector(31 downto 0) --THIS IS THE REAL PC OUTPUT, USE THIS IF YOUR MEMORY DOES NOT HAVE A REGISTER IN ITS INPUT.
|
||||||
|
);
|
||||||
|
end program_counter;
|
||||||
|
|
||||||
|
architecture behavioral of program_counter is
|
||||||
|
signal internal_address : std_logic_vector (31 downto 0) := X"00000000";
|
||||||
|
begin
|
||||||
|
internal_mux : mux_2_1 port map(mux_sel, address_in_0, address_in_1, internal_address);
|
||||||
|
internal_register : reg32b port map(internal_address, '1', clock, clear, address_out);
|
||||||
|
|
||||||
|
next_address <= internal_address;
|
||||||
|
|
||||||
|
end behavioral;
|
28
Project/Components/reg1b.vhd
Normal file
28
Project/Components/reg1b.vhd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity reg1b is
|
||||||
|
port (
|
||||||
|
reg_in : in std_logic;
|
||||||
|
load, clock, clear : in std_logic;
|
||||||
|
reg_out : out std_logic
|
||||||
|
);
|
||||||
|
end reg1b;
|
||||||
|
|
||||||
|
architecture description of reg1b is
|
||||||
|
signal internal_value : std_logic := '0';
|
||||||
|
begin
|
||||||
|
process (clock, clear, load, internal_value)
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_value <= '0';
|
||||||
|
elsif rising_edge(clock) then
|
||||||
|
if (load = '1') then
|
||||||
|
internal_value <= reg_in;
|
||||||
|
else
|
||||||
|
internal_value <= internal_value;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
reg_out <= internal_value;
|
||||||
|
end process;
|
||||||
|
end description;
|
28
Project/Components/reg2b.vhd
Normal file
28
Project/Components/reg2b.vhd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity reg2b is
|
||||||
|
port (
|
||||||
|
reg_in : in std_logic_vector(1 downto 0);
|
||||||
|
load, clock, clear : in std_logic;
|
||||||
|
reg_out : out std_logic_vector(1 downto 0)
|
||||||
|
);
|
||||||
|
end reg2b;
|
||||||
|
|
||||||
|
architecture description of reg2b is
|
||||||
|
signal internal_value : std_logic_vector(1 downto 0) := "00";
|
||||||
|
begin
|
||||||
|
process (clock, clear, load, internal_value)
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_value <= "00";
|
||||||
|
elsif rising_edge(clock) then
|
||||||
|
if (load = '1') then
|
||||||
|
internal_value <= reg_in;
|
||||||
|
else
|
||||||
|
internal_value <= internal_value;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
reg_out <= internal_value;
|
||||||
|
end process;
|
||||||
|
end description;
|
28
Project/Components/reg32b.vhd
Normal file
28
Project/Components/reg32b.vhd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity reg32b is
|
||||||
|
port (
|
||||||
|
reg_in : in std_logic_vector(31 downto 0);
|
||||||
|
load, clock, clear : in std_logic;
|
||||||
|
reg_out : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end reg32b;
|
||||||
|
|
||||||
|
architecture description of reg32b is
|
||||||
|
signal internal_value : std_logic_vector(31 downto 0) := X"00000000";
|
||||||
|
begin
|
||||||
|
process (clock, clear, load, internal_value)
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_value <= X"00000000";
|
||||||
|
elsif rising_edge(clock) then
|
||||||
|
if (load = '1') then
|
||||||
|
internal_value <= reg_in;
|
||||||
|
else
|
||||||
|
internal_value <= internal_value;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
reg_out <= internal_value;
|
||||||
|
end process;
|
||||||
|
end description;
|
28
Project/Components/reg32b_falling_edge.vhd
Normal file
28
Project/Components/reg32b_falling_edge.vhd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity reg32b_falling_edge is
|
||||||
|
port (
|
||||||
|
reg_in : in std_logic_vector(31 downto 0);
|
||||||
|
load, clock, clear : in std_logic;
|
||||||
|
reg_out : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end reg32b_falling_edge;
|
||||||
|
|
||||||
|
architecture description of reg32b_falling_edge is
|
||||||
|
signal internal_value : std_logic_vector(31 downto 0) := X"00000000";
|
||||||
|
begin
|
||||||
|
process (clock, clear, load, internal_value)
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_value <= X"00000000";
|
||||||
|
elsif falling_edge(clock) then
|
||||||
|
if (load = '1') then
|
||||||
|
internal_value <= reg_in;
|
||||||
|
else
|
||||||
|
internal_value <= internal_value;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
reg_out <= internal_value;
|
||||||
|
end process;
|
||||||
|
end description;
|
28
Project/Components/reg3b.vhd
Normal file
28
Project/Components/reg3b.vhd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity reg3b is
|
||||||
|
port (
|
||||||
|
reg_in : in std_logic_vector(2 downto 0);
|
||||||
|
load, clock, clear : in std_logic;
|
||||||
|
reg_out : out std_logic_vector(2 downto 0)
|
||||||
|
);
|
||||||
|
end reg3b;
|
||||||
|
|
||||||
|
architecture description of reg3b is
|
||||||
|
signal internal_value : std_logic_vector(2 downto 0) := "000";
|
||||||
|
begin
|
||||||
|
process (clock, clear, load, internal_value)
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_value <= "000";
|
||||||
|
elsif rising_edge(clock) then
|
||||||
|
if (load = '1') then
|
||||||
|
internal_value <= reg_in;
|
||||||
|
else
|
||||||
|
internal_value <= internal_value;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
reg_out <= internal_value;
|
||||||
|
end process;
|
||||||
|
end description;
|
28
Project/Components/reg4b.vhd
Normal file
28
Project/Components/reg4b.vhd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity reg4b is
|
||||||
|
port (
|
||||||
|
reg_in : in std_logic_vector(3 downto 0);
|
||||||
|
load, clock, clear : in std_logic;
|
||||||
|
reg_out : out std_logic_vector(3 downto 0)
|
||||||
|
);
|
||||||
|
end reg4b;
|
||||||
|
|
||||||
|
architecture description of reg4b is
|
||||||
|
signal internal_value : std_logic_vector(3 downto 0) := "0000";
|
||||||
|
begin
|
||||||
|
process (clock, clear, load, internal_value)
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_value <= "0000";
|
||||||
|
elsif rising_edge(clock) then
|
||||||
|
if (load = '1') then
|
||||||
|
internal_value <= reg_in;
|
||||||
|
else
|
||||||
|
internal_value <= internal_value;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
reg_out <= internal_value;
|
||||||
|
end process;
|
||||||
|
end description;
|
28
Project/Components/reg5b.vhd
Normal file
28
Project/Components/reg5b.vhd
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
entity reg5b is
|
||||||
|
port (
|
||||||
|
reg_in : in std_logic_vector(4 downto 0);
|
||||||
|
load, clock, clear : in std_logic;
|
||||||
|
reg_out : out std_logic_vector(4 downto 0)
|
||||||
|
);
|
||||||
|
end reg5b;
|
||||||
|
|
||||||
|
architecture description of reg5b is
|
||||||
|
signal internal_value : std_logic_vector(4 downto 0) := "00000";
|
||||||
|
begin
|
||||||
|
process (clock, clear, load, internal_value)
|
||||||
|
begin
|
||||||
|
if (clear = '1') then
|
||||||
|
internal_value <= "00000";
|
||||||
|
elsif rising_edge(clock) then
|
||||||
|
if (load = '1') then
|
||||||
|
internal_value <= reg_in;
|
||||||
|
else
|
||||||
|
internal_value <= internal_value;
|
||||||
|
end if;
|
||||||
|
end if;
|
||||||
|
reg_out <= internal_value;
|
||||||
|
end process;
|
||||||
|
end description;
|
180
Project/Components/register_file.vhd
Normal file
180
Project/Components/register_file.vhd
Normal file
|
@ -0,0 +1,180 @@
|
||||||
|
library ieee;
|
||||||
|
use ieee.std_logic_1164.all;
|
||||||
|
use work.all;
|
||||||
|
|
||||||
|
entity register_file is
|
||||||
|
port (
|
||||||
|
write_data : in std_logic_vector(31 downto 0);
|
||||||
|
write_address : in std_logic_vector(4 downto 0);
|
||||||
|
read_address_0 : in std_logic_vector(4 downto 0);
|
||||||
|
read_address_1 : in std_logic_vector(4 downto 0);
|
||||||
|
write_control, clock, clear : in std_logic;
|
||||||
|
output_data_0 : out std_logic_vector(31 downto 0);
|
||||||
|
output_data_1 : out std_logic_vector(31 downto 0);
|
||||||
|
debug_x31_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_x1_output : out std_logic_vector(31 downto 0);
|
||||||
|
debug_x2_output : out std_logic_vector(31 downto 0)
|
||||||
|
);
|
||||||
|
end entity register_file;
|
||||||
|
|
||||||
|
architecture Behavioral of register_file is
|
||||||
|
|
||||||
|
signal internal_reg_load : std_logic_vector(31 downto 0) := X"00000000";
|
||||||
|
|
||||||
|
signal x0_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x1_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x2_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x3_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x4_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x5_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x6_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x7_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x8_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x9_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x10_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x11_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x12_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x13_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x14_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x15_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x16_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x17_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x18_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x19_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x20_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x21_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x22_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x23_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x24_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x25_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x26_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x27_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x28_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x29_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x30_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
signal x31_to_muxes : std_logic_vector(31 downto 0);
|
||||||
|
|
||||||
|
begin
|
||||||
|
register_load_decouple : process (write_address)
|
||||||
|
begin
|
||||||
|
if (write_control = '1') then
|
||||||
|
case write_address is
|
||||||
|
when "00000" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000000000001";
|
||||||
|
when "00001" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000000000010";
|
||||||
|
when "00010" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000000000100";
|
||||||
|
when "00011" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000000001000";
|
||||||
|
when "00100" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000000010000";
|
||||||
|
when "00101" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000000100000";
|
||||||
|
when "00110" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000001000000";
|
||||||
|
when "00111" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000010000000";
|
||||||
|
when "01000" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000100000000";
|
||||||
|
when "01001" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000001000000000";
|
||||||
|
when "01010" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000010000000000";
|
||||||
|
when "01011" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000100000000000";
|
||||||
|
when "01100" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000001000000000000";
|
||||||
|
when "01101" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000010000000000000";
|
||||||
|
when "01110" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000100000000000000";
|
||||||
|
when "01111" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000001000000000000000";
|
||||||
|
when "10000" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000010000000000000000";
|
||||||
|
when "10001" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000100000000000000000";
|
||||||
|
when "10010" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000001000000000000000000";
|
||||||
|
when "10011" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000010000000000000000000";
|
||||||
|
when "10100" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000100000000000000000000";
|
||||||
|
when "10101" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000001000000000000000000000";
|
||||||
|
when "10110" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000010000000000000000000000";
|
||||||
|
when "10111" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000100000000000000000000000";
|
||||||
|
when "11000" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000001000000000000000000000000";
|
||||||
|
when "11001" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000010000000000000000000000000";
|
||||||
|
when "11010" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00000100000000000000000000000000";
|
||||||
|
when "11011" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00001000000000000000000000000000";
|
||||||
|
when "11100" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00010000000000000000000000000000";
|
||||||
|
when "11101" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "00100000000000000000000000000000";
|
||||||
|
when "11110" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "01000000000000000000000000000000";
|
||||||
|
when "11111" =>
|
||||||
|
internal_reg_load(31 downto 0) <= "10000000000000000000000000000000";
|
||||||
|
end case;
|
||||||
|
else
|
||||||
|
internal_reg_load(31 downto 0) <= "00000000000000000000000000000000";
|
||||||
|
end if;
|
||||||
|
end process;
|
||||||
|
|
||||||
|
reg_x0 : reg32b_falling_edge port map(X"00000000", '1', clock, clear, x0_to_muxes);
|
||||||
|
reg_x1 : reg32b_falling_edge port map(write_data, internal_reg_load(1), clock, clear, x1_to_muxes);
|
||||||
|
reg_x2 : reg32b_falling_edge port map(write_data, internal_reg_load(2), clock, clear, x2_to_muxes);
|
||||||
|
reg_x3 : reg32b_falling_edge port map(write_data, internal_reg_load(3), clock, clear, x3_to_muxes);
|
||||||
|
reg_x4 : reg32b_falling_edge port map(write_data, internal_reg_load(4), clock, clear, x4_to_muxes);
|
||||||
|
reg_x5 : reg32b_falling_edge port map(write_data, internal_reg_load(5), clock, clear, x5_to_muxes);
|
||||||
|
reg_x6 : reg32b_falling_edge port map(write_data, internal_reg_load(6), clock, clear, x6_to_muxes);
|
||||||
|
reg_x7 : reg32b_falling_edge port map(write_data, internal_reg_load(7), clock, clear, x7_to_muxes);
|
||||||
|
reg_x8 : reg32b_falling_edge port map(write_data, internal_reg_load(8), clock, clear, x8_to_muxes);
|
||||||
|
reg_x9 : reg32b_falling_edge port map(write_data, internal_reg_load(9), clock, clear, x9_to_muxes);
|
||||||
|
reg_x10 : reg32b_falling_edge port map(write_data, internal_reg_load(10), clock, clear, x10_to_muxes);
|
||||||
|
reg_x11 : reg32b_falling_edge port map(write_data, internal_reg_load(11), clock, clear, x11_to_muxes);
|
||||||
|
reg_x12 : reg32b_falling_edge port map(write_data, internal_reg_load(12), clock, clear, x12_to_muxes);
|
||||||
|
reg_x13 : reg32b_falling_edge port map(write_data, internal_reg_load(13), clock, clear, x13_to_muxes);
|
||||||
|
reg_x14 : reg32b_falling_edge port map(write_data, internal_reg_load(14), clock, clear, x14_to_muxes);
|
||||||
|
reg_x15 : reg32b_falling_edge port map(write_data, internal_reg_load(15), clock, clear, x15_to_muxes);
|
||||||
|
reg_x16 : reg32b_falling_edge port map(write_data, internal_reg_load(16), clock, clear, x16_to_muxes);
|
||||||
|
reg_x17 : reg32b_falling_edge port map(write_data, internal_reg_load(17), clock, clear, x17_to_muxes);
|
||||||
|
reg_x18 : reg32b_falling_edge port map(write_data, internal_reg_load(18), clock, clear, x18_to_muxes);
|
||||||
|
reg_x19 : reg32b_falling_edge port map(write_data, internal_reg_load(19), clock, clear, x19_to_muxes);
|
||||||
|
reg_x20 : reg32b_falling_edge port map(write_data, internal_reg_load(20), clock, clear, x20_to_muxes);
|
||||||
|
reg_x21 : reg32b_falling_edge port map(write_data, internal_reg_load(21), clock, clear, x21_to_muxes);
|
||||||
|
reg_x22 : reg32b_falling_edge port map(write_data, internal_reg_load(22), clock, clear, x22_to_muxes);
|
||||||
|
reg_x23 : reg32b_falling_edge port map(write_data, internal_reg_load(23), clock, clear, x23_to_muxes);
|
||||||
|
reg_x24 : reg32b_falling_edge port map(write_data, internal_reg_load(24), clock, clear, x24_to_muxes);
|
||||||
|
reg_x25 : reg32b_falling_edge port map(write_data, internal_reg_load(25), clock, clear, x25_to_muxes);
|
||||||
|
reg_x26 : reg32b_falling_edge port map(write_data, internal_reg_load(26), clock, clear, x26_to_muxes);
|
||||||
|
reg_x27 : reg32b_falling_edge port map(write_data, internal_reg_load(27), clock, clear, x27_to_muxes);
|
||||||
|
reg_x28 : reg32b_falling_edge port map(write_data, internal_reg_load(28), clock, clear, x28_to_muxes);
|
||||||
|
reg_x29 : reg32b_falling_edge port map(write_data, internal_reg_load(29), clock, clear, x29_to_muxes);
|
||||||
|
reg_x30 : reg32b_falling_edge port map(write_data, internal_reg_load(30), clock, clear, x30_to_muxes);
|
||||||
|
reg_x31 : reg32b_falling_edge port map(write_data, internal_reg_load(31), clock, clear, x31_to_muxes);
|
||||||
|
|
||||||
|
output_1_mux : mux_32_1 port map(
|
||||||
|
read_address_0, x0_to_muxes, x1_to_muxes, x2_to_muxes, x3_to_muxes, x4_to_muxes, x5_to_muxes, x6_to_muxes, x7_to_muxes,
|
||||||
|
x8_to_muxes, x9_to_muxes, x10_to_muxes, x11_to_muxes, x12_to_muxes, x13_to_muxes, x14_to_muxes, x15_to_muxes, x16_to_muxes,
|
||||||
|
x17_to_muxes, x18_to_muxes, x19_to_muxes, x20_to_muxes, x21_to_muxes, x22_to_muxes, x23_to_muxes, x24_to_muxes, x25_to_muxes,
|
||||||
|
x26_to_muxes, x27_to_muxes, x28_to_muxes, x29_to_muxes, x30_to_muxes, x31_to_muxes, output_data_0);
|
||||||
|
|
||||||
|
output_2_mux : mux_32_1 port map(
|
||||||
|
read_address_1, x0_to_muxes, x1_to_muxes, x2_to_muxes, x3_to_muxes, x4_to_muxes, x5_to_muxes, x6_to_muxes, x7_to_muxes,
|
||||||
|
x8_to_muxes, x9_to_muxes, x10_to_muxes, x11_to_muxes, x12_to_muxes, x13_to_muxes, x14_to_muxes, x15_to_muxes, x16_to_muxes,
|
||||||
|
x17_to_muxes, x18_to_muxes, x19_to_muxes, x20_to_muxes, x21_to_muxes, x22_to_muxes, x23_to_muxes, x24_to_muxes, x25_to_muxes,
|
||||||
|
x26_to_muxes, x27_to_muxes, x28_to_muxes, x29_to_muxes, x30_to_muxes, x31_to_muxes, output_data_1);
|
||||||
|
|
||||||
|
debug_x31_output <= x31_to_muxes;
|
||||||
|
debug_x1_output <= x1_to_muxes;
|
||||||
|
debug_x2_output <= x2_to_muxes;
|
||||||
|
end architecture Behavioral;
|
2068
Quartus/riscv_microcontroller/db/altsyncram_0ed1.tdf
Normal file
2068
Quartus/riscv_microcontroller/db/altsyncram_0ed1.tdf
Normal file
File diff suppressed because it is too large
Load diff
36
Quartus/riscv_microcontroller/db/altsyncram_11h1.tdf
Normal file
36
Quartus/riscv_microcontroller/db/altsyncram_11h1.tdf
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
--altsyncram CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CLOCK_ENABLE_INPUT_A="BYPASS" CLOCK_ENABLE_OUTPUT_A="BYPASS" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone II" ENABLE_RUNTIME_MOD="NO" INIT_FILE="progmem.mif" LOW_POWER_MODE="AUTO" NUMWORDS_A=256 OPERATION_MODE="SINGLE_PORT" OUTDATA_ACLR_A="NONE" OUTDATA_REG_A="UNREGISTERED" POWER_UP_UNINITIALIZED="FALSE" read_during_write_mode_port_a="OLD_DATA" WIDTH_A=32 WIDTH_BYTEENA_A=1 WIDTHAD_A=8 address_a clock0 data_a q_a wren_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 13.0 cbx_altsyncram 2013:06:12:18:03:43:SJ cbx_cycloneii 2013:06:12:18:03:43:SJ cbx_lpm_add_sub 2013:06:12:18:03:43:SJ cbx_lpm_compare 2013:06:12:18:03:43:SJ cbx_lpm_decode 2013:06:12:18:03:43:SJ cbx_lpm_mux 2013:06:12:18:03:43:SJ cbx_mgl 2013:06:12:18:05:10:SJ cbx_stratix 2013:06:12:18:03:43:SJ cbx_stratixii 2013:06:12:18:03:43:SJ cbx_stratixiii 2013:06:12:18:03:43:SJ cbx_stratixv 2013:06:12:18:03:43:SJ cbx_util_mgl 2013:06:12:18:03:43:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--synthesis_resources =
|
||||||
|
SUBDESIGN altsyncram_11h1
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
data_a[31..0] : input;
|
||||||
|
q_a[31..0] : output;
|
||||||
|
wren_a : input;
|
||||||
|
)
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ASSERT (0)
|
||||||
|
REPORT "read_during_write_mode_port_a parameter cannot be set to value OLD_DATA for Cyclone II device family"
|
||||||
|
SEVERITY ERROR;
|
||||||
|
END;
|
||||||
|
--ERROR FILE
|
814
Quartus/riscv_microcontroller/db/altsyncram_3de1.tdf
Normal file
814
Quartus/riscv_microcontroller/db/altsyncram_3de1.tdf
Normal file
|
@ -0,0 +1,814 @@
|
||||||
|
--altsyncram CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CLOCK_ENABLE_INPUT_A="BYPASS" CLOCK_ENABLE_OUTPUT_A="BYPASS" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone IV GX" ENABLE_RUNTIME_MOD="NO" LOW_POWER_MODE="AUTO" NUMWORDS_A=256 OPERATION_MODE="SINGLE_PORT" OUTDATA_ACLR_A="NONE" OUTDATA_REG_A="CLOCK0" POWER_UP_UNINITIALIZED="FALSE" read_during_write_mode_port_a="OLD_DATA" WIDTH_A=32 WIDTH_BYTEENA_A=1 WIDTHAD_A=8 address_a clock0 data_a q_a wren_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 13.0 cbx_altsyncram 2013:06:12:18:03:43:SJ cbx_cycloneii 2013:06:12:18:03:43:SJ cbx_lpm_add_sub 2013:06:12:18:03:43:SJ cbx_lpm_compare 2013:06:12:18:03:43:SJ cbx_lpm_decode 2013:06:12:18:03:43:SJ cbx_lpm_mux 2013:06:12:18:03:43:SJ cbx_mgl 2013:06:12:18:05:10:SJ cbx_stratix 2013:06:12:18:03:43:SJ cbx_stratixii 2013:06:12:18:03:43:SJ cbx_stratixiii 2013:06:12:18:03:43:SJ cbx_stratixv 2013:06:12:18:03:43:SJ cbx_util_mgl 2013:06:12:18:03:43:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION cycloneiv_ram_block (clk0, clk1, clr0, clr1, ena0, ena1, ena2, ena3, portaaddr[PORT_A_ADDRESS_WIDTH-1..0], portaaddrstall, portabyteenamasks[PORT_A_BYTE_ENABLE_MASK_WIDTH-1..0], portadatain[PORT_A_DATA_WIDTH-1..0], portare, portawe, portbaddr[PORT_B_ADDRESS_WIDTH-1..0], portbaddrstall, portbbyteenamasks[PORT_B_BYTE_ENABLE_MASK_WIDTH-1..0], portbdatain[PORT_B_DATA_WIDTH-1..0], portbre, portbwe)
|
||||||
|
WITH ( CLK0_CORE_CLOCK_ENABLE, CLK0_INPUT_CLOCK_ENABLE, CLK0_OUTPUT_CLOCK_ENABLE, CLK1_CORE_CLOCK_ENABLE, CLK1_INPUT_CLOCK_ENABLE, CLK1_OUTPUT_CLOCK_ENABLE, CONNECTIVITY_CHECKING, DATA_INTERLEAVE_OFFSET_IN_BITS, DATA_INTERLEAVE_WIDTH_IN_BITS, DONT_POWER_OPTIMIZE, INIT_FILE, INIT_FILE_LAYOUT, init_file_restructured, LOGICAL_RAM_NAME, mem_init0, mem_init1, mem_init2, mem_init3, mem_init4, MIXED_PORT_FEED_THROUGH_MODE, OPERATION_MODE, PORT_A_ADDRESS_CLEAR, PORT_A_ADDRESS_WIDTH = 1, PORT_A_BYTE_ENABLE_MASK_WIDTH = 1, PORT_A_BYTE_SIZE, PORT_A_DATA_OUT_CLEAR, PORT_A_DATA_OUT_CLOCK, PORT_A_DATA_WIDTH = 1, PORT_A_FIRST_ADDRESS, PORT_A_FIRST_BIT_NUMBER, PORT_A_LAST_ADDRESS, PORT_A_LOGICAL_RAM_DEPTH, PORT_A_LOGICAL_RAM_WIDTH, PORT_A_READ_DURING_WRITE_MODE, PORT_B_ADDRESS_CLEAR, PORT_B_ADDRESS_CLOCK, PORT_B_ADDRESS_WIDTH = 1, PORT_B_BYTE_ENABLE_CLOCK, PORT_B_BYTE_ENABLE_MASK_WIDTH = 1, PORT_B_BYTE_SIZE, PORT_B_DATA_IN_CLOCK, PORT_B_DATA_OUT_CLEAR, PORT_B_DATA_OUT_CLOCK, PORT_B_DATA_WIDTH = 1, PORT_B_FIRST_ADDRESS, PORT_B_FIRST_BIT_NUMBER, PORT_B_LAST_ADDRESS, PORT_B_LOGICAL_RAM_DEPTH, PORT_B_LOGICAL_RAM_WIDTH, PORT_B_READ_DURING_WRITE_MODE, PORT_B_READ_ENABLE_CLOCK, PORT_B_WRITE_ENABLE_CLOCK, POWER_UP_UNINITIALIZED, RAM_BLOCK_TYPE, SAFE_WRITE, WIDTH_ECCSTATUS)
|
||||||
|
RETURNS ( portadataout[PORT_A_DATA_WIDTH-1..0], portbdataout[PORT_B_DATA_WIDTH-1..0]);
|
||||||
|
|
||||||
|
--synthesis_resources = M9K 1
|
||||||
|
OPTIONS ALTERA_INTERNAL_OPTION = "OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION";
|
||||||
|
|
||||||
|
SUBDESIGN altsyncram_3de1
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
data_a[31..0] : input;
|
||||||
|
q_a[31..0] : output;
|
||||||
|
wren_a : input;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
ram_block1a0 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a1 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a2 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a3 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a4 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a5 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a6 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a7 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a8 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 8,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a9 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 9,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a10 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 10,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a11 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 11,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a12 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 12,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a13 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 13,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a14 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 14,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a15 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 15,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a16 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 16,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a17 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 17,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a18 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 18,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a19 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 19,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a20 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 20,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a21 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 21,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a22 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 22,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a23 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 23,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a24 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 24,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a25 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 25,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a26 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 26,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a27 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 27,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a28 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 28,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a29 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 29,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a30 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 30,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a31 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 31,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
address_a_wire[7..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ram_block1a[31..0].clk0 = clock0;
|
||||||
|
ram_block1a[31..0].portaaddr[] = ( address_a_wire[7..0]);
|
||||||
|
ram_block1a[0].portadatain[] = ( data_a[0..0]);
|
||||||
|
ram_block1a[1].portadatain[] = ( data_a[1..1]);
|
||||||
|
ram_block1a[2].portadatain[] = ( data_a[2..2]);
|
||||||
|
ram_block1a[3].portadatain[] = ( data_a[3..3]);
|
||||||
|
ram_block1a[4].portadatain[] = ( data_a[4..4]);
|
||||||
|
ram_block1a[5].portadatain[] = ( data_a[5..5]);
|
||||||
|
ram_block1a[6].portadatain[] = ( data_a[6..6]);
|
||||||
|
ram_block1a[7].portadatain[] = ( data_a[7..7]);
|
||||||
|
ram_block1a[8].portadatain[] = ( data_a[8..8]);
|
||||||
|
ram_block1a[9].portadatain[] = ( data_a[9..9]);
|
||||||
|
ram_block1a[10].portadatain[] = ( data_a[10..10]);
|
||||||
|
ram_block1a[11].portadatain[] = ( data_a[11..11]);
|
||||||
|
ram_block1a[12].portadatain[] = ( data_a[12..12]);
|
||||||
|
ram_block1a[13].portadatain[] = ( data_a[13..13]);
|
||||||
|
ram_block1a[14].portadatain[] = ( data_a[14..14]);
|
||||||
|
ram_block1a[15].portadatain[] = ( data_a[15..15]);
|
||||||
|
ram_block1a[16].portadatain[] = ( data_a[16..16]);
|
||||||
|
ram_block1a[17].portadatain[] = ( data_a[17..17]);
|
||||||
|
ram_block1a[18].portadatain[] = ( data_a[18..18]);
|
||||||
|
ram_block1a[19].portadatain[] = ( data_a[19..19]);
|
||||||
|
ram_block1a[20].portadatain[] = ( data_a[20..20]);
|
||||||
|
ram_block1a[21].portadatain[] = ( data_a[21..21]);
|
||||||
|
ram_block1a[22].portadatain[] = ( data_a[22..22]);
|
||||||
|
ram_block1a[23].portadatain[] = ( data_a[23..23]);
|
||||||
|
ram_block1a[24].portadatain[] = ( data_a[24..24]);
|
||||||
|
ram_block1a[25].portadatain[] = ( data_a[25..25]);
|
||||||
|
ram_block1a[26].portadatain[] = ( data_a[26..26]);
|
||||||
|
ram_block1a[27].portadatain[] = ( data_a[27..27]);
|
||||||
|
ram_block1a[28].portadatain[] = ( data_a[28..28]);
|
||||||
|
ram_block1a[29].portadatain[] = ( data_a[29..29]);
|
||||||
|
ram_block1a[30].portadatain[] = ( data_a[30..30]);
|
||||||
|
ram_block1a[31].portadatain[] = ( data_a[31..31]);
|
||||||
|
ram_block1a[31..0].portare = B"11111111111111111111111111111111";
|
||||||
|
ram_block1a[31..0].portawe = wren_a;
|
||||||
|
address_a_wire[] = address_a[];
|
||||||
|
q_a[] = ( ram_block1a[31..0].portadataout[0..0]);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
5692
Quartus/riscv_microcontroller/db/altsyncram_5gs3.tdf
Normal file
5692
Quartus/riscv_microcontroller/db/altsyncram_5gs3.tdf
Normal file
File diff suppressed because one or more lines are too long
747
Quartus/riscv_microcontroller/db/altsyncram_66s3.tdf
Normal file
747
Quartus/riscv_microcontroller/db/altsyncram_66s3.tdf
Normal file
|
@ -0,0 +1,747 @@
|
||||||
|
--altsyncram ADDRESS_ACLR_A="NONE" ADDRESS_ACLR_B="NONE" ADDRESS_REG_B="CLOCK1" BYTE_SIZE=8 BYTEENA_ACLR_B="NONE" BYTEENA_REG_B="CLOCK1" CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CLOCK_ENABLE_CORE_A="USE_INPUT_CLKEN" CLOCK_ENABLE_CORE_B="USE_INPUT_CLKEN" CLOCK_ENABLE_INPUT_A="BYPASS" CLOCK_ENABLE_INPUT_B="NORMAL" CLOCK_ENABLE_OUTPUT_A="BYPASS" CLOCK_ENABLE_OUTPUT_B="NORMAL" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone IV GX" ECC_PIPELINE_STAGE_ENABLED="FALSE" ENABLE_ECC="FALSE" ENABLE_RUNTIME_MOD="NO" IMPLEMENT_IN_LES="OFF" INDATA_ACLR_B="NONE" INDATA_REG_B="CLOCK1" INIT_FILE="progmem.mif" INIT_FILE_LAYOUT="PORT_A" LOW_POWER_MODE="AUTO" MAXIMUM_DEPTH=0 NUMWORDS_A=256 NUMWORDS_B=0 OPERATION_MODE="ROM" OUTDATA_ACLR_A="NONE" OUTDATA_ACLR_B="NONE" OUTDATA_REG_A="UNREGISTERED" OUTDATA_REG_B="UNREGISTERED" POWER_UP_UNINITIALIZED="FALSE" RAM_BLOCK_TYPE="AUTO" RDCONTROL_ACLR_B="NONE" RDCONTROL_REG_B="CLOCK1" READ_DURING_WRITE_MODE_MIXED_PORTS="DONT_CARE" read_during_write_mode_port_a="NEW_DATA_NO_NBE_READ" read_during_write_mode_port_b="NEW_DATA_NO_NBE_READ" stratixiv_m144k_allow_dual_clocks="ON" WIDTH_A=32 WIDTH_B=1 WIDTH_BYTEENA_A=1 WIDTH_BYTEENA_B=1 WIDTH_ECCSTATUS=3 WIDTHAD_A=8 WIDTHAD_B=1 WRCONTROL_ACLR_B="NONE" WRCONTROL_WRADDRESS_REG_B="CLOCK1" address_a clock0 q_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 18.1 cbx_altera_syncram_nd_impl 2018:09:12:13:04:24:SJ cbx_altsyncram 2018:09:12:13:04:24:SJ cbx_cycloneii 2018:09:12:13:04:24:SJ cbx_lpm_add_sub 2018:09:12:13:04:24:SJ cbx_lpm_compare 2018:09:12:13:04:24:SJ cbx_lpm_decode 2018:09:12:13:04:24:SJ cbx_lpm_mux 2018:09:12:13:04:24:SJ cbx_mgl 2018:09:12:13:10:36:SJ cbx_nadder 2018:09:12:13:04:24:SJ cbx_stratix 2018:09:12:13:04:24:SJ cbx_stratixii 2018:09:12:13:04:24:SJ cbx_stratixiii 2018:09:12:13:04:24:SJ cbx_stratixv 2018:09:12:13:04:24:SJ cbx_util_mgl 2018:09:12:13:04:24:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- 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.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION cycloneiv_ram_block (clk0, clk1, clr0, clr1, ena0, ena1, ena2, ena3, portaaddr[PORT_A_ADDRESS_WIDTH-1..0], portaaddrstall, portabyteenamasks[PORT_A_BYTE_ENABLE_MASK_WIDTH-1..0], portadatain[PORT_A_DATA_WIDTH-1..0], portare, portawe, portbaddr[PORT_B_ADDRESS_WIDTH-1..0], portbaddrstall, portbbyteenamasks[PORT_B_BYTE_ENABLE_MASK_WIDTH-1..0], portbdatain[PORT_B_DATA_WIDTH-1..0], portbre, portbwe)
|
||||||
|
WITH ( CLK0_CORE_CLOCK_ENABLE, CLK0_INPUT_CLOCK_ENABLE, CLK0_OUTPUT_CLOCK_ENABLE, CLK1_CORE_CLOCK_ENABLE, CLK1_INPUT_CLOCK_ENABLE, CLK1_OUTPUT_CLOCK_ENABLE, CONNECTIVITY_CHECKING, DATA_INTERLEAVE_OFFSET_IN_BITS, DATA_INTERLEAVE_WIDTH_IN_BITS, DONT_POWER_OPTIMIZE, INIT_FILE, INIT_FILE_LAYOUT, init_file_restructured, LOGICAL_RAM_NAME, mem_init0, mem_init1, mem_init2, mem_init3, mem_init4, MIXED_PORT_FEED_THROUGH_MODE, OPERATION_MODE, PORT_A_ADDRESS_CLEAR, PORT_A_ADDRESS_WIDTH = 1, PORT_A_BYTE_ENABLE_MASK_WIDTH = 1, PORT_A_BYTE_SIZE, PORT_A_DATA_OUT_CLEAR, PORT_A_DATA_OUT_CLOCK, PORT_A_DATA_WIDTH = 1, PORT_A_FIRST_ADDRESS, PORT_A_FIRST_BIT_NUMBER, PORT_A_LAST_ADDRESS, PORT_A_LOGICAL_RAM_DEPTH, PORT_A_LOGICAL_RAM_WIDTH, PORT_A_READ_DURING_WRITE_MODE, PORT_B_ADDRESS_CLEAR, PORT_B_ADDRESS_CLOCK, PORT_B_ADDRESS_WIDTH = 1, PORT_B_BYTE_ENABLE_CLOCK, PORT_B_BYTE_ENABLE_MASK_WIDTH = 1, PORT_B_BYTE_SIZE, PORT_B_DATA_IN_CLOCK, PORT_B_DATA_OUT_CLEAR, PORT_B_DATA_OUT_CLOCK, PORT_B_DATA_WIDTH = 1, PORT_B_FIRST_ADDRESS, PORT_B_FIRST_BIT_NUMBER, PORT_B_LAST_ADDRESS, PORT_B_LOGICAL_RAM_DEPTH, PORT_B_LOGICAL_RAM_WIDTH, PORT_B_READ_DURING_WRITE_MODE, PORT_B_READ_ENABLE_CLOCK, PORT_B_WRITE_ENABLE_CLOCK, POWER_UP_UNINITIALIZED, RAM_BLOCK_TYPE, SAFE_WRITE, WIDTH_ECCSTATUS)
|
||||||
|
RETURNS ( portadataout[PORT_A_DATA_WIDTH-1..0], portbdataout[PORT_B_DATA_WIDTH-1..0]);
|
||||||
|
|
||||||
|
--synthesis_resources = M9K 1
|
||||||
|
OPTIONS ALTERA_INTERNAL_OPTION = "OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION";
|
||||||
|
|
||||||
|
SUBDESIGN altsyncram_66s3
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
q_a[31..0] : output;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
ram_block1a0 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a1 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a2 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a3 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a4 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a5 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a6 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a7 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a8 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 8,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a9 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 9,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a10 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 10,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a11 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 11,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a12 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 12,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a13 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 13,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a14 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 14,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a15 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 15,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a16 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 16,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a17 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 17,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a18 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 18,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a19 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 19,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a20 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 20,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a21 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 21,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a22 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 22,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a23 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 23,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a24 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 24,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a25 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 25,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a26 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 26,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a27 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 27,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a28 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 28,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a29 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 29,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a30 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 30,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a31 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "rom",
|
||||||
|
PORT_A_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 31,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
address_a_wire[7..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ram_block1a[31..0].clk0 = clock0;
|
||||||
|
ram_block1a[31..0].portaaddr[] = ( address_a_wire[7..0]);
|
||||||
|
ram_block1a[31..0].portare = B"11111111111111111111111111111111";
|
||||||
|
address_a_wire[] = address_a[];
|
||||||
|
q_a[] = ( ram_block1a[31..0].portadataout[0..0]);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
301
Quartus/riscv_microcontroller/db/altsyncram_a4d1.tdf
Normal file
301
Quartus/riscv_microcontroller/db/altsyncram_a4d1.tdf
Normal file
|
@ -0,0 +1,301 @@
|
||||||
|
--altsyncram ADDRESS_ACLR_A="NONE" ADDRESS_ACLR_B="NONE" ADDRESS_REG_B="CLOCK1" CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone IV GX" INDATA_ACLR_A="NONE" LOW_POWER_MODE="AUTO" NUMWORDS_A=256 NUMWORDS_B=256 OPERATION_MODE="DUAL_PORT" OUTDATA_ACLR_B="NONE" OUTDATA_REG_B="UNREGISTERED" WIDTH_A=8 WIDTH_B=8 WIDTHAD_A=8 WIDTHAD_B=8 WRCONTROL_ACLR_A="NONE" address_a address_b clock0 clock1 data_a q_b wren_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 18.1 cbx_altera_syncram_nd_impl 2018:09:12:13:04:24:SJ cbx_altsyncram 2018:09:12:13:04:24:SJ cbx_cycloneii 2018:09:12:13:04:24:SJ cbx_lpm_add_sub 2018:09:12:13:04:24:SJ cbx_lpm_compare 2018:09:12:13:04:24:SJ cbx_lpm_decode 2018:09:12:13:04:24:SJ cbx_lpm_mux 2018:09:12:13:04:24:SJ cbx_mgl 2018:09:12:13:10:36:SJ cbx_nadder 2018:09:12:13:04:24:SJ cbx_stratix 2018:09:12:13:04:24:SJ cbx_stratixii 2018:09:12:13:04:24:SJ cbx_stratixiii 2018:09:12:13:04:24:SJ cbx_stratixv 2018:09:12:13:04:24:SJ cbx_util_mgl 2018:09:12:13:04:24:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- 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.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION cycloneiv_ram_block (clk0, clk1, clr0, clr1, ena0, ena1, ena2, ena3, portaaddr[PORT_A_ADDRESS_WIDTH-1..0], portaaddrstall, portabyteenamasks[PORT_A_BYTE_ENABLE_MASK_WIDTH-1..0], portadatain[PORT_A_DATA_WIDTH-1..0], portare, portawe, portbaddr[PORT_B_ADDRESS_WIDTH-1..0], portbaddrstall, portbbyteenamasks[PORT_B_BYTE_ENABLE_MASK_WIDTH-1..0], portbdatain[PORT_B_DATA_WIDTH-1..0], portbre, portbwe)
|
||||||
|
WITH ( CLK0_CORE_CLOCK_ENABLE, CLK0_INPUT_CLOCK_ENABLE, CLK0_OUTPUT_CLOCK_ENABLE, CLK1_CORE_CLOCK_ENABLE, CLK1_INPUT_CLOCK_ENABLE, CLK1_OUTPUT_CLOCK_ENABLE, CONNECTIVITY_CHECKING, DATA_INTERLEAVE_OFFSET_IN_BITS, DATA_INTERLEAVE_WIDTH_IN_BITS, DONT_POWER_OPTIMIZE, INIT_FILE, INIT_FILE_LAYOUT, init_file_restructured, LOGICAL_RAM_NAME, mem_init0, mem_init1, mem_init2, mem_init3, mem_init4, MIXED_PORT_FEED_THROUGH_MODE, OPERATION_MODE, PORT_A_ADDRESS_CLEAR, PORT_A_ADDRESS_WIDTH = 1, PORT_A_BYTE_ENABLE_MASK_WIDTH = 1, PORT_A_BYTE_SIZE, PORT_A_DATA_OUT_CLEAR, PORT_A_DATA_OUT_CLOCK, PORT_A_DATA_WIDTH = 1, PORT_A_FIRST_ADDRESS, PORT_A_FIRST_BIT_NUMBER, PORT_A_LAST_ADDRESS, PORT_A_LOGICAL_RAM_DEPTH, PORT_A_LOGICAL_RAM_WIDTH, PORT_A_READ_DURING_WRITE_MODE, PORT_B_ADDRESS_CLEAR, PORT_B_ADDRESS_CLOCK, PORT_B_ADDRESS_WIDTH = 1, PORT_B_BYTE_ENABLE_CLOCK, PORT_B_BYTE_ENABLE_MASK_WIDTH = 1, PORT_B_BYTE_SIZE, PORT_B_DATA_IN_CLOCK, PORT_B_DATA_OUT_CLEAR, PORT_B_DATA_OUT_CLOCK, PORT_B_DATA_WIDTH = 1, PORT_B_FIRST_ADDRESS, PORT_B_FIRST_BIT_NUMBER, PORT_B_LAST_ADDRESS, PORT_B_LOGICAL_RAM_DEPTH, PORT_B_LOGICAL_RAM_WIDTH, PORT_B_READ_DURING_WRITE_MODE, PORT_B_READ_ENABLE_CLOCK, PORT_B_WRITE_ENABLE_CLOCK, POWER_UP_UNINITIALIZED, RAM_BLOCK_TYPE, SAFE_WRITE, WIDTH_ECCSTATUS)
|
||||||
|
RETURNS ( portadataout[PORT_A_DATA_WIDTH-1..0], portbdataout[PORT_B_DATA_WIDTH-1..0]);
|
||||||
|
|
||||||
|
--synthesis_resources = M9K 1
|
||||||
|
OPTIONS ALTERA_INTERNAL_OPTION = "OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION";
|
||||||
|
|
||||||
|
SUBDESIGN altsyncram_a4d1
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
address_b[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
clock1 : input;
|
||||||
|
data_a[7..0] : input;
|
||||||
|
q_b[7..0] : output;
|
||||||
|
wren_a : input;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
ram_block1a0 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a1 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a2 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a3 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a4 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a5 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a6 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a7 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "ena0",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK1_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
MIXED_PORT_FEED_THROUGH_MODE = "dont_care",
|
||||||
|
OPERATION_MODE = "dual_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_ADDRESS_CLEAR = "none",
|
||||||
|
PORT_B_ADDRESS_CLOCK = "clock1",
|
||||||
|
PORT_B_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_B_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_B_DATA_WIDTH = 1,
|
||||||
|
PORT_B_FIRST_ADDRESS = 0,
|
||||||
|
PORT_B_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_B_LAST_ADDRESS = 255,
|
||||||
|
PORT_B_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_B_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_B_READ_ENABLE_CLOCK = "clock1",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
address_a_wire[7..0] : WIRE;
|
||||||
|
address_b_wire[7..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ram_block1a[7..0].clk0 = clock0;
|
||||||
|
ram_block1a[7..0].clk1 = clock1;
|
||||||
|
ram_block1a[7..0].ena0 = wren_a;
|
||||||
|
ram_block1a[7..0].portaaddr[] = ( address_a_wire[7..0]);
|
||||||
|
ram_block1a[0].portadatain[] = ( data_a[0..0]);
|
||||||
|
ram_block1a[1].portadatain[] = ( data_a[1..1]);
|
||||||
|
ram_block1a[2].portadatain[] = ( data_a[2..2]);
|
||||||
|
ram_block1a[3].portadatain[] = ( data_a[3..3]);
|
||||||
|
ram_block1a[4].portadatain[] = ( data_a[4..4]);
|
||||||
|
ram_block1a[5].portadatain[] = ( data_a[5..5]);
|
||||||
|
ram_block1a[6].portadatain[] = ( data_a[6..6]);
|
||||||
|
ram_block1a[7].portadatain[] = ( data_a[7..7]);
|
||||||
|
ram_block1a[7..0].portawe = wren_a;
|
||||||
|
ram_block1a[7..0].portbaddr[] = ( address_b_wire[7..0]);
|
||||||
|
ram_block1a[7..0].portbre = B"11111111";
|
||||||
|
address_a_wire[] = address_a[];
|
||||||
|
address_b_wire[] = address_b[];
|
||||||
|
q_b[] = ( ram_block1a[7..0].portbdataout[0..0]);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
230
Quartus/riscv_microcontroller/db/altsyncram_b2f1.tdf
Normal file
230
Quartus/riscv_microcontroller/db/altsyncram_b2f1.tdf
Normal file
|
@ -0,0 +1,230 @@
|
||||||
|
--altsyncram CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CLOCK_ENABLE_INPUT_A="BYPASS" CLOCK_ENABLE_OUTPUT_A="BYPASS" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone IV GX" ENABLE_RUNTIME_MOD="NO" LOW_POWER_MODE="AUTO" NUMWORDS_A=256 OPERATION_MODE="SINGLE_PORT" OUTDATA_ACLR_A="NONE" OUTDATA_REG_A="UNREGISTERED" POWER_UP_UNINITIALIZED="FALSE" read_during_write_mode_port_a="OLD_DATA" WIDTH_A=8 WIDTH_BYTEENA_A=1 WIDTHAD_A=8 address_a clock0 data_a q_a wren_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 13.0 cbx_altsyncram 2013:06:12:18:03:43:SJ cbx_cycloneii 2013:06:12:18:03:43:SJ cbx_lpm_add_sub 2013:06:12:18:03:43:SJ cbx_lpm_compare 2013:06:12:18:03:43:SJ cbx_lpm_decode 2013:06:12:18:03:43:SJ cbx_lpm_mux 2013:06:12:18:03:43:SJ cbx_mgl 2013:06:12:18:05:10:SJ cbx_stratix 2013:06:12:18:03:43:SJ cbx_stratixii 2013:06:12:18:03:43:SJ cbx_stratixiii 2013:06:12:18:03:43:SJ cbx_stratixv 2013:06:12:18:03:43:SJ cbx_util_mgl 2013:06:12:18:03:43:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION cycloneiv_ram_block (clk0, clk1, clr0, clr1, ena0, ena1, ena2, ena3, portaaddr[PORT_A_ADDRESS_WIDTH-1..0], portaaddrstall, portabyteenamasks[PORT_A_BYTE_ENABLE_MASK_WIDTH-1..0], portadatain[PORT_A_DATA_WIDTH-1..0], portare, portawe, portbaddr[PORT_B_ADDRESS_WIDTH-1..0], portbaddrstall, portbbyteenamasks[PORT_B_BYTE_ENABLE_MASK_WIDTH-1..0], portbdatain[PORT_B_DATA_WIDTH-1..0], portbre, portbwe)
|
||||||
|
WITH ( CLK0_CORE_CLOCK_ENABLE, CLK0_INPUT_CLOCK_ENABLE, CLK0_OUTPUT_CLOCK_ENABLE, CLK1_CORE_CLOCK_ENABLE, CLK1_INPUT_CLOCK_ENABLE, CLK1_OUTPUT_CLOCK_ENABLE, CONNECTIVITY_CHECKING, DATA_INTERLEAVE_OFFSET_IN_BITS, DATA_INTERLEAVE_WIDTH_IN_BITS, DONT_POWER_OPTIMIZE, INIT_FILE, INIT_FILE_LAYOUT, init_file_restructured, LOGICAL_RAM_NAME, mem_init0, mem_init1, mem_init2, mem_init3, mem_init4, MIXED_PORT_FEED_THROUGH_MODE, OPERATION_MODE, PORT_A_ADDRESS_CLEAR, PORT_A_ADDRESS_WIDTH = 1, PORT_A_BYTE_ENABLE_MASK_WIDTH = 1, PORT_A_BYTE_SIZE, PORT_A_DATA_OUT_CLEAR, PORT_A_DATA_OUT_CLOCK, PORT_A_DATA_WIDTH = 1, PORT_A_FIRST_ADDRESS, PORT_A_FIRST_BIT_NUMBER, PORT_A_LAST_ADDRESS, PORT_A_LOGICAL_RAM_DEPTH, PORT_A_LOGICAL_RAM_WIDTH, PORT_A_READ_DURING_WRITE_MODE, PORT_B_ADDRESS_CLEAR, PORT_B_ADDRESS_CLOCK, PORT_B_ADDRESS_WIDTH = 1, PORT_B_BYTE_ENABLE_CLOCK, PORT_B_BYTE_ENABLE_MASK_WIDTH = 1, PORT_B_BYTE_SIZE, PORT_B_DATA_IN_CLOCK, PORT_B_DATA_OUT_CLEAR, PORT_B_DATA_OUT_CLOCK, PORT_B_DATA_WIDTH = 1, PORT_B_FIRST_ADDRESS, PORT_B_FIRST_BIT_NUMBER, PORT_B_LAST_ADDRESS, PORT_B_LOGICAL_RAM_DEPTH, PORT_B_LOGICAL_RAM_WIDTH, PORT_B_READ_DURING_WRITE_MODE, PORT_B_READ_ENABLE_CLOCK, PORT_B_WRITE_ENABLE_CLOCK, POWER_UP_UNINITIALIZED, RAM_BLOCK_TYPE, SAFE_WRITE, WIDTH_ECCSTATUS)
|
||||||
|
RETURNS ( portadataout[PORT_A_DATA_WIDTH-1..0], portbdataout[PORT_B_DATA_WIDTH-1..0]);
|
||||||
|
|
||||||
|
--synthesis_resources = M9K 1
|
||||||
|
OPTIONS ALTERA_INTERNAL_OPTION = "OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION";
|
||||||
|
|
||||||
|
SUBDESIGN altsyncram_b2f1
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
data_a[7..0] : input;
|
||||||
|
q_a[7..0] : output;
|
||||||
|
wren_a : input;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
ram_block1a0 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a1 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a2 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a3 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a4 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a5 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a6 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a7 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
address_a_wire[7..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ram_block1a[7..0].clk0 = clock0;
|
||||||
|
ram_block1a[7..0].portaaddr[] = ( address_a_wire[7..0]);
|
||||||
|
ram_block1a[0].portadatain[] = ( data_a[0..0]);
|
||||||
|
ram_block1a[1].portadatain[] = ( data_a[1..1]);
|
||||||
|
ram_block1a[2].portadatain[] = ( data_a[2..2]);
|
||||||
|
ram_block1a[3].portadatain[] = ( data_a[3..3]);
|
||||||
|
ram_block1a[4].portadatain[] = ( data_a[4..4]);
|
||||||
|
ram_block1a[5].portadatain[] = ( data_a[5..5]);
|
||||||
|
ram_block1a[6].portadatain[] = ( data_a[6..6]);
|
||||||
|
ram_block1a[7].portadatain[] = ( data_a[7..7]);
|
||||||
|
ram_block1a[7..0].portare = B"11111111";
|
||||||
|
ram_block1a[7..0].portawe = wren_a;
|
||||||
|
address_a_wire[] = address_a[];
|
||||||
|
q_a[] = ( ram_block1a[7..0].portadataout[0..0]);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
846
Quartus/riscv_microcontroller/db/altsyncram_d9h1.tdf
Normal file
846
Quartus/riscv_microcontroller/db/altsyncram_d9h1.tdf
Normal file
|
@ -0,0 +1,846 @@
|
||||||
|
--altsyncram CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CLOCK_ENABLE_INPUT_A="BYPASS" CLOCK_ENABLE_OUTPUT_A="BYPASS" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone IV GX" ENABLE_RUNTIME_MOD="NO" INIT_FILE="progmem.mif" LOW_POWER_MODE="AUTO" NUMWORDS_A=256 OPERATION_MODE="SINGLE_PORT" OUTDATA_ACLR_A="NONE" OUTDATA_REG_A="UNREGISTERED" POWER_UP_UNINITIALIZED="FALSE" read_during_write_mode_port_a="OLD_DATA" WIDTH_A=32 WIDTH_BYTEENA_A=1 WIDTHAD_A=8 address_a clock0 data_a q_a wren_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 13.0 cbx_altsyncram 2013:06:12:18:03:43:SJ cbx_cycloneii 2013:06:12:18:03:43:SJ cbx_lpm_add_sub 2013:06:12:18:03:43:SJ cbx_lpm_compare 2013:06:12:18:03:43:SJ cbx_lpm_decode 2013:06:12:18:03:43:SJ cbx_lpm_mux 2013:06:12:18:03:43:SJ cbx_mgl 2013:06:12:18:05:10:SJ cbx_stratix 2013:06:12:18:03:43:SJ cbx_stratixii 2013:06:12:18:03:43:SJ cbx_stratixiii 2013:06:12:18:03:43:SJ cbx_stratixv 2013:06:12:18:03:43:SJ cbx_util_mgl 2013:06:12:18:03:43:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION cycloneiv_ram_block (clk0, clk1, clr0, clr1, ena0, ena1, ena2, ena3, portaaddr[PORT_A_ADDRESS_WIDTH-1..0], portaaddrstall, portabyteenamasks[PORT_A_BYTE_ENABLE_MASK_WIDTH-1..0], portadatain[PORT_A_DATA_WIDTH-1..0], portare, portawe, portbaddr[PORT_B_ADDRESS_WIDTH-1..0], portbaddrstall, portbbyteenamasks[PORT_B_BYTE_ENABLE_MASK_WIDTH-1..0], portbdatain[PORT_B_DATA_WIDTH-1..0], portbre, portbwe)
|
||||||
|
WITH ( CLK0_CORE_CLOCK_ENABLE, CLK0_INPUT_CLOCK_ENABLE, CLK0_OUTPUT_CLOCK_ENABLE, CLK1_CORE_CLOCK_ENABLE, CLK1_INPUT_CLOCK_ENABLE, CLK1_OUTPUT_CLOCK_ENABLE, CONNECTIVITY_CHECKING, DATA_INTERLEAVE_OFFSET_IN_BITS, DATA_INTERLEAVE_WIDTH_IN_BITS, DONT_POWER_OPTIMIZE, INIT_FILE, INIT_FILE_LAYOUT, init_file_restructured, LOGICAL_RAM_NAME, mem_init0, mem_init1, mem_init2, mem_init3, mem_init4, MIXED_PORT_FEED_THROUGH_MODE, OPERATION_MODE, PORT_A_ADDRESS_CLEAR, PORT_A_ADDRESS_WIDTH = 1, PORT_A_BYTE_ENABLE_MASK_WIDTH = 1, PORT_A_BYTE_SIZE, PORT_A_DATA_OUT_CLEAR, PORT_A_DATA_OUT_CLOCK, PORT_A_DATA_WIDTH = 1, PORT_A_FIRST_ADDRESS, PORT_A_FIRST_BIT_NUMBER, PORT_A_LAST_ADDRESS, PORT_A_LOGICAL_RAM_DEPTH, PORT_A_LOGICAL_RAM_WIDTH, PORT_A_READ_DURING_WRITE_MODE, PORT_B_ADDRESS_CLEAR, PORT_B_ADDRESS_CLOCK, PORT_B_ADDRESS_WIDTH = 1, PORT_B_BYTE_ENABLE_CLOCK, PORT_B_BYTE_ENABLE_MASK_WIDTH = 1, PORT_B_BYTE_SIZE, PORT_B_DATA_IN_CLOCK, PORT_B_DATA_OUT_CLEAR, PORT_B_DATA_OUT_CLOCK, PORT_B_DATA_WIDTH = 1, PORT_B_FIRST_ADDRESS, PORT_B_FIRST_BIT_NUMBER, PORT_B_LAST_ADDRESS, PORT_B_LOGICAL_RAM_DEPTH, PORT_B_LOGICAL_RAM_WIDTH, PORT_B_READ_DURING_WRITE_MODE, PORT_B_READ_ENABLE_CLOCK, PORT_B_WRITE_ENABLE_CLOCK, POWER_UP_UNINITIALIZED, RAM_BLOCK_TYPE, SAFE_WRITE, WIDTH_ECCSTATUS)
|
||||||
|
RETURNS ( portadataout[PORT_A_DATA_WIDTH-1..0], portbdataout[PORT_B_DATA_WIDTH-1..0]);
|
||||||
|
|
||||||
|
--synthesis_resources = M9K 1
|
||||||
|
OPTIONS ALTERA_INTERNAL_OPTION = "OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION";
|
||||||
|
|
||||||
|
SUBDESIGN altsyncram_d9h1
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
data_a[31..0] : input;
|
||||||
|
q_a[31..0] : output;
|
||||||
|
wren_a : input;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
ram_block1a0 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a1 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a2 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a3 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a4 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a5 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a6 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a7 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a8 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 8,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a9 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 9,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a10 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 10,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a11 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 11,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a12 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 12,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a13 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 13,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a14 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 14,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a15 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 15,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a16 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 16,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a17 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 17,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a18 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 18,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a19 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 19,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a20 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 20,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a21 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 21,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a22 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 22,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a23 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 23,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a24 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 24,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a25 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 25,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a26 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 26,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a27 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 27,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a28 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 28,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a29 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 29,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a30 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 30,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a31 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "none",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 31,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
address_a_wire[7..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ram_block1a[31..0].clk0 = clock0;
|
||||||
|
ram_block1a[31..0].portaaddr[] = ( address_a_wire[7..0]);
|
||||||
|
ram_block1a[0].portadatain[] = ( data_a[0..0]);
|
||||||
|
ram_block1a[1].portadatain[] = ( data_a[1..1]);
|
||||||
|
ram_block1a[2].portadatain[] = ( data_a[2..2]);
|
||||||
|
ram_block1a[3].portadatain[] = ( data_a[3..3]);
|
||||||
|
ram_block1a[4].portadatain[] = ( data_a[4..4]);
|
||||||
|
ram_block1a[5].portadatain[] = ( data_a[5..5]);
|
||||||
|
ram_block1a[6].portadatain[] = ( data_a[6..6]);
|
||||||
|
ram_block1a[7].portadatain[] = ( data_a[7..7]);
|
||||||
|
ram_block1a[8].portadatain[] = ( data_a[8..8]);
|
||||||
|
ram_block1a[9].portadatain[] = ( data_a[9..9]);
|
||||||
|
ram_block1a[10].portadatain[] = ( data_a[10..10]);
|
||||||
|
ram_block1a[11].portadatain[] = ( data_a[11..11]);
|
||||||
|
ram_block1a[12].portadatain[] = ( data_a[12..12]);
|
||||||
|
ram_block1a[13].portadatain[] = ( data_a[13..13]);
|
||||||
|
ram_block1a[14].portadatain[] = ( data_a[14..14]);
|
||||||
|
ram_block1a[15].portadatain[] = ( data_a[15..15]);
|
||||||
|
ram_block1a[16].portadatain[] = ( data_a[16..16]);
|
||||||
|
ram_block1a[17].portadatain[] = ( data_a[17..17]);
|
||||||
|
ram_block1a[18].portadatain[] = ( data_a[18..18]);
|
||||||
|
ram_block1a[19].portadatain[] = ( data_a[19..19]);
|
||||||
|
ram_block1a[20].portadatain[] = ( data_a[20..20]);
|
||||||
|
ram_block1a[21].portadatain[] = ( data_a[21..21]);
|
||||||
|
ram_block1a[22].portadatain[] = ( data_a[22..22]);
|
||||||
|
ram_block1a[23].portadatain[] = ( data_a[23..23]);
|
||||||
|
ram_block1a[24].portadatain[] = ( data_a[24..24]);
|
||||||
|
ram_block1a[25].portadatain[] = ( data_a[25..25]);
|
||||||
|
ram_block1a[26].portadatain[] = ( data_a[26..26]);
|
||||||
|
ram_block1a[27].portadatain[] = ( data_a[27..27]);
|
||||||
|
ram_block1a[28].portadatain[] = ( data_a[28..28]);
|
||||||
|
ram_block1a[29].portadatain[] = ( data_a[29..29]);
|
||||||
|
ram_block1a[30].portadatain[] = ( data_a[30..30]);
|
||||||
|
ram_block1a[31].portadatain[] = ( data_a[31..31]);
|
||||||
|
ram_block1a[31..0].portare = B"11111111111111111111111111111111";
|
||||||
|
ram_block1a[31..0].portawe = wren_a;
|
||||||
|
address_a_wire[] = address_a[];
|
||||||
|
q_a[] = ( ram_block1a[31..0].portadataout[0..0]);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
238
Quartus/riscv_microcontroller/db/altsyncram_mbe1.tdf
Normal file
238
Quartus/riscv_microcontroller/db/altsyncram_mbe1.tdf
Normal file
|
@ -0,0 +1,238 @@
|
||||||
|
--altsyncram CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CLOCK_ENABLE_INPUT_A="BYPASS" CLOCK_ENABLE_OUTPUT_A="BYPASS" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone IV GX" ENABLE_RUNTIME_MOD="NO" LOW_POWER_MODE="AUTO" NUMWORDS_A=256 OPERATION_MODE="SINGLE_PORT" OUTDATA_ACLR_A="NONE" OUTDATA_REG_A="CLOCK0" POWER_UP_UNINITIALIZED="FALSE" read_during_write_mode_port_a="OLD_DATA" WIDTH_A=8 WIDTH_BYTEENA_A=1 WIDTHAD_A=8 address_a clock0 data_a q_a wren_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 13.0 cbx_altsyncram 2013:06:12:18:03:43:SJ cbx_cycloneii 2013:06:12:18:03:43:SJ cbx_lpm_add_sub 2013:06:12:18:03:43:SJ cbx_lpm_compare 2013:06:12:18:03:43:SJ cbx_lpm_decode 2013:06:12:18:03:43:SJ cbx_lpm_mux 2013:06:12:18:03:43:SJ cbx_mgl 2013:06:12:18:05:10:SJ cbx_stratix 2013:06:12:18:03:43:SJ cbx_stratixii 2013:06:12:18:03:43:SJ cbx_stratixiii 2013:06:12:18:03:43:SJ cbx_stratixv 2013:06:12:18:03:43:SJ cbx_util_mgl 2013:06:12:18:03:43:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION cycloneiv_ram_block (clk0, clk1, clr0, clr1, ena0, ena1, ena2, ena3, portaaddr[PORT_A_ADDRESS_WIDTH-1..0], portaaddrstall, portabyteenamasks[PORT_A_BYTE_ENABLE_MASK_WIDTH-1..0], portadatain[PORT_A_DATA_WIDTH-1..0], portare, portawe, portbaddr[PORT_B_ADDRESS_WIDTH-1..0], portbaddrstall, portbbyteenamasks[PORT_B_BYTE_ENABLE_MASK_WIDTH-1..0], portbdatain[PORT_B_DATA_WIDTH-1..0], portbre, portbwe)
|
||||||
|
WITH ( CLK0_CORE_CLOCK_ENABLE, CLK0_INPUT_CLOCK_ENABLE, CLK0_OUTPUT_CLOCK_ENABLE, CLK1_CORE_CLOCK_ENABLE, CLK1_INPUT_CLOCK_ENABLE, CLK1_OUTPUT_CLOCK_ENABLE, CONNECTIVITY_CHECKING, DATA_INTERLEAVE_OFFSET_IN_BITS, DATA_INTERLEAVE_WIDTH_IN_BITS, DONT_POWER_OPTIMIZE, INIT_FILE, INIT_FILE_LAYOUT, init_file_restructured, LOGICAL_RAM_NAME, mem_init0, mem_init1, mem_init2, mem_init3, mem_init4, MIXED_PORT_FEED_THROUGH_MODE, OPERATION_MODE, PORT_A_ADDRESS_CLEAR, PORT_A_ADDRESS_WIDTH = 1, PORT_A_BYTE_ENABLE_MASK_WIDTH = 1, PORT_A_BYTE_SIZE, PORT_A_DATA_OUT_CLEAR, PORT_A_DATA_OUT_CLOCK, PORT_A_DATA_WIDTH = 1, PORT_A_FIRST_ADDRESS, PORT_A_FIRST_BIT_NUMBER, PORT_A_LAST_ADDRESS, PORT_A_LOGICAL_RAM_DEPTH, PORT_A_LOGICAL_RAM_WIDTH, PORT_A_READ_DURING_WRITE_MODE, PORT_B_ADDRESS_CLEAR, PORT_B_ADDRESS_CLOCK, PORT_B_ADDRESS_WIDTH = 1, PORT_B_BYTE_ENABLE_CLOCK, PORT_B_BYTE_ENABLE_MASK_WIDTH = 1, PORT_B_BYTE_SIZE, PORT_B_DATA_IN_CLOCK, PORT_B_DATA_OUT_CLEAR, PORT_B_DATA_OUT_CLOCK, PORT_B_DATA_WIDTH = 1, PORT_B_FIRST_ADDRESS, PORT_B_FIRST_BIT_NUMBER, PORT_B_LAST_ADDRESS, PORT_B_LOGICAL_RAM_DEPTH, PORT_B_LOGICAL_RAM_WIDTH, PORT_B_READ_DURING_WRITE_MODE, PORT_B_READ_ENABLE_CLOCK, PORT_B_WRITE_ENABLE_CLOCK, POWER_UP_UNINITIALIZED, RAM_BLOCK_TYPE, SAFE_WRITE, WIDTH_ECCSTATUS)
|
||||||
|
RETURNS ( portadataout[PORT_A_DATA_WIDTH-1..0], portbdataout[PORT_B_DATA_WIDTH-1..0]);
|
||||||
|
|
||||||
|
--synthesis_resources = M9K 1
|
||||||
|
OPTIONS ALTERA_INTERNAL_OPTION = "OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION";
|
||||||
|
|
||||||
|
SUBDESIGN altsyncram_mbe1
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
data_a[7..0] : input;
|
||||||
|
q_a[7..0] : output;
|
||||||
|
wren_a : input;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
ram_block1a0 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a1 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a2 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a3 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a4 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a5 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a6 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a7 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 8,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
address_a_wire[7..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ram_block1a[7..0].clk0 = clock0;
|
||||||
|
ram_block1a[7..0].portaaddr[] = ( address_a_wire[7..0]);
|
||||||
|
ram_block1a[0].portadatain[] = ( data_a[0..0]);
|
||||||
|
ram_block1a[1].portadatain[] = ( data_a[1..1]);
|
||||||
|
ram_block1a[2].portadatain[] = ( data_a[2..2]);
|
||||||
|
ram_block1a[3].portadatain[] = ( data_a[3..3]);
|
||||||
|
ram_block1a[4].portadatain[] = ( data_a[4..4]);
|
||||||
|
ram_block1a[5].portadatain[] = ( data_a[5..5]);
|
||||||
|
ram_block1a[6].portadatain[] = ( data_a[6..6]);
|
||||||
|
ram_block1a[7].portadatain[] = ( data_a[7..7]);
|
||||||
|
ram_block1a[7..0].portare = B"11111111";
|
||||||
|
ram_block1a[7..0].portawe = wren_a;
|
||||||
|
address_a_wire[] = address_a[];
|
||||||
|
q_a[] = ( ram_block1a[7..0].portadataout[0..0]);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
878
Quartus/riscv_microcontroller/db/altsyncram_oig1.tdf
Normal file
878
Quartus/riscv_microcontroller/db/altsyncram_oig1.tdf
Normal file
|
@ -0,0 +1,878 @@
|
||||||
|
--altsyncram CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" CLOCK_ENABLE_INPUT_A="BYPASS" CLOCK_ENABLE_OUTPUT_A="BYPASS" CYCLONEII_M4K_COMPATIBILITY="ON" DEVICE_FAMILY="Cyclone IV GX" ENABLE_RUNTIME_MOD="NO" INIT_FILE="progmem.mif" LOW_POWER_MODE="AUTO" NUMWORDS_A=256 OPERATION_MODE="SINGLE_PORT" OUTDATA_ACLR_A="NONE" OUTDATA_REG_A="CLOCK0" POWER_UP_UNINITIALIZED="FALSE" read_during_write_mode_port_a="OLD_DATA" WIDTH_A=32 WIDTH_BYTEENA_A=1 WIDTHAD_A=8 address_a clock0 data_a q_a wren_a CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48
|
||||||
|
--VERSION_BEGIN 13.0 cbx_altsyncram 2013:06:12:18:03:43:SJ cbx_cycloneii 2013:06:12:18:03:43:SJ cbx_lpm_add_sub 2013:06:12:18:03:43:SJ cbx_lpm_compare 2013:06:12:18:03:43:SJ cbx_lpm_decode 2013:06:12:18:03:43:SJ cbx_lpm_mux 2013:06:12:18:03:43:SJ cbx_mgl 2013:06:12:18:05:10:SJ cbx_stratix 2013:06:12:18:03:43:SJ cbx_stratixii 2013:06:12:18:03:43:SJ cbx_stratixiii 2013:06:12:18:03:43:SJ cbx_stratixv 2013:06:12:18:03:43:SJ cbx_util_mgl 2013:06:12:18:03:43:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
FUNCTION cycloneiv_ram_block (clk0, clk1, clr0, clr1, ena0, ena1, ena2, ena3, portaaddr[PORT_A_ADDRESS_WIDTH-1..0], portaaddrstall, portabyteenamasks[PORT_A_BYTE_ENABLE_MASK_WIDTH-1..0], portadatain[PORT_A_DATA_WIDTH-1..0], portare, portawe, portbaddr[PORT_B_ADDRESS_WIDTH-1..0], portbaddrstall, portbbyteenamasks[PORT_B_BYTE_ENABLE_MASK_WIDTH-1..0], portbdatain[PORT_B_DATA_WIDTH-1..0], portbre, portbwe)
|
||||||
|
WITH ( CLK0_CORE_CLOCK_ENABLE, CLK0_INPUT_CLOCK_ENABLE, CLK0_OUTPUT_CLOCK_ENABLE, CLK1_CORE_CLOCK_ENABLE, CLK1_INPUT_CLOCK_ENABLE, CLK1_OUTPUT_CLOCK_ENABLE, CONNECTIVITY_CHECKING, DATA_INTERLEAVE_OFFSET_IN_BITS, DATA_INTERLEAVE_WIDTH_IN_BITS, DONT_POWER_OPTIMIZE, INIT_FILE, INIT_FILE_LAYOUT, init_file_restructured, LOGICAL_RAM_NAME, mem_init0, mem_init1, mem_init2, mem_init3, mem_init4, MIXED_PORT_FEED_THROUGH_MODE, OPERATION_MODE, PORT_A_ADDRESS_CLEAR, PORT_A_ADDRESS_WIDTH = 1, PORT_A_BYTE_ENABLE_MASK_WIDTH = 1, PORT_A_BYTE_SIZE, PORT_A_DATA_OUT_CLEAR, PORT_A_DATA_OUT_CLOCK, PORT_A_DATA_WIDTH = 1, PORT_A_FIRST_ADDRESS, PORT_A_FIRST_BIT_NUMBER, PORT_A_LAST_ADDRESS, PORT_A_LOGICAL_RAM_DEPTH, PORT_A_LOGICAL_RAM_WIDTH, PORT_A_READ_DURING_WRITE_MODE, PORT_B_ADDRESS_CLEAR, PORT_B_ADDRESS_CLOCK, PORT_B_ADDRESS_WIDTH = 1, PORT_B_BYTE_ENABLE_CLOCK, PORT_B_BYTE_ENABLE_MASK_WIDTH = 1, PORT_B_BYTE_SIZE, PORT_B_DATA_IN_CLOCK, PORT_B_DATA_OUT_CLEAR, PORT_B_DATA_OUT_CLOCK, PORT_B_DATA_WIDTH = 1, PORT_B_FIRST_ADDRESS, PORT_B_FIRST_BIT_NUMBER, PORT_B_LAST_ADDRESS, PORT_B_LOGICAL_RAM_DEPTH, PORT_B_LOGICAL_RAM_WIDTH, PORT_B_READ_DURING_WRITE_MODE, PORT_B_READ_ENABLE_CLOCK, PORT_B_WRITE_ENABLE_CLOCK, POWER_UP_UNINITIALIZED, RAM_BLOCK_TYPE, SAFE_WRITE, WIDTH_ECCSTATUS)
|
||||||
|
RETURNS ( portadataout[PORT_A_DATA_WIDTH-1..0], portbdataout[PORT_B_DATA_WIDTH-1..0]);
|
||||||
|
|
||||||
|
--synthesis_resources = M9K 1
|
||||||
|
OPTIONS ALTERA_INTERNAL_OPTION = "OPTIMIZE_POWER_DURING_SYNTHESIS=NORMAL_COMPILATION";
|
||||||
|
|
||||||
|
SUBDESIGN altsyncram_oig1
|
||||||
|
(
|
||||||
|
address_a[7..0] : input;
|
||||||
|
clock0 : input;
|
||||||
|
data_a[31..0] : input;
|
||||||
|
q_a[31..0] : output;
|
||||||
|
wren_a : input;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
ram_block1a0 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 0,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a1 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 1,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a2 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 2,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a3 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 3,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a4 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 4,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a5 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 5,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a6 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 6,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a7 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 7,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a8 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 8,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a9 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 9,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a10 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 10,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a11 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 11,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a12 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 12,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a13 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 13,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a14 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 14,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a15 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 15,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a16 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 16,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a17 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 17,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a18 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 18,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a19 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 19,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a20 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 20,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a21 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 21,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a22 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 22,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a23 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 23,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a24 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 24,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a25 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 25,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a26 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 26,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a27 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 27,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a28 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 28,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a29 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 29,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a30 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 30,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
ram_block1a31 : cycloneiv_ram_block
|
||||||
|
WITH (
|
||||||
|
CLK0_CORE_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_INPUT_CLOCK_ENABLE = "none",
|
||||||
|
CLK0_OUTPUT_CLOCK_ENABLE = "none",
|
||||||
|
CONNECTIVITY_CHECKING = "OFF",
|
||||||
|
INIT_FILE = "progmem.mif",
|
||||||
|
INIT_FILE_LAYOUT = "port_a",
|
||||||
|
LOGICAL_RAM_NAME = "ALTSYNCRAM",
|
||||||
|
OPERATION_MODE = "single_port",
|
||||||
|
PORT_A_ADDRESS_WIDTH = 8,
|
||||||
|
PORT_A_BYTE_ENABLE_MASK_WIDTH = 1,
|
||||||
|
PORT_A_BYTE_SIZE = 1,
|
||||||
|
PORT_A_DATA_OUT_CLEAR = "none",
|
||||||
|
PORT_A_DATA_OUT_CLOCK = "clock0",
|
||||||
|
PORT_A_DATA_WIDTH = 1,
|
||||||
|
PORT_A_FIRST_ADDRESS = 0,
|
||||||
|
PORT_A_FIRST_BIT_NUMBER = 31,
|
||||||
|
PORT_A_LAST_ADDRESS = 255,
|
||||||
|
PORT_A_LOGICAL_RAM_DEPTH = 256,
|
||||||
|
PORT_A_LOGICAL_RAM_WIDTH = 32,
|
||||||
|
PORT_A_READ_DURING_WRITE_MODE = "old_data",
|
||||||
|
POWER_UP_UNINITIALIZED = "false",
|
||||||
|
RAM_BLOCK_TYPE = "AUTO"
|
||||||
|
);
|
||||||
|
address_a_wire[7..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
ram_block1a[31..0].clk0 = clock0;
|
||||||
|
ram_block1a[31..0].portaaddr[] = ( address_a_wire[7..0]);
|
||||||
|
ram_block1a[0].portadatain[] = ( data_a[0..0]);
|
||||||
|
ram_block1a[1].portadatain[] = ( data_a[1..1]);
|
||||||
|
ram_block1a[2].portadatain[] = ( data_a[2..2]);
|
||||||
|
ram_block1a[3].portadatain[] = ( data_a[3..3]);
|
||||||
|
ram_block1a[4].portadatain[] = ( data_a[4..4]);
|
||||||
|
ram_block1a[5].portadatain[] = ( data_a[5..5]);
|
||||||
|
ram_block1a[6].portadatain[] = ( data_a[6..6]);
|
||||||
|
ram_block1a[7].portadatain[] = ( data_a[7..7]);
|
||||||
|
ram_block1a[8].portadatain[] = ( data_a[8..8]);
|
||||||
|
ram_block1a[9].portadatain[] = ( data_a[9..9]);
|
||||||
|
ram_block1a[10].portadatain[] = ( data_a[10..10]);
|
||||||
|
ram_block1a[11].portadatain[] = ( data_a[11..11]);
|
||||||
|
ram_block1a[12].portadatain[] = ( data_a[12..12]);
|
||||||
|
ram_block1a[13].portadatain[] = ( data_a[13..13]);
|
||||||
|
ram_block1a[14].portadatain[] = ( data_a[14..14]);
|
||||||
|
ram_block1a[15].portadatain[] = ( data_a[15..15]);
|
||||||
|
ram_block1a[16].portadatain[] = ( data_a[16..16]);
|
||||||
|
ram_block1a[17].portadatain[] = ( data_a[17..17]);
|
||||||
|
ram_block1a[18].portadatain[] = ( data_a[18..18]);
|
||||||
|
ram_block1a[19].portadatain[] = ( data_a[19..19]);
|
||||||
|
ram_block1a[20].portadatain[] = ( data_a[20..20]);
|
||||||
|
ram_block1a[21].portadatain[] = ( data_a[21..21]);
|
||||||
|
ram_block1a[22].portadatain[] = ( data_a[22..22]);
|
||||||
|
ram_block1a[23].portadatain[] = ( data_a[23..23]);
|
||||||
|
ram_block1a[24].portadatain[] = ( data_a[24..24]);
|
||||||
|
ram_block1a[25].portadatain[] = ( data_a[25..25]);
|
||||||
|
ram_block1a[26].portadatain[] = ( data_a[26..26]);
|
||||||
|
ram_block1a[27].portadatain[] = ( data_a[27..27]);
|
||||||
|
ram_block1a[28].portadatain[] = ( data_a[28..28]);
|
||||||
|
ram_block1a[29].portadatain[] = ( data_a[29..29]);
|
||||||
|
ram_block1a[30].portadatain[] = ( data_a[30..30]);
|
||||||
|
ram_block1a[31].portadatain[] = ( data_a[31..31]);
|
||||||
|
ram_block1a[31..0].portare = B"11111111111111111111111111111111";
|
||||||
|
ram_block1a[31..0].portawe = wren_a;
|
||||||
|
address_a_wire[] = address_a[];
|
||||||
|
q_a[] = ( ram_block1a[31..0].portadataout[0..0]);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
54
Quartus/riscv_microcontroller/db/decode_eca.tdf
Normal file
54
Quartus/riscv_microcontroller/db/decode_eca.tdf
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
--lpm_decode CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone IV GX" LPM_DECODES=8 LPM_WIDTH=3 data eq
|
||||||
|
--VERSION_BEGIN 18.1 cbx_cycloneii 2018:09:12:13:04:24:SJ cbx_lpm_add_sub 2018:09:12:13:04:24:SJ cbx_lpm_compare 2018:09:12:13:04:24:SJ cbx_lpm_decode 2018:09:12:13:04:24:SJ cbx_mgl 2018:09:12:13:10:36:SJ cbx_nadder 2018:09:12:13:04:24:SJ cbx_stratix 2018:09:12:13:04:24:SJ cbx_stratixii 2018:09:12:13:04:24:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- 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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--synthesis_resources = lut 8
|
||||||
|
SUBDESIGN decode_eca
|
||||||
|
(
|
||||||
|
data[2..0] : input;
|
||||||
|
eq[7..0] : output;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
data_wire[2..0] : WIRE;
|
||||||
|
eq_node[7..0] : WIRE;
|
||||||
|
eq_wire[7..0] : WIRE;
|
||||||
|
w_anode1046w[3..0] : WIRE;
|
||||||
|
w_anode1064w[3..0] : WIRE;
|
||||||
|
w_anode1075w[3..0] : WIRE;
|
||||||
|
w_anode1086w[3..0] : WIRE;
|
||||||
|
w_anode1097w[3..0] : WIRE;
|
||||||
|
w_anode1108w[3..0] : WIRE;
|
||||||
|
w_anode1119w[3..0] : WIRE;
|
||||||
|
w_anode1130w[3..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
data_wire[] = data[];
|
||||||
|
eq[] = eq_node[];
|
||||||
|
eq_node[7..0] = eq_wire[7..0];
|
||||||
|
eq_wire[] = ( w_anode1130w[3..3], w_anode1119w[3..3], w_anode1108w[3..3], w_anode1097w[3..3], w_anode1086w[3..3], w_anode1075w[3..3], w_anode1064w[3..3], w_anode1046w[3..3]);
|
||||||
|
w_anode1046w[] = ( (w_anode1046w[2..2] & (! data_wire[2..2])), (w_anode1046w[1..1] & (! data_wire[1..1])), (w_anode1046w[0..0] & (! data_wire[0..0])), B"1");
|
||||||
|
w_anode1064w[] = ( (w_anode1064w[2..2] & (! data_wire[2..2])), (w_anode1064w[1..1] & (! data_wire[1..1])), (w_anode1064w[0..0] & data_wire[0..0]), B"1");
|
||||||
|
w_anode1075w[] = ( (w_anode1075w[2..2] & (! data_wire[2..2])), (w_anode1075w[1..1] & data_wire[1..1]), (w_anode1075w[0..0] & (! data_wire[0..0])), B"1");
|
||||||
|
w_anode1086w[] = ( (w_anode1086w[2..2] & (! data_wire[2..2])), (w_anode1086w[1..1] & data_wire[1..1]), (w_anode1086w[0..0] & data_wire[0..0]), B"1");
|
||||||
|
w_anode1097w[] = ( (w_anode1097w[2..2] & data_wire[2..2]), (w_anode1097w[1..1] & (! data_wire[1..1])), (w_anode1097w[0..0] & (! data_wire[0..0])), B"1");
|
||||||
|
w_anode1108w[] = ( (w_anode1108w[2..2] & data_wire[2..2]), (w_anode1108w[1..1] & (! data_wire[1..1])), (w_anode1108w[0..0] & data_wire[0..0]), B"1");
|
||||||
|
w_anode1119w[] = ( (w_anode1119w[2..2] & data_wire[2..2]), (w_anode1119w[1..1] & data_wire[1..1]), (w_anode1119w[0..0] & (! data_wire[0..0])), B"1");
|
||||||
|
w_anode1130w[] = ( (w_anode1130w[2..2] & data_wire[2..2]), (w_anode1130w[1..1] & data_wire[1..1]), (w_anode1130w[0..0] & data_wire[0..0]), B"1");
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
57
Quartus/riscv_microcontroller/db/decode_l0b.tdf
Normal file
57
Quartus/riscv_microcontroller/db/decode_l0b.tdf
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
--lpm_decode CBX_DECLARE_ALL_CONNECTED_PORTS="OFF" DEVICE_FAMILY="Cyclone IV GX" LPM_DECODES=8 LPM_WIDTH=3 data enable eq
|
||||||
|
--VERSION_BEGIN 18.1 cbx_cycloneii 2018:09:12:13:04:24:SJ cbx_lpm_add_sub 2018:09:12:13:04:24:SJ cbx_lpm_compare 2018:09:12:13:04:24:SJ cbx_lpm_decode 2018:09:12:13:04:24:SJ cbx_mgl 2018:09:12:13:10:36:SJ cbx_nadder 2018:09:12:13:04:24:SJ cbx_stratix 2018:09:12:13:04:24:SJ cbx_stratixii 2018:09:12:13:04:24:SJ VERSION_END
|
||||||
|
|
||||||
|
|
||||||
|
-- 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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--synthesis_resources = lut 8
|
||||||
|
SUBDESIGN decode_l0b
|
||||||
|
(
|
||||||
|
data[2..0] : input;
|
||||||
|
enable : input;
|
||||||
|
eq[7..0] : output;
|
||||||
|
)
|
||||||
|
VARIABLE
|
||||||
|
data_wire[2..0] : WIRE;
|
||||||
|
enable_wire : WIRE;
|
||||||
|
eq_node[7..0] : WIRE;
|
||||||
|
eq_wire[7..0] : WIRE;
|
||||||
|
w_anode578w[3..0] : WIRE;
|
||||||
|
w_anode595w[3..0] : WIRE;
|
||||||
|
w_anode605w[3..0] : WIRE;
|
||||||
|
w_anode615w[3..0] : WIRE;
|
||||||
|
w_anode625w[3..0] : WIRE;
|
||||||
|
w_anode635w[3..0] : WIRE;
|
||||||
|
w_anode645w[3..0] : WIRE;
|
||||||
|
w_anode655w[3..0] : WIRE;
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
data_wire[] = data[];
|
||||||
|
enable_wire = enable;
|
||||||
|
eq[] = eq_node[];
|
||||||
|
eq_node[7..0] = eq_wire[7..0];
|
||||||
|
eq_wire[] = ( w_anode655w[3..3], w_anode645w[3..3], w_anode635w[3..3], w_anode625w[3..3], w_anode615w[3..3], w_anode605w[3..3], w_anode595w[3..3], w_anode578w[3..3]);
|
||||||
|
w_anode578w[] = ( (w_anode578w[2..2] & (! data_wire[2..2])), (w_anode578w[1..1] & (! data_wire[1..1])), (w_anode578w[0..0] & (! data_wire[0..0])), enable_wire);
|
||||||
|
w_anode595w[] = ( (w_anode595w[2..2] & (! data_wire[2..2])), (w_anode595w[1..1] & (! data_wire[1..1])), (w_anode595w[0..0] & data_wire[0..0]), enable_wire);
|
||||||
|
w_anode605w[] = ( (w_anode605w[2..2] & (! data_wire[2..2])), (w_anode605w[1..1] & data_wire[1..1]), (w_anode605w[0..0] & (! data_wire[0..0])), enable_wire);
|
||||||
|
w_anode615w[] = ( (w_anode615w[2..2] & (! data_wire[2..2])), (w_anode615w[1..1] & data_wire[1..1]), (w_anode615w[0..0] & data_wire[0..0]), enable_wire);
|
||||||
|
w_anode625w[] = ( (w_anode625w[2..2] & data_wire[2..2]), (w_anode625w[1..1] & (! data_wire[1..1])), (w_anode625w[0..0] & (! data_wire[0..0])), enable_wire);
|
||||||
|
w_anode635w[] = ( (w_anode635w[2..2] & data_wire[2..2]), (w_anode635w[1..1] & (! data_wire[1..1])), (w_anode635w[0..0] & data_wire[0..0]), enable_wire);
|
||||||
|
w_anode645w[] = ( (w_anode645w[2..2] & data_wire[2..2]), (w_anode645w[1..1] & data_wire[1..1]), (w_anode645w[0..0] & (! data_wire[0..0])), enable_wire);
|
||||||
|
w_anode655w[] = ( (w_anode655w[2..2] & data_wire[2..2]), (w_anode655w[1..1] & data_wire[1..1]), (w_anode655w[0..0] & data_wire[0..0]), enable_wire);
|
||||||
|
END;
|
||||||
|
--VALID FILE
|
103
Quartus/riscv_microcontroller/db/mux_5rb.tdf
Normal file
103
Quartus/riscv_microcontroller/db/mux_5rb.tdf
Normal file
File diff suppressed because one or more lines are too long
295
Quartus/riscv_microcontroller/db/mux_isb.tdf
Normal file
295
Quartus/riscv_microcontroller/db/mux_isb.tdf
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
||||||
|
Quartus_Version = Version 18.1.0 Build 625 09/12/2018 SJ Lite Edition
|
||||||
|
Version_Index = 486699264
|
||||||
|
Creation_Time = Wed Aug 14 17:21:09 2019
|
Binary file not shown.
File diff suppressed because it is too large
Load diff
17
Quartus/riscv_microcontroller/greybox_tmp/cbx_args.txt
Normal file
17
Quartus/riscv_microcontroller/greybox_tmp/cbx_args.txt
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
ADDRESS_ACLR_A=NONE
|
||||||
|
CLOCK_ENABLE_INPUT_A=BYPASS
|
||||||
|
CLOCK_ENABLE_OUTPUT_A=BYPASS
|
||||||
|
INIT_FILE=progmem.mif
|
||||||
|
INTENDED_DEVICE_FAMILY="Cyclone IV GX"
|
||||||
|
MAXIMUM_DEPTH=8192
|
||||||
|
NUMWORDS_A=65536
|
||||||
|
OPERATION_MODE=ROM
|
||||||
|
OUTDATA_ACLR_A=NONE
|
||||||
|
OUTDATA_REG_A=UNREGISTERED
|
||||||
|
WIDTHAD_A=16
|
||||||
|
WIDTH_A=32
|
||||||
|
WIDTH_BYTEENA_A=1
|
||||||
|
DEVICE_FAMILY="Cyclone IV GX"
|
||||||
|
address_a
|
||||||
|
clock0
|
||||||
|
q_a
|
15708
Quartus/riscv_microcontroller/microcontroller.vwf
Normal file
15708
Quartus/riscv_microcontroller/microcontroller.vwf
Normal file
File diff suppressed because it is too large
Load diff
16030
Quartus/riscv_microcontroller/microcontroller.vwf.temp
Normal file
16030
Quartus/riscv_microcontroller/microcontroller.vwf.temp
Normal file
File diff suppressed because it is too large
Load diff
23
Quartus/riscv_microcontroller/progmem.cmp
Normal file
23
Quartus/riscv_microcontroller/progmem.cmp
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
--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.
|
||||||
|
|
||||||
|
|
||||||
|
component progmem
|
||||||
|
PORT
|
||||||
|
(
|
||||||
|
address : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
|
||||||
|
clock : IN STD_LOGIC := '1';
|
||||||
|
q : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)
|
||||||
|
);
|
||||||
|
end component;
|
33
Quartus/riscv_microcontroller/progmem.mif
Normal file
33
Quartus/riscv_microcontroller/progmem.mif
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
-- 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.
|
||||||
|
|
||||||
|
-- Quartus Prime generated Memory Initialization File (.mif)
|
||||||
|
|
||||||
|
WIDTH=32;
|
||||||
|
DEPTH=256;
|
||||||
|
|
||||||
|
ADDRESS_RADIX=UNS;
|
||||||
|
DATA_RADIX=BIN;
|
||||||
|
|
||||||
|
CONTENT BEGIN
|
||||||
|
0 : 00000000000000000000000000000000;
|
||||||
|
1 : 00000000000100000000000100010011;
|
||||||
|
2 : 00000000001000000000111110110011;
|
||||||
|
3 : 00000000001000001000000010110011;
|
||||||
|
4 : 00000000000100000000111110110011;
|
||||||
|
5 : 00000000000100010000000100110011;
|
||||||
|
6 : 00000000001000000000111110110011;
|
||||||
|
7 : 00000000100000000000000001100111;
|
||||||
|
[8..255] : 00000000000000000000000000000000;
|
||||||
|
END;
|
5
Quartus/riscv_microcontroller/progmem.qip
Normal file
5
Quartus/riscv_microcontroller/progmem.qip
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
set_global_assignment -name IP_TOOL_NAME "ROM: 1-PORT"
|
||||||
|
set_global_assignment -name IP_TOOL_VERSION "18.1"
|
||||||
|
set_global_assignment -name IP_GENERATED_DEVICE_FAMILY "{Cyclone IV GX}"
|
||||||
|
set_global_assignment -name VHDL_FILE [file join $::quartus(qip_path) "progmem.vhd"]
|
||||||
|
set_global_assignment -name MISC_FILE [file join $::quartus(qip_path) "progmem.cmp"]
|
145
Quartus/riscv_microcontroller/progmem.vhd
Normal file
145
Quartus/riscv_microcontroller/progmem.vhd
Normal file
|
@ -0,0 +1,145 @@
|
||||||
|
-- megafunction wizard: %ROM: 1-PORT%
|
||||||
|
-- GENERATION: STANDARD
|
||||||
|
-- VERSION: WM1.0
|
||||||
|
-- MODULE: altsyncram
|
||||||
|
|
||||||
|
-- ============================================================
|
||||||
|
-- File Name: progmem.vhd
|
||||||
|
-- Megafunction Name(s):
|
||||||
|
-- altsyncram
|
||||||
|
--
|
||||||
|
-- Simulation Library Files(s):
|
||||||
|
-- altera_mf
|
||||||
|
-- ============================================================
|
||||||
|
-- ************************************************************
|
||||||
|
-- THIS IS A WIZARD-GENERATED FILE. DO NOT EDIT THIS FILE!
|
||||||
|
--
|
||||||
|
-- 18.1.0 Build 625 09/12/2018 SJ Lite Edition
|
||||||
|
-- ************************************************************
|
||||||
|
|
||||||
|
|
||||||
|
--Copyright (C) 2018 Intel Corporation. All rights reserved.
|
||||||
|
--Your use of Intel Corporation's design tools, logic functions
|
||||||
|
--and other software and tools, and its AMPP partner logic
|
||||||
|
--functions, and any output files from any of the foregoing
|
||||||
|
--(including device programming or simulation files), and any
|
||||||
|
--associated documentation or information are expressly subject
|
||||||
|
--to the terms and conditions of the Intel Program License
|
||||||
|
--Subscription Agreement, the Intel Quartus Prime License Agreement,
|
||||||
|
--the Intel FPGA IP License Agreement, or other applicable license
|
||||||
|
--agreement, including, without limitation, that your use is for
|
||||||
|
--the sole purpose of programming logic devices manufactured by
|
||||||
|
--Intel and sold by Intel or its authorized distributors. Please
|
||||||
|
--refer to the applicable agreement for further details.
|
||||||
|
|
||||||
|
|
||||||
|
LIBRARY ieee;
|
||||||
|
USE ieee.std_logic_1164.all;
|
||||||
|
|
||||||
|
LIBRARY altera_mf;
|
||||||
|
USE altera_mf.altera_mf_components.all;
|
||||||
|
|
||||||
|
ENTITY progmem IS
|
||||||
|
PORT
|
||||||
|
(
|
||||||
|
address : IN STD_LOGIC_VECTOR (15 DOWNTO 0);
|
||||||
|
clock : IN STD_LOGIC := '1';
|
||||||
|
q : OUT STD_LOGIC_VECTOR (31 DOWNTO 0)
|
||||||
|
);
|
||||||
|
END progmem;
|
||||||
|
|
||||||
|
|
||||||
|
ARCHITECTURE SYN OF progmem IS
|
||||||
|
|
||||||
|
SIGNAL sub_wire0 : STD_LOGIC_VECTOR (31 DOWNTO 0);
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
q <= sub_wire0(31 DOWNTO 0);
|
||||||
|
|
||||||
|
altsyncram_component : altsyncram
|
||||||
|
GENERIC MAP (
|
||||||
|
address_aclr_a => "NONE",
|
||||||
|
clock_enable_input_a => "BYPASS",
|
||||||
|
clock_enable_output_a => "BYPASS",
|
||||||
|
init_file => "progmem.mif",
|
||||||
|
intended_device_family => "Cyclone IV GX",
|
||||||
|
lpm_hint => "ENABLE_RUNTIME_MOD=NO",
|
||||||
|
lpm_type => "altsyncram",
|
||||||
|
maximum_depth => 8192,
|
||||||
|
numwords_a => 65536,
|
||||||
|
operation_mode => "ROM",
|
||||||
|
outdata_aclr_a => "NONE",
|
||||||
|
outdata_reg_a => "UNREGISTERED",
|
||||||
|
widthad_a => 16,
|
||||||
|
width_a => 32,
|
||||||
|
width_byteena_a => 1
|
||||||
|
)
|
||||||
|
PORT MAP (
|
||||||
|
address_a => address,
|
||||||
|
clock0 => clock,
|
||||||
|
q_a => sub_wire0
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
END SYN;
|
||||||
|
|
||||||
|
-- ============================================================
|
||||||
|
-- CNX file retrieval info
|
||||||
|
-- ============================================================
|
||||||
|
-- Retrieval info: PRIVATE: ADDRESSSTALL_A NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: AclrAddr NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: AclrByte NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: AclrOutput NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: BYTE_ENABLE NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: BYTE_SIZE NUMERIC "8"
|
||||||
|
-- Retrieval info: PRIVATE: BlankMemory NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: CLOCK_ENABLE_INPUT_A NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: CLOCK_ENABLE_OUTPUT_A NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: Clken NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: IMPLEMENT_IN_LES NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: INIT_FILE_LAYOUT STRING "PORT_A"
|
||||||
|
-- Retrieval info: PRIVATE: INIT_TO_SIM_X NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: INTENDED_DEVICE_FAMILY STRING "Cyclone IV GX"
|
||||||
|
-- Retrieval info: PRIVATE: JTAG_ENABLED NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: JTAG_ID STRING "NONE"
|
||||||
|
-- Retrieval info: PRIVATE: MAXIMUM_DEPTH NUMERIC "8192"
|
||||||
|
-- Retrieval info: PRIVATE: MIFfilename STRING "progmem.mif"
|
||||||
|
-- Retrieval info: PRIVATE: NUMWORDS_A NUMERIC "65536"
|
||||||
|
-- Retrieval info: PRIVATE: RAM_BLOCK_TYPE NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: RegAddr NUMERIC "1"
|
||||||
|
-- Retrieval info: PRIVATE: RegOutput NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: SYNTH_WRAPPER_GEN_POSTFIX STRING "0"
|
||||||
|
-- Retrieval info: PRIVATE: SingleClock NUMERIC "1"
|
||||||
|
-- Retrieval info: PRIVATE: UseDQRAM NUMERIC "0"
|
||||||
|
-- Retrieval info: PRIVATE: WidthAddr NUMERIC "16"
|
||||||
|
-- Retrieval info: PRIVATE: WidthData NUMERIC "32"
|
||||||
|
-- Retrieval info: PRIVATE: rden NUMERIC "0"
|
||||||
|
-- Retrieval info: LIBRARY: altera_mf altera_mf.altera_mf_components.all
|
||||||
|
-- Retrieval info: CONSTANT: ADDRESS_ACLR_A STRING "NONE"
|
||||||
|
-- Retrieval info: CONSTANT: CLOCK_ENABLE_INPUT_A STRING "BYPASS"
|
||||||
|
-- Retrieval info: CONSTANT: CLOCK_ENABLE_OUTPUT_A STRING "BYPASS"
|
||||||
|
-- Retrieval info: CONSTANT: INIT_FILE STRING "progmem.mif"
|
||||||
|
-- Retrieval info: CONSTANT: INTENDED_DEVICE_FAMILY STRING "Cyclone IV GX"
|
||||||
|
-- Retrieval info: CONSTANT: LPM_HINT STRING "ENABLE_RUNTIME_MOD=NO"
|
||||||
|
-- Retrieval info: CONSTANT: LPM_TYPE STRING "altsyncram"
|
||||||
|
-- Retrieval info: CONSTANT: MAXIMUM_DEPTH NUMERIC "8192"
|
||||||
|
-- Retrieval info: CONSTANT: NUMWORDS_A NUMERIC "65536"
|
||||||
|
-- Retrieval info: CONSTANT: OPERATION_MODE STRING "ROM"
|
||||||
|
-- Retrieval info: CONSTANT: OUTDATA_ACLR_A STRING "NONE"
|
||||||
|
-- Retrieval info: CONSTANT: OUTDATA_REG_A STRING "UNREGISTERED"
|
||||||
|
-- Retrieval info: CONSTANT: WIDTHAD_A NUMERIC "16"
|
||||||
|
-- Retrieval info: CONSTANT: WIDTH_A NUMERIC "32"
|
||||||
|
-- Retrieval info: CONSTANT: WIDTH_BYTEENA_A NUMERIC "1"
|
||||||
|
-- Retrieval info: USED_PORT: address 0 0 16 0 INPUT NODEFVAL "address[15..0]"
|
||||||
|
-- Retrieval info: USED_PORT: clock 0 0 0 0 INPUT VCC "clock"
|
||||||
|
-- Retrieval info: USED_PORT: q 0 0 32 0 OUTPUT NODEFVAL "q[31..0]"
|
||||||
|
-- Retrieval info: CONNECT: @address_a 0 0 16 0 address 0 0 16 0
|
||||||
|
-- Retrieval info: CONNECT: @clock0 0 0 0 0 clock 0 0 0 0
|
||||||
|
-- Retrieval info: CONNECT: q 0 0 32 0 @q_a 0 0 32 0
|
||||||
|
-- Retrieval info: GEN_FILE: TYPE_NORMAL progmem.vhd TRUE
|
||||||
|
-- Retrieval info: GEN_FILE: TYPE_NORMAL progmem.inc FALSE
|
||||||
|
-- Retrieval info: GEN_FILE: TYPE_NORMAL progmem.cmp TRUE
|
||||||
|
-- Retrieval info: GEN_FILE: TYPE_NORMAL progmem.bsf FALSE
|
||||||
|
-- Retrieval info: GEN_FILE: TYPE_NORMAL progmem_inst.vhd FALSE
|
||||||
|
-- Retrieval info: LIB_FILE: altera_mf
|
BIN
Quartus/riscv_microcontroller/riscv_microcontroller.png
Normal file
BIN
Quartus/riscv_microcontroller/riscv_microcontroller.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.2 MiB |
30
Quartus/riscv_microcontroller/riscv_microcontroller.qpf
Normal file
30
Quartus/riscv_microcontroller/riscv_microcontroller.qpf
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
# Your use of Altera Corporation's design tools, logic functions
|
||||||
|
# and other software and tools, and its AMPP partner logic
|
||||||
|
# functions, and any output files from any of the foregoing
|
||||||
|
# (including device programming or simulation files), and any
|
||||||
|
# associated documentation or information are expressly subject
|
||||||
|
# to the terms and conditions of the Altera Program License
|
||||||
|
# Subscription Agreement, Altera MegaCore Function License
|
||||||
|
# Agreement, or other applicable license agreement, including,
|
||||||
|
# without limitation, that your use is for the sole purpose of
|
||||||
|
# programming logic devices manufactured by Altera and sold by
|
||||||
|
# Altera or its authorized distributors. Please refer to the
|
||||||
|
# applicable agreement for further details.
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Quartus II 64-Bit
|
||||||
|
# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
|
||||||
|
# Date created = 13:04:35 April 24, 2019
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
|
||||||
|
QUARTUS_VERSION = "13.0"
|
||||||
|
DATE = "13:04:35 April 24, 2019"
|
||||||
|
|
||||||
|
# Revisions
|
||||||
|
|
||||||
|
PROJECT_REVISION = "riscv_microcontroller"
|
88
Quartus/riscv_microcontroller/riscv_microcontroller.qsf
Normal file
88
Quartus/riscv_microcontroller/riscv_microcontroller.qsf
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
# Your use of Altera Corporation's design tools, logic functions
|
||||||
|
# and other software and tools, and its AMPP partner logic
|
||||||
|
# functions, and any output files from any of the foregoing
|
||||||
|
# (including device programming or simulation files), and any
|
||||||
|
# associated documentation or information are expressly subject
|
||||||
|
# to the terms and conditions of the Altera Program License
|
||||||
|
# Subscription Agreement, Altera MegaCore Function License
|
||||||
|
# Agreement, or other applicable license agreement, including,
|
||||||
|
# without limitation, that your use is for the sole purpose of
|
||||||
|
# programming logic devices manufactured by Altera and sold by
|
||||||
|
# Altera or its authorized distributors. Please refer to the
|
||||||
|
# applicable agreement for further details.
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Quartus II 64-Bit
|
||||||
|
# Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Web Edition
|
||||||
|
# Date created = 13:04:35 April 24, 2019
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Notes:
|
||||||
|
#
|
||||||
|
# 1) The default values for assignments are stored in the file:
|
||||||
|
# riscv_microcontroller_assignment_defaults.qdf
|
||||||
|
# If this file doesn't exist, see file:
|
||||||
|
# assignment_defaults.qdf
|
||||||
|
#
|
||||||
|
# 2) Altera recommends that you do not modify this file. This
|
||||||
|
# file is updated automatically by the Quartus II software
|
||||||
|
# and any changes you make may be lost or overwritten.
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
|
||||||
|
|
||||||
|
set_global_assignment -name FAMILY "Cyclone IV GX"
|
||||||
|
set_global_assignment -name DEVICE AUTO
|
||||||
|
set_global_assignment -name TOP_LEVEL_ENTITY microcontroller
|
||||||
|
set_global_assignment -name ORIGINAL_QUARTUS_VERSION "13.0 SP1"
|
||||||
|
set_global_assignment -name PROJECT_CREATION_TIME_DATE "13:04:35 APRIL 24, 2019"
|
||||||
|
set_global_assignment -name LAST_QUARTUS_VERSION "18.1.0 Lite Edition"
|
||||||
|
set_global_assignment -name PROJECT_OUTPUT_DIRECTORY output_files
|
||||||
|
set_global_assignment -name SIMULATION_MODE FUNCTIONAL
|
||||||
|
set_global_assignment -name EDA_SIMULATION_TOOL "ModelSim-Altera (Verilog)"
|
||||||
|
set_global_assignment -name EDA_OUTPUT_DATA_FORMAT "VERILOG HDL" -section_id eda_simulation
|
||||||
|
set_global_assignment -name EDA_GENERATE_FUNCTIONAL_NETLIST ON -section_id eda_simulation
|
||||||
|
set_global_assignment -name EDA_TIME_SCALE "1 ps" -section_id eda_simulation
|
||||||
|
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 EDA_TEST_BENCH_ENABLE_STATUS COMMAND_MACRO_MODE -section_id eda_simulation
|
||||||
|
set_global_assignment -name EDA_SIMULATION_RUN_SCRIPT simulation/modelsim/riscv_microcontroller_run_msim_rtl_vhdl.do -section_id eda_simulation
|
||||||
|
set_global_assignment -name INCREMENTAL_VECTOR_INPUT_SOURCE "E:/Documents-bkp/UFRN/TCC - with debug signals/Quartus/riscv_microcontroller/microcontroller.vwf"
|
||||||
|
set_global_assignment -name MIF_FILE progmem.mif
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/datamem.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/mux_5_1.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/jump_target_unit.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/flushing_unit.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/adder.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/reg32b_falling_edge.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/IF_ID_DIV.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/forwarding_unit.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/reg4b.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/reg3b.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/reg2b.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/reg1b.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/MEM_WB_DIV.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/ID_EX_DIV.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/EX_MEM_DIV.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/register_file.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/reg32b.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/program_counter.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/progmem_interface.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/mux_32_1.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/mux_2_1.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/microcontroller.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/datapath.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/datamem_interface.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/controller.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/ALU.vhd
|
||||||
|
set_global_assignment -name VECTOR_WAVEFORM_FILE microcontroller.vwf
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/mux_3_1.vhd
|
||||||
|
set_global_assignment -name VHDL_FILE ../../Project/Components/reg5b.vhd
|
||||||
|
set_global_assignment -name QIP_FILE progmem.qip
|
||||||
|
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
BIN
Quartus/riscv_microcontroller/riscv_microcontroller.qws
Normal file
BIN
Quartus/riscv_microcontroller/riscv_microcontroller.qws
Normal file
Binary file not shown.
|
@ -0,0 +1,807 @@
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Quartus Prime
|
||||||
|
# Version 18.1.0 Build 625 09/12/2018 SJ Lite Edition
|
||||||
|
# Date created = 00:01:27 July 15, 2019
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Note:
|
||||||
|
#
|
||||||
|
# 1) Do not modify this file. This file was generated
|
||||||
|
# automatically by the Quartus Prime software and is used
|
||||||
|
# to preserve global assignments across Quartus Prime versions.
|
||||||
|
#
|
||||||
|
# -------------------------------------------------------------------------- #
|
||||||
|
|
||||||
|
set_global_assignment -name IP_COMPONENT_REPORT_HIERARCHY Off
|
||||||
|
set_global_assignment -name IP_COMPONENT_INTERNAL Off
|
||||||
|
set_global_assignment -name PROJECT_SHOW_ENTITY_NAME On
|
||||||
|
set_global_assignment -name PROJECT_USE_SIMPLIFIED_NAMES Off
|
||||||
|
set_global_assignment -name ENABLE_REDUCED_MEMORY_MODE Off
|
||||||
|
set_global_assignment -name VER_COMPATIBLE_DB_DIR export_db
|
||||||
|
set_global_assignment -name AUTO_EXPORT_VER_COMPATIBLE_DB Off
|
||||||
|
set_global_assignment -name FLOW_DISABLE_ASSEMBLER Off
|
||||||
|
set_global_assignment -name FLOW_ENABLE_POWER_ANALYZER Off
|
||||||
|
set_global_assignment -name FLOW_ENABLE_HC_COMPARE Off
|
||||||
|
set_global_assignment -name HC_OUTPUT_DIR hc_output
|
||||||
|
set_global_assignment -name SAVE_MIGRATION_INFO_DURING_COMPILATION Off
|
||||||
|
set_global_assignment -name FLOW_ENABLE_IO_ASSIGNMENT_ANALYSIS Off
|
||||||
|
set_global_assignment -name RUN_FULL_COMPILE_ON_DEVICE_CHANGE On
|
||||||
|
set_global_assignment -name FLOW_ENABLE_RTL_VIEWER Off
|
||||||
|
set_global_assignment -name READ_OR_WRITE_IN_BYTE_ADDRESS "Use global settings"
|
||||||
|
set_global_assignment -name FLOW_HARDCOPY_DESIGN_READINESS_CHECK On
|
||||||
|
set_global_assignment -name FLOW_ENABLE_PARALLEL_MODULES On
|
||||||
|
set_global_assignment -name ENABLE_COMPACT_REPORT_TABLE Off
|
||||||
|
set_global_assignment -name REVISION_TYPE Base -family "Arria V"
|
||||||
|
set_global_assignment -name REVISION_TYPE Base -family "Stratix V"
|
||||||
|
set_global_assignment -name REVISION_TYPE Base -family "Arria V GZ"
|
||||||
|
set_global_assignment -name REVISION_TYPE Base -family "Cyclone V"
|
||||||
|
set_global_assignment -name DEFAULT_HOLD_MULTICYCLE "Same as Multicycle"
|
||||||
|
set_global_assignment -name CUT_OFF_PATHS_BETWEEN_CLOCK_DOMAINS On
|
||||||
|
set_global_assignment -name CUT_OFF_READ_DURING_WRITE_PATHS On
|
||||||
|
set_global_assignment -name CUT_OFF_IO_PIN_FEEDBACK On
|
||||||
|
set_global_assignment -name DO_COMBINED_ANALYSIS Off
|
||||||
|
set_global_assignment -name TDC_AGGRESSIVE_HOLD_CLOSURE_EFFORT Off
|
||||||
|
set_global_assignment -name ENABLE_HPS_INTERNAL_TIMING Off
|
||||||
|
set_global_assignment -name EMIF_SOC_PHYCLK_ADVANCE_MODELING Off
|
||||||
|
set_global_assignment -name USE_DLL_FREQUENCY_FOR_DQS_DELAY_CHAIN Off
|
||||||
|
set_global_assignment -name ANALYZE_LATCHES_AS_SYNCHRONOUS_ELEMENTS On
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_SCRIPT_INCLUDE_DEFAULT_ANALYSIS On
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Arria V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "MAX 10"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Stratix IV"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Arria 10"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS Off -family "MAX V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Stratix V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS Off -family "MAX II"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Arria II GX"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Arria II GZ"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_MULTICORNER_ANALYSIS On -family "Cyclone V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_REPORT_TIMING Off
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS On -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "MAX 10"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Stratix IV"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS On -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria 10"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS On -family "MAX V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Stratix V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria V GZ"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS On -family "MAX II"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria II GX"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Arria II GZ"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS On -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_WORST_CASE_TIMING_PATHS Off -family "Cyclone V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_REPORT_NUM_WORST_CASE_TIMING_PATHS 100
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Arria V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "MAX 10"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Stratix IV"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Arria 10"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL Off -family "MAX V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Stratix V"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL Off -family "MAX II"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Arria II GX"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Arria II GZ"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name TIMING_ANALYZER_DO_CCPP_REMOVAL On -family "Cyclone V"
|
||||||
|
set_global_assignment -name OPTIMIZATION_MODE Balanced
|
||||||
|
set_global_assignment -name ALLOW_REGISTER_MERGING On
|
||||||
|
set_global_assignment -name ALLOW_REGISTER_DUPLICATION On
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Arria V"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER ON -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "MAX 10"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Stratix IV"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER ON -family "Arria 10"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "MAX V"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Stratix V"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Arria V GZ"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "MAX II"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Arria II GX"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Arria II GZ"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name DISABLE_LEGACY_TIMING_ANALYZER OFF -family "Cyclone V"
|
||||||
|
set_global_assignment -name MUX_RESTRUCTURE Auto
|
||||||
|
set_global_assignment -name MLAB_ADD_TIMING_CONSTRAINTS_FOR_MIXED_PORT_FEED_THROUGH_MODE_SETTING_DONT_CARE Off
|
||||||
|
set_global_assignment -name ENABLE_IP_DEBUG Off
|
||||||
|
set_global_assignment -name SAVE_DISK_SPACE On
|
||||||
|
set_global_assignment -name OCP_HW_EVAL -value OFF
|
||||||
|
set_global_assignment -name DEVICE_FILTER_PACKAGE Any
|
||||||
|
set_global_assignment -name DEVICE_FILTER_PIN_COUNT Any
|
||||||
|
set_global_assignment -name DEVICE_FILTER_SPEED_GRADE Any
|
||||||
|
set_global_assignment -name EDA_DESIGN_ENTRY_SYNTHESIS_TOOL "<None>"
|
||||||
|
set_global_assignment -name VERILOG_INPUT_VERSION Verilog_2001
|
||||||
|
set_global_assignment -name VHDL_INPUT_VERSION VHDL_1993
|
||||||
|
set_global_assignment -name FAMILY -value "Cyclone V"
|
||||||
|
set_global_assignment -name TRUE_WYSIWYG_FLOW Off
|
||||||
|
set_global_assignment -name SMART_COMPILE_IGNORES_TDC_FOR_STRATIX_PLL_CHANGES Off
|
||||||
|
set_global_assignment -name STATE_MACHINE_PROCESSING Auto
|
||||||
|
set_global_assignment -name SAFE_STATE_MACHINE Off
|
||||||
|
set_global_assignment -name EXTRACT_VERILOG_STATE_MACHINES On
|
||||||
|
set_global_assignment -name EXTRACT_VHDL_STATE_MACHINES On
|
||||||
|
set_global_assignment -name IGNORE_VERILOG_INITIAL_CONSTRUCTS Off
|
||||||
|
set_global_assignment -name VERILOG_CONSTANT_LOOP_LIMIT 5000
|
||||||
|
set_global_assignment -name VERILOG_NON_CONSTANT_LOOP_LIMIT 250
|
||||||
|
set_global_assignment -name INFER_RAMS_FROM_RAW_LOGIC On
|
||||||
|
set_global_assignment -name PARALLEL_SYNTHESIS On
|
||||||
|
set_global_assignment -name DSP_BLOCK_BALANCING Auto
|
||||||
|
set_global_assignment -name MAX_BALANCING_DSP_BLOCKS "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name NOT_GATE_PUSH_BACK On
|
||||||
|
set_global_assignment -name ALLOW_POWER_UP_DONT_CARE On
|
||||||
|
set_global_assignment -name REMOVE_REDUNDANT_LOGIC_CELLS Off
|
||||||
|
set_global_assignment -name REMOVE_DUPLICATE_REGISTERS On
|
||||||
|
set_global_assignment -name IGNORE_CARRY_BUFFERS Off
|
||||||
|
set_global_assignment -name IGNORE_CASCADE_BUFFERS Off
|
||||||
|
set_global_assignment -name IGNORE_GLOBAL_BUFFERS Off
|
||||||
|
set_global_assignment -name IGNORE_ROW_GLOBAL_BUFFERS Off
|
||||||
|
set_global_assignment -name IGNORE_LCELL_BUFFERS Off
|
||||||
|
set_global_assignment -name MAX7000_IGNORE_LCELL_BUFFERS AUTO
|
||||||
|
set_global_assignment -name IGNORE_SOFT_BUFFERS On
|
||||||
|
set_global_assignment -name MAX7000_IGNORE_SOFT_BUFFERS Off
|
||||||
|
set_global_assignment -name LIMIT_AHDL_INTEGERS_TO_32_BITS Off
|
||||||
|
set_global_assignment -name AUTO_GLOBAL_CLOCK_MAX On
|
||||||
|
set_global_assignment -name AUTO_GLOBAL_OE_MAX On
|
||||||
|
set_global_assignment -name MAX_AUTO_GLOBAL_REGISTER_CONTROLS On
|
||||||
|
set_global_assignment -name AUTO_IMPLEMENT_IN_ROM Off
|
||||||
|
set_global_assignment -name APEX20K_TECHNOLOGY_MAPPER Lut
|
||||||
|
set_global_assignment -name OPTIMIZATION_TECHNIQUE Balanced
|
||||||
|
set_global_assignment -name STRATIXII_OPTIMIZATION_TECHNIQUE Balanced
|
||||||
|
set_global_assignment -name CYCLONE_OPTIMIZATION_TECHNIQUE Balanced
|
||||||
|
set_global_assignment -name CYCLONEII_OPTIMIZATION_TECHNIQUE Balanced
|
||||||
|
set_global_assignment -name STRATIX_OPTIMIZATION_TECHNIQUE Balanced
|
||||||
|
set_global_assignment -name MAXII_OPTIMIZATION_TECHNIQUE Balanced
|
||||||
|
set_global_assignment -name MAX7000_OPTIMIZATION_TECHNIQUE Speed
|
||||||
|
set_global_assignment -name APEX20K_OPTIMIZATION_TECHNIQUE Balanced
|
||||||
|
set_global_assignment -name MERCURY_OPTIMIZATION_TECHNIQUE Area
|
||||||
|
set_global_assignment -name FLEX6K_OPTIMIZATION_TECHNIQUE Area
|
||||||
|
set_global_assignment -name FLEX10K_OPTIMIZATION_TECHNIQUE Area
|
||||||
|
set_global_assignment -name ALLOW_XOR_GATE_USAGE On
|
||||||
|
set_global_assignment -name AUTO_LCELL_INSERTION On
|
||||||
|
set_global_assignment -name CARRY_CHAIN_LENGTH 48
|
||||||
|
set_global_assignment -name FLEX6K_CARRY_CHAIN_LENGTH 32
|
||||||
|
set_global_assignment -name FLEX10K_CARRY_CHAIN_LENGTH 32
|
||||||
|
set_global_assignment -name MERCURY_CARRY_CHAIN_LENGTH 48
|
||||||
|
set_global_assignment -name STRATIX_CARRY_CHAIN_LENGTH 70
|
||||||
|
set_global_assignment -name STRATIXII_CARRY_CHAIN_LENGTH 70
|
||||||
|
set_global_assignment -name CASCADE_CHAIN_LENGTH 2
|
||||||
|
set_global_assignment -name PARALLEL_EXPANDER_CHAIN_LENGTH 16
|
||||||
|
set_global_assignment -name MAX7000_PARALLEL_EXPANDER_CHAIN_LENGTH 4
|
||||||
|
set_global_assignment -name AUTO_CARRY_CHAINS On
|
||||||
|
set_global_assignment -name AUTO_CASCADE_CHAINS On
|
||||||
|
set_global_assignment -name AUTO_PARALLEL_EXPANDERS On
|
||||||
|
set_global_assignment -name AUTO_OPEN_DRAIN_PINS On
|
||||||
|
set_global_assignment -name ADV_NETLIST_OPT_SYNTH_WYSIWYG_REMAP Off
|
||||||
|
set_global_assignment -name AUTO_ROM_RECOGNITION On
|
||||||
|
set_global_assignment -name AUTO_RAM_RECOGNITION On
|
||||||
|
set_global_assignment -name AUTO_DSP_RECOGNITION On
|
||||||
|
set_global_assignment -name AUTO_SHIFT_REGISTER_RECOGNITION Auto
|
||||||
|
set_global_assignment -name ALLOW_SHIFT_REGISTER_MERGING_ACROSS_HIERARCHIES Auto
|
||||||
|
set_global_assignment -name AUTO_CLOCK_ENABLE_RECOGNITION On
|
||||||
|
set_global_assignment -name STRICT_RAM_RECOGNITION Off
|
||||||
|
set_global_assignment -name ALLOW_SYNCH_CTRL_USAGE On
|
||||||
|
set_global_assignment -name FORCE_SYNCH_CLEAR Off
|
||||||
|
set_global_assignment -name AUTO_RAM_BLOCK_BALANCING On
|
||||||
|
set_global_assignment -name AUTO_RAM_TO_LCELL_CONVERSION Off
|
||||||
|
set_global_assignment -name AUTO_RESOURCE_SHARING Off
|
||||||
|
set_global_assignment -name ALLOW_ANY_RAM_SIZE_FOR_RECOGNITION Off
|
||||||
|
set_global_assignment -name ALLOW_ANY_ROM_SIZE_FOR_RECOGNITION Off
|
||||||
|
set_global_assignment -name ALLOW_ANY_SHIFT_REGISTER_SIZE_FOR_RECOGNITION Off
|
||||||
|
set_global_assignment -name MAX7000_FANIN_PER_CELL 100
|
||||||
|
set_global_assignment -name USE_LOGICLOCK_CONSTRAINTS_IN_BALANCING On
|
||||||
|
set_global_assignment -name MAX_RAM_BLOCKS_M512 "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name MAX_RAM_BLOCKS_M4K "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name MAX_RAM_BLOCKS_MRAM "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name IGNORE_TRANSLATE_OFF_AND_SYNTHESIS_OFF Off
|
||||||
|
set_global_assignment -name STRATIXGX_BYPASS_REMAPPING_OF_FORCE_SIGNAL_DETECT_SIGNAL_THRESHOLD_SELECT Off
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria II GZ"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria V"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "MAX 10"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Stratix IV"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria 10"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Stratix V"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Cyclone V"
|
||||||
|
set_global_assignment -name SYNTH_TIMING_DRIVEN_SYNTHESIS On -family "Arria II GX"
|
||||||
|
set_global_assignment -name REPORT_PARAMETER_SETTINGS On
|
||||||
|
set_global_assignment -name REPORT_SOURCE_ASSIGNMENTS On
|
||||||
|
set_global_assignment -name REPORT_CONNECTIVITY_CHECKS On
|
||||||
|
set_global_assignment -name IGNORE_MAX_FANOUT_ASSIGNMENTS Off
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria V"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "MAX 10"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Stratix IV"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria 10"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "MAX V"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Stratix V"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "MAX II"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria V GZ"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria II GX"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Arria II GZ"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 2 -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name SYNCHRONIZATION_REGISTER_CHAIN_LENGTH 3 -family "Cyclone V"
|
||||||
|
set_global_assignment -name OPTIMIZE_POWER_DURING_SYNTHESIS "Normal compilation"
|
||||||
|
set_global_assignment -name HDL_MESSAGE_LEVEL Level2
|
||||||
|
set_global_assignment -name USE_HIGH_SPEED_ADDER Auto
|
||||||
|
set_global_assignment -name NUMBER_OF_PROTECTED_REGISTERS_REPORTED 100
|
||||||
|
set_global_assignment -name NUMBER_OF_REMOVED_REGISTERS_REPORTED 5000
|
||||||
|
set_global_assignment -name NUMBER_OF_SYNTHESIS_MIGRATION_ROWS 5000
|
||||||
|
set_global_assignment -name SYNTHESIS_S10_MIGRATION_CHECKS Off
|
||||||
|
set_global_assignment -name NUMBER_OF_SWEPT_NODES_REPORTED 5000
|
||||||
|
set_global_assignment -name NUMBER_OF_INVERTED_REGISTERS_REPORTED 100
|
||||||
|
set_global_assignment -name SYNTH_CLOCK_MUX_PROTECTION On
|
||||||
|
set_global_assignment -name SYNTH_GATED_CLOCK_CONVERSION Off
|
||||||
|
set_global_assignment -name BLOCK_DESIGN_NAMING Auto
|
||||||
|
set_global_assignment -name SYNTH_PROTECT_SDC_CONSTRAINT Off
|
||||||
|
set_global_assignment -name SYNTHESIS_EFFORT Auto
|
||||||
|
set_global_assignment -name SHIFT_REGISTER_RECOGNITION_ACLR_SIGNAL On
|
||||||
|
set_global_assignment -name PRE_MAPPING_RESYNTHESIS Off
|
||||||
|
set_global_assignment -name SYNTH_MESSAGE_LEVEL Medium
|
||||||
|
set_global_assignment -name DISABLE_REGISTER_MERGING_ACROSS_HIERARCHIES Auto
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria II GZ"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria V"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "MAX 10"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Stratix IV"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria 10"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Stratix V"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Cyclone V"
|
||||||
|
set_global_assignment -name SYNTH_RESOURCE_AWARE_INFERENCE_FOR_BLOCK_RAM On -family "Arria II GX"
|
||||||
|
set_global_assignment -name MAX_LABS "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name RBCGEN_CRITICAL_WARNING_TO_ERROR On
|
||||||
|
set_global_assignment -name MAX_NUMBER_OF_REGISTERS_FROM_UNINFERRED_RAMS "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name AUTO_PARALLEL_SYNTHESIS On
|
||||||
|
set_global_assignment -name PRPOF_ID Off
|
||||||
|
set_global_assignment -name DISABLE_DSP_NEGATE_INFERENCING Off
|
||||||
|
set_global_assignment -name REPORT_PARAMETER_SETTINGS_PRO On
|
||||||
|
set_global_assignment -name REPORT_SOURCE_ASSIGNMENTS_PRO On
|
||||||
|
set_global_assignment -name ENABLE_STATE_MACHINE_INFERENCE Off
|
||||||
|
set_global_assignment -name FLEX10K_ENABLE_LOCK_OUTPUT Off
|
||||||
|
set_global_assignment -name AUTO_MERGE_PLLS On
|
||||||
|
set_global_assignment -name IGNORE_MODE_FOR_MERGE Off
|
||||||
|
set_global_assignment -name TXPMA_SLEW_RATE Low
|
||||||
|
set_global_assignment -name ADCE_ENABLED Auto
|
||||||
|
set_global_assignment -name ROUTER_TIMING_OPTIMIZATION_LEVEL Normal
|
||||||
|
set_global_assignment -name ROUTER_CLOCKING_TOPOLOGY_ANALYSIS Off
|
||||||
|
set_global_assignment -name PLACEMENT_EFFORT_MULTIPLIER 1.0
|
||||||
|
set_global_assignment -name ROUTER_EFFORT_MULTIPLIER 1.0
|
||||||
|
set_global_assignment -name FIT_ATTEMPTS_TO_SKIP 0.0
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS Off
|
||||||
|
set_global_assignment -name ECO_ALLOW_ROUTING_CHANGES Off
|
||||||
|
set_global_assignment -name DEVICE AUTO
|
||||||
|
set_global_assignment -name BASE_PIN_OUT_FILE_ON_SAMEFRAME_DEVICE Off
|
||||||
|
set_global_assignment -name ENABLE_JTAG_BST_SUPPORT Off
|
||||||
|
set_global_assignment -name MAX7000_ENABLE_JTAG_BST_SUPPORT On
|
||||||
|
set_global_assignment -name ENABLE_NCEO_OUTPUT Off
|
||||||
|
set_global_assignment -name RESERVE_NCEO_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION "Use as programming pin"
|
||||||
|
set_global_assignment -name STRATIXIII_UPDATE_MODE Standard
|
||||||
|
set_global_assignment -name STRATIX_UPDATE_MODE Standard
|
||||||
|
set_global_assignment -name INTERNAL_FLASH_UPDATE_MODE "Single Image"
|
||||||
|
set_global_assignment -name CVP_MODE Off
|
||||||
|
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "Passive Serial" -family "Arria V"
|
||||||
|
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "Passive Serial" -family "Arria 10"
|
||||||
|
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "Passive Serial" -family "Stratix V"
|
||||||
|
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "Passive Serial" -family "Arria V GZ"
|
||||||
|
set_global_assignment -name STRATIXV_CONFIGURATION_SCHEME "Passive Serial" -family "Cyclone V"
|
||||||
|
set_global_assignment -name VID_OPERATION_MODE "PMBus Slave"
|
||||||
|
set_global_assignment -name USE_CONF_DONE AUTO
|
||||||
|
set_global_assignment -name USE_PWRMGT_SCL AUTO
|
||||||
|
set_global_assignment -name USE_PWRMGT_SDA AUTO
|
||||||
|
set_global_assignment -name USE_PWRMGT_ALERT AUTO
|
||||||
|
set_global_assignment -name USE_INIT_DONE AUTO
|
||||||
|
set_global_assignment -name USE_CVP_CONFDONE AUTO
|
||||||
|
set_global_assignment -name USE_SEU_ERROR AUTO
|
||||||
|
set_global_assignment -name RESERVE_AVST_CLK_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_AVST_VALID_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_AVST_DATA15_THROUGH_DATA0_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_AVST_DATA31_THROUGH_DATA16_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name STRATIXIII_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name MAX10FPGA_CONFIGURATION_SCHEME "Internal Configuration"
|
||||||
|
set_global_assignment -name CYCLONEIII_CONFIGURATION_SCHEME "Active Serial"
|
||||||
|
set_global_assignment -name STRATIXII_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name CYCLONEII_CONFIGURATION_SCHEME "Active Serial"
|
||||||
|
set_global_assignment -name APEX20K_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name STRATIX_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name CYCLONE_CONFIGURATION_SCHEME "Active Serial"
|
||||||
|
set_global_assignment -name MERCURY_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name FLEX6K_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name FLEX10K_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name APEXII_CONFIGURATION_SCHEME "Passive Serial"
|
||||||
|
set_global_assignment -name USER_START_UP_CLOCK Off
|
||||||
|
set_global_assignment -name ENABLE_UNUSED_RX_CLOCK_WORKAROUND Off
|
||||||
|
set_global_assignment -name PRESERVE_UNUSED_XCVR_CHANNEL Off
|
||||||
|
set_global_assignment -name IGNORE_HSSI_COLUMN_POWER_WHEN_PRESERVING_UNUSED_XCVR_CHANNELS On
|
||||||
|
set_global_assignment -name AUTO_RESERVE_CLKUSR_FOR_CALIBRATION On
|
||||||
|
set_global_assignment -name DEVICE_INITIALIZATION_CLOCK INIT_INTOSC
|
||||||
|
set_global_assignment -name ENABLE_VREFA_PIN Off
|
||||||
|
set_global_assignment -name ENABLE_VREFB_PIN Off
|
||||||
|
set_global_assignment -name ALWAYS_ENABLE_INPUT_BUFFERS Off
|
||||||
|
set_global_assignment -name ENABLE_ASMI_FOR_FLASH_LOADER Off
|
||||||
|
set_global_assignment -name ENABLE_DEVICE_WIDE_RESET Off
|
||||||
|
set_global_assignment -name ENABLE_DEVICE_WIDE_OE Off
|
||||||
|
set_global_assignment -name RESERVE_ALL_UNUSED_PINS "As output driving ground"
|
||||||
|
set_global_assignment -name ENABLE_INIT_DONE_OUTPUT Off
|
||||||
|
set_global_assignment -name INIT_DONE_OPEN_DRAIN On
|
||||||
|
set_global_assignment -name RESERVE_NWS_NRS_NCS_CS_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_RDYNBUSY_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_DATA31_THROUGH_DATA16_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_DATA15_THROUGH_DATA8_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_DATA7_THROUGH_DATA1_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_DATA0_AFTER_CONFIGURATION "As input tri-stated"
|
||||||
|
set_global_assignment -name RESERVE_DATA1_AFTER_CONFIGURATION "As input tri-stated"
|
||||||
|
set_global_assignment -name RESERVE_DATA7_THROUGH_DATA2_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_DATA7_THROUGH_DATA5_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_FLASH_NCE_AFTER_CONFIGURATION "As input tri-stated"
|
||||||
|
set_global_assignment -name RESERVE_OTHER_AP_PINS_AFTER_CONFIGURATION "Use as regular IO"
|
||||||
|
set_global_assignment -name RESERVE_DCLK_AFTER_CONFIGURATION "Use as programming pin"
|
||||||
|
set_global_assignment -name ENABLE_CONFIGURATION_PINS On
|
||||||
|
set_global_assignment -name ENABLE_JTAG_PIN_SHARING Off
|
||||||
|
set_global_assignment -name ENABLE_NCE_PIN Off
|
||||||
|
set_global_assignment -name ENABLE_BOOT_SEL_PIN On
|
||||||
|
set_global_assignment -name CRC_ERROR_CHECKING Off
|
||||||
|
set_global_assignment -name INTERNAL_SCRUBBING Off
|
||||||
|
set_global_assignment -name PR_ERROR_OPEN_DRAIN On
|
||||||
|
set_global_assignment -name PR_READY_OPEN_DRAIN On
|
||||||
|
set_global_assignment -name ENABLE_CVP_CONFDONE Off
|
||||||
|
set_global_assignment -name CVP_CONFDONE_OPEN_DRAIN On
|
||||||
|
set_global_assignment -name ENABLE_NCONFIG_FROM_CORE On
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria II GZ"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria V"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "MAX 10"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Stratix IV"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria 10"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "IO Paths and Minimum TPD Paths" -family "MAX V"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Stratix V"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "IO Paths and Minimum TPD Paths" -family "MAX II"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria V GZ"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Cyclone V"
|
||||||
|
set_global_assignment -name OPTIMIZE_HOLD_TIMING "All Paths" -family "Arria II GX"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria V"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "MAX 10"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Stratix IV"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria 10"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING Off -family "MAX V"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Stratix V"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING Off -family "MAX II"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria II GX"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Arria II GZ"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name OPTIMIZE_MULTI_CORNER_TIMING On -family "Cyclone V"
|
||||||
|
set_global_assignment -name BLOCK_RAM_TO_MLAB_CELL_CONVERSION On
|
||||||
|
set_global_assignment -name BLOCK_RAM_AND_MLAB_EQUIVALENT_POWER_UP_CONDITIONS Auto
|
||||||
|
set_global_assignment -name BLOCK_RAM_AND_MLAB_EQUIVALENT_PAUSED_READ_CAPABILITIES Care
|
||||||
|
set_global_assignment -name PROGRAMMABLE_POWER_TECHNOLOGY_SETTING Automatic -family "Stratix IV"
|
||||||
|
set_global_assignment -name PROGRAMMABLE_POWER_TECHNOLOGY_SETTING Automatic -family "Arria 10"
|
||||||
|
set_global_assignment -name PROGRAMMABLE_POWER_TECHNOLOGY_SETTING Automatic -family "Stratix V"
|
||||||
|
set_global_assignment -name PROGRAMMABLE_POWER_TECHNOLOGY_SETTING Automatic -family "Arria V GZ"
|
||||||
|
set_global_assignment -name PROGRAMMABLE_POWER_MAXIMUM_HIGH_SPEED_FRACTION_OF_USED_LAB_TILES 1.0
|
||||||
|
set_global_assignment -name GUARANTEE_MIN_DELAY_CORNER_IO_ZERO_HOLD_TIME On
|
||||||
|
set_global_assignment -name OPTIMIZE_POWER_DURING_FITTING "Normal compilation"
|
||||||
|
set_global_assignment -name OPTIMIZE_SSN Off
|
||||||
|
set_global_assignment -name OPTIMIZE_TIMING "Normal compilation"
|
||||||
|
set_global_assignment -name ECO_OPTIMIZE_TIMING Off
|
||||||
|
set_global_assignment -name ECO_REGENERATE_REPORT Off
|
||||||
|
set_global_assignment -name OPTIMIZE_IOC_REGISTER_PLACEMENT_FOR_TIMING Normal
|
||||||
|
set_global_assignment -name FIT_ONLY_ONE_ATTEMPT Off
|
||||||
|
set_global_assignment -name FINAL_PLACEMENT_OPTIMIZATION Automatically
|
||||||
|
set_global_assignment -name FITTER_AGGRESSIVE_ROUTABILITY_OPTIMIZATION Automatically
|
||||||
|
set_global_assignment -name SEED 1
|
||||||
|
set_global_assignment -name PERIPHERY_TO_CORE_PLACEMENT_AND_ROUTING_OPTIMIZATION OFF
|
||||||
|
set_global_assignment -name RESERVE_ROUTING_OUTPUT_FLEXIBILITY Off
|
||||||
|
set_global_assignment -name SLOW_SLEW_RATE Off
|
||||||
|
set_global_assignment -name PCI_IO Off
|
||||||
|
set_global_assignment -name TURBO_BIT On
|
||||||
|
set_global_assignment -name WEAK_PULL_UP_RESISTOR Off
|
||||||
|
set_global_assignment -name ENABLE_BUS_HOLD_CIRCUITRY Off
|
||||||
|
set_global_assignment -name AUTO_GLOBAL_MEMORY_CONTROLS Off
|
||||||
|
set_global_assignment -name MIGRATION_CONSTRAIN_CORE_RESOURCES On
|
||||||
|
set_global_assignment -name QII_AUTO_PACKED_REGISTERS Auto
|
||||||
|
set_global_assignment -name AUTO_PACKED_REGISTERS_MAX Auto
|
||||||
|
set_global_assignment -name NORMAL_LCELL_INSERT On
|
||||||
|
set_global_assignment -name CARRY_OUT_PINS_LCELL_INSERT On
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Arria V"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "MAX 10"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Stratix IV"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Arria 10"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "MAX V"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Stratix V"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "MAX II"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Arria II GX"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Arria II GZ"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS On -family "Cyclone V"
|
||||||
|
set_global_assignment -name AUTO_DELAY_CHAINS_FOR_HIGH_FANOUT_INPUT_PINS OFF
|
||||||
|
set_global_assignment -name XSTL_INPUT_ALLOW_SE_BUFFER Off
|
||||||
|
set_global_assignment -name TREAT_BIDIR_AS_OUTPUT Off
|
||||||
|
set_global_assignment -name AUTO_TURBO_BIT ON
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC_FOR_AREA Off
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_COMBO_LOGIC Off
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_LOG_FILE Off
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_DUPLICATION Off
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_MAP_LOGIC_TO_MEMORY_FOR_AREA Off
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_REGISTER_RETIMING Off
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_ASYNCHRONOUS_SIGNAL_PIPELINING Off
|
||||||
|
set_global_assignment -name IO_PLACEMENT_OPTIMIZATION On
|
||||||
|
set_global_assignment -name ALLOW_LVTTL_LVCMOS_INPUT_LEVELS_TO_OVERDRIVE_INPUT_BUFFER Off
|
||||||
|
set_global_assignment -name OVERRIDE_DEFAULT_ELECTROMIGRATION_PARAMETERS Off
|
||||||
|
set_global_assignment -name FITTER_EFFORT "Auto Fit"
|
||||||
|
set_global_assignment -name FITTER_AUTO_EFFORT_DESIRED_SLACK_MARGIN 0ns
|
||||||
|
set_global_assignment -name PHYSICAL_SYNTHESIS_EFFORT Normal
|
||||||
|
set_global_assignment -name ROUTER_LCELL_INSERTION_AND_LOGIC_DUPLICATION Auto
|
||||||
|
set_global_assignment -name ROUTER_REGISTER_DUPLICATION Auto
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_CLOCK_FANOUT_WITH_ANALOG_RESET Off
|
||||||
|
set_global_assignment -name AUTO_GLOBAL_CLOCK On
|
||||||
|
set_global_assignment -name AUTO_GLOBAL_OE On
|
||||||
|
set_global_assignment -name AUTO_GLOBAL_REGISTER_CONTROLS On
|
||||||
|
set_global_assignment -name FITTER_EARLY_TIMING_ESTIMATE_MODE Realistic
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_GIGE_UNDER_FULL_DATARATE_RANGE Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_RX_CORECLK_FROM_NON_RX_CLKOUT_SOURCE_IN_DOUBLE_DATA_WIDTH_MODE Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_GIGE_IN_DOUBLE_DATA_WIDTH_MODE Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_PARALLEL_LOOPBACK_IN_DOUBLE_DATA_WIDTH_MODE Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_XAUI_IN_SINGLE_DATA_WIDTH_MODE Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_XAUI_WITH_CORECLK_SELECTED_AT_RATE_MATCHER Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_XAUI_WITH_RX_CORECLK_FROM_NON_TXPLL_SOURCE Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_GIGE_WITH_CORECLK_SELECTED_AT_RATE_MATCHER Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_GIGE_WITHOUT_8B10B Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_GIGE_WITH_RX_CORECLK_FROM_NON_TXPLL_SOURCE Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_POST8B10B_LOOPBACK Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_REVERSE_PARALLEL_LOOPBACK Off
|
||||||
|
set_global_assignment -name STRATIXGX_ALLOW_USE_OF_GXB_COUPLED_IOS Off
|
||||||
|
set_global_assignment -name GENERATE_GXB_RECONFIG_MIF Off
|
||||||
|
set_global_assignment -name GENERATE_GXB_RECONFIG_MIF_WITH_PLL Off
|
||||||
|
set_global_assignment -name RESERVE_ALL_UNUSED_PINS_WEAK_PULLUP "As input tri-stated with weak pull-up"
|
||||||
|
set_global_assignment -name ENABLE_HOLD_BACK_OFF On
|
||||||
|
set_global_assignment -name CONFIGURATION_VCCIO_LEVEL Auto
|
||||||
|
set_global_assignment -name FORCE_CONFIGURATION_VCCIO Off
|
||||||
|
set_global_assignment -name SYNCHRONIZER_IDENTIFICATION Auto
|
||||||
|
set_global_assignment -name ENABLE_BENEFICIAL_SKEW_OPTIMIZATION On
|
||||||
|
set_global_assignment -name OPTIMIZE_FOR_METASTABILITY On
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Arria V"
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN Off -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN Off -family "MAX 10"
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN Off -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Arria 10"
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Stratix V"
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name CRC_ERROR_OPEN_DRAIN On -family "Cyclone V"
|
||||||
|
set_global_assignment -name MAX_GLOBAL_CLOCKS_ALLOWED "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name MAX_REGIONAL_CLOCKS_ALLOWED "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name MAX_PERIPHERY_CLOCKS_ALLOWED "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name MAX_CLOCKS_ALLOWED "-1 (Unlimited)"
|
||||||
|
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Arria 10"
|
||||||
|
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Arria V"
|
||||||
|
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Stratix V"
|
||||||
|
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_40MHz -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Arria V GZ"
|
||||||
|
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_100MHz -family "Cyclone V"
|
||||||
|
set_global_assignment -name ACTIVE_SERIAL_CLOCK FREQ_40MHz -family "Arria II GX"
|
||||||
|
set_global_assignment -name M144K_BLOCK_READ_CLOCK_DUTY_CYCLE_DEPENDENCY Off
|
||||||
|
set_global_assignment -name STRATIXIII_MRAM_COMPATIBILITY On
|
||||||
|
set_global_assignment -name FORCE_FITTER_TO_AVOID_PERIPHERY_PLACEMENT_WARNINGS Off
|
||||||
|
set_global_assignment -name AUTO_C3_M9K_BIT_SKIP Off
|
||||||
|
set_global_assignment -name PR_DONE_OPEN_DRAIN On
|
||||||
|
set_global_assignment -name NCEO_OPEN_DRAIN On
|
||||||
|
set_global_assignment -name ENABLE_CRC_ERROR_PIN Off
|
||||||
|
set_global_assignment -name ENABLE_PR_PINS Off
|
||||||
|
set_global_assignment -name RESERVE_PR_PINS Off
|
||||||
|
set_global_assignment -name CONVERT_PR_WARNINGS_TO_ERRORS Off
|
||||||
|
set_global_assignment -name PR_PINS_OPEN_DRAIN Off
|
||||||
|
set_global_assignment -name CLAMPING_DIODE Off
|
||||||
|
set_global_assignment -name TRI_STATE_SPI_PINS Off
|
||||||
|
set_global_assignment -name UNUSED_TSD_PINS_GND Off
|
||||||
|
set_global_assignment -name IMPLEMENT_MLAB_IN_16_BIT_DEEP_MODE Off
|
||||||
|
set_global_assignment -name FORM_DDR_CLUSTERING_CLIQUE Off
|
||||||
|
set_global_assignment -name ALM_REGISTER_PACKING_EFFORT Medium
|
||||||
|
set_global_assignment -name ADVANCED_PHYSICAL_OPTIMIZATION On -family "Arria V"
|
||||||
|
set_global_assignment -name ADVANCED_PHYSICAL_OPTIMIZATION Off -family "Stratix IV"
|
||||||
|
set_global_assignment -name ADVANCED_PHYSICAL_OPTIMIZATION On -family "Arria 10"
|
||||||
|
set_global_assignment -name ADVANCED_PHYSICAL_OPTIMIZATION On -family "Stratix V"
|
||||||
|
set_global_assignment -name ADVANCED_PHYSICAL_OPTIMIZATION On -family "Arria V GZ"
|
||||||
|
set_global_assignment -name ADVANCED_PHYSICAL_OPTIMIZATION On -family "Cyclone V"
|
||||||
|
set_global_assignment -name RELATIVE_NEUTRON_FLUX 1.0
|
||||||
|
set_global_assignment -name SEU_FIT_REPORT Off
|
||||||
|
set_global_assignment -name HYPER_RETIMER Off -family "Arria 10"
|
||||||
|
set_global_assignment -name HYPER_RETIMER_FAST_FORWARD_ADD_PIPELINING_MAX "-1"
|
||||||
|
set_global_assignment -name HYPER_RETIMER_FAST_FORWARD_ASYNCH_CLEAR Auto
|
||||||
|
set_global_assignment -name HYPER_RETIMER_FAST_FORWARD_USER_PRESERVE_RESTRICTION Auto
|
||||||
|
set_global_assignment -name HYPER_RETIMER_FAST_FORWARD_DSP_BLOCKS On
|
||||||
|
set_global_assignment -name HYPER_RETIMER_FAST_FORWARD_RAM_BLOCKS On
|
||||||
|
set_global_assignment -name EDA_SIMULATION_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_TIMING_ANALYSIS_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_BOARD_DESIGN_TIMING_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_BOARD_DESIGN_SYMBOL_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_BOARD_DESIGN_SIGNAL_INTEGRITY_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_BOARD_DESIGN_BOUNDARY_SCAN_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_BOARD_DESIGN_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_FORMAL_VERIFICATION_TOOL "<None>"
|
||||||
|
set_global_assignment -name EDA_RESYNTHESIS_TOOL "<None>"
|
||||||
|
set_global_assignment -name ON_CHIP_BITSTREAM_DECOMPRESSION On
|
||||||
|
set_global_assignment -name COMPRESSION_MODE Off
|
||||||
|
set_global_assignment -name CLOCK_SOURCE Internal
|
||||||
|
set_global_assignment -name CONFIGURATION_CLOCK_FREQUENCY "10 MHz"
|
||||||
|
set_global_assignment -name CONFIGURATION_CLOCK_DIVISOR 1
|
||||||
|
set_global_assignment -name ENABLE_LOW_VOLTAGE_MODE_ON_CONFIG_DEVICE On
|
||||||
|
set_global_assignment -name FLEX6K_ENABLE_LOW_VOLTAGE_MODE_ON_CONFIG_DEVICE Off
|
||||||
|
set_global_assignment -name FLEX10K_ENABLE_LOW_VOLTAGE_MODE_ON_CONFIG_DEVICE On
|
||||||
|
set_global_assignment -name MAX7000S_JTAG_USER_CODE FFFF
|
||||||
|
set_global_assignment -name STRATIX_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name APEX20K_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name MERCURY_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name FLEX10K_JTAG_USER_CODE 7F
|
||||||
|
set_global_assignment -name MAX7000_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name MAX7000_USE_CHECKSUM_AS_USERCODE Off
|
||||||
|
set_global_assignment -name USE_CHECKSUM_AS_USERCODE On
|
||||||
|
set_global_assignment -name SECURITY_BIT Off
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE On -family "MAX 10"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Stratix IV"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE On -family "MAX V"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE On -family "MAX II"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Arria II GX"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Arria II GZ"
|
||||||
|
set_global_assignment -name USE_CONFIGURATION_DEVICE Off -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name CYCLONEIII_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name STRATIXII_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE_TYPE "PV3102 or EM1130"
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE0_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE1_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE2_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE3_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE4_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE5_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE6_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_SLAVE_DEVICE7_ADDRESS 0000000
|
||||||
|
set_global_assignment -name PWRMGT_VOLTAGE_OUTPUT_FORMAT "Auto discovery"
|
||||||
|
set_global_assignment -name PWRMGT_DIRECT_FORMAT_COEFFICIENT_M 0
|
||||||
|
set_global_assignment -name PWRMGT_DIRECT_FORMAT_COEFFICIENT_B 0
|
||||||
|
set_global_assignment -name PWRMGT_DIRECT_FORMAT_COEFFICIENT_R 0
|
||||||
|
set_global_assignment -name APEX20K_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name MERCURY_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name FLEX6K_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name FLEX10K_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name CYCLONE_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name STRATIX_CONFIGURATION_DEVICE Auto
|
||||||
|
set_global_assignment -name APEX20K_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name STRATIX_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name MERCURY_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name FLEX10K_CONFIG_DEVICE_JTAG_USER_CODE FFFFFFFF
|
||||||
|
set_global_assignment -name EPROM_USE_CHECKSUM_AS_USERCODE Off
|
||||||
|
set_global_assignment -name AUTO_INCREMENT_CONFIG_DEVICE_JTAG_USER_CODE On
|
||||||
|
set_global_assignment -name DISABLE_NCS_AND_OE_PULLUPS_ON_CONFIG_DEVICE Off
|
||||||
|
set_global_assignment -name GENERATE_TTF_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_RBF_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_HEX_FILE Off
|
||||||
|
set_global_assignment -name HEXOUT_FILE_START_ADDRESS 0
|
||||||
|
set_global_assignment -name HEXOUT_FILE_COUNT_DIRECTION Up
|
||||||
|
set_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND "As output driving an unspecified signal"
|
||||||
|
set_global_assignment -name RELEASE_CLEARS_BEFORE_TRI_STATES Off
|
||||||
|
set_global_assignment -name AUTO_RESTART_CONFIGURATION On
|
||||||
|
set_global_assignment -name HARDCOPYII_POWER_ON_EXTRA_DELAY Off
|
||||||
|
set_global_assignment -name STRATIXII_MRAM_COMPATIBILITY Off
|
||||||
|
set_global_assignment -name CYCLONEII_M4K_COMPATIBILITY On
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Arria V"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Cyclone 10 LP"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE On -family "MAX 10"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Cyclone IV E"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Arria 10"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Stratix V"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Arria V GZ"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Arria II GX"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Cyclone IV GX"
|
||||||
|
set_global_assignment -name ENABLE_OCT_DONE Off -family "Cyclone V"
|
||||||
|
set_global_assignment -name USE_CHECKERED_PATTERN_AS_UNINITIALIZED_RAM_CONTENT OFF
|
||||||
|
set_global_assignment -name ARRIAIIGX_RX_CDR_LOCKUP_FIX_OVERRIDE Off
|
||||||
|
set_global_assignment -name ENABLE_AUTONOMOUS_PCIE_HIP Off
|
||||||
|
set_global_assignment -name ENABLE_ADV_SEU_DETECTION Off
|
||||||
|
set_global_assignment -name POR_SCHEME "Instant ON"
|
||||||
|
set_global_assignment -name EN_USER_IO_WEAK_PULLUP On
|
||||||
|
set_global_assignment -name EN_SPI_IO_WEAK_PULLUP On
|
||||||
|
set_global_assignment -name POF_VERIFY_PROTECT Off
|
||||||
|
set_global_assignment -name ENABLE_SPI_MODE_CHECK Off
|
||||||
|
set_global_assignment -name FORCE_SSMCLK_TO_ISMCLK On
|
||||||
|
set_global_assignment -name FALLBACK_TO_EXTERNAL_FLASH Off
|
||||||
|
set_global_assignment -name EXTERNAL_FLASH_FALLBACK_ADDRESS 0
|
||||||
|
set_global_assignment -name GENERATE_PMSF_FILES On
|
||||||
|
set_global_assignment -name START_TIME 0ns
|
||||||
|
set_global_assignment -name SIMULATION_MODE TIMING
|
||||||
|
set_global_assignment -name AUTO_USE_SIMULATION_PDB_NETLIST Off
|
||||||
|
set_global_assignment -name ADD_DEFAULT_PINS_TO_SIMULATION_OUTPUT_WAVEFORMS On
|
||||||
|
set_global_assignment -name SETUP_HOLD_DETECTION Off
|
||||||
|
set_global_assignment -name SETUP_HOLD_DETECTION_INPUT_REGISTERS_BIDIR_PINS_DISABLED Off
|
||||||
|
set_global_assignment -name CHECK_OUTPUTS Off
|
||||||
|
set_global_assignment -name SIMULATION_COVERAGE On
|
||||||
|
set_global_assignment -name SIMULATION_COMPLETE_COVERAGE_REPORT_PANEL On
|
||||||
|
set_global_assignment -name SIMULATION_MISSING_1_VALUE_COVERAGE_REPORT_PANEL On
|
||||||
|
set_global_assignment -name SIMULATION_MISSING_0_VALUE_COVERAGE_REPORT_PANEL On
|
||||||
|
set_global_assignment -name GLITCH_DETECTION Off
|
||||||
|
set_global_assignment -name GLITCH_INTERVAL 1ns
|
||||||
|
set_global_assignment -name SIMULATOR_GENERATE_SIGNAL_ACTIVITY_FILE Off
|
||||||
|
set_global_assignment -name SIMULATION_WITH_GLITCH_FILTERING_WHEN_GENERATING_SAF On
|
||||||
|
set_global_assignment -name SIMULATION_BUS_CHANNEL_GROUPING Off
|
||||||
|
set_global_assignment -name SIMULATION_VDB_RESULT_FLUSH On
|
||||||
|
set_global_assignment -name VECTOR_COMPARE_TRIGGER_MODE INPUT_EDGE
|
||||||
|
set_global_assignment -name SIMULATION_NETLIST_VIEWER Off
|
||||||
|
set_global_assignment -name SIMULATION_INTERCONNECT_DELAY_MODEL_TYPE TRANSPORT
|
||||||
|
set_global_assignment -name SIMULATION_CELL_DELAY_MODEL_TYPE TRANSPORT
|
||||||
|
set_global_assignment -name SIMULATOR_GENERATE_POWERPLAY_VCD_FILE Off
|
||||||
|
set_global_assignment -name SIMULATOR_PVT_TIMING_MODEL_TYPE AUTO
|
||||||
|
set_global_assignment -name SIMULATION_WITH_AUTO_GLITCH_FILTERING AUTO
|
||||||
|
set_global_assignment -name DRC_TOP_FANOUT 50
|
||||||
|
set_global_assignment -name DRC_FANOUT_EXCEEDING 30
|
||||||
|
set_global_assignment -name DRC_GATED_CLOCK_FEED 30
|
||||||
|
set_global_assignment -name HARDCOPY_FLOW_AUTOMATION MIGRATION_ONLY
|
||||||
|
set_global_assignment -name ENABLE_DRC_SETTINGS Off
|
||||||
|
set_global_assignment -name CLK_RULE_CLKNET_CLKSPINES_THRESHOLD 25
|
||||||
|
set_global_assignment -name DRC_DETAIL_MESSAGE_LIMIT 10
|
||||||
|
set_global_assignment -name DRC_VIOLATION_MESSAGE_LIMIT 30
|
||||||
|
set_global_assignment -name DRC_DEADLOCK_STATE_LIMIT 2
|
||||||
|
set_global_assignment -name MERGE_HEX_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_SVF_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_ISC_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_JAM_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_JBC_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_JBC_FILE_COMPRESSED On
|
||||||
|
set_global_assignment -name GENERATE_CONFIG_SVF_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_CONFIG_ISC_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_CONFIG_JAM_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_CONFIG_JBC_FILE Off
|
||||||
|
set_global_assignment -name GENERATE_CONFIG_JBC_FILE_COMPRESSED On
|
||||||
|
set_global_assignment -name GENERATE_CONFIG_HEXOUT_FILE Off
|
||||||
|
set_global_assignment -name ISP_CLAMP_STATE_DEFAULT "Tri-state"
|
||||||
|
set_global_assignment -name HPS_EARLY_IO_RELEASE Off
|
||||||
|
set_global_assignment -name SIGNALPROBE_ALLOW_OVERUSE Off
|
||||||
|
set_global_assignment -name SIGNALPROBE_DURING_NORMAL_COMPILATION Off
|
||||||
|
set_global_assignment -name POWER_DEFAULT_TOGGLE_RATE 12.5%
|
||||||
|
set_global_assignment -name POWER_DEFAULT_INPUT_IO_TOGGLE_RATE 12.5%
|
||||||
|
set_global_assignment -name POWER_USE_PVA On
|
||||||
|
set_global_assignment -name POWER_USE_INPUT_FILE "No File"
|
||||||
|
set_global_assignment -name POWER_USE_INPUT_FILES Off
|
||||||
|
set_global_assignment -name POWER_VCD_FILTER_GLITCHES On
|
||||||
|
set_global_assignment -name POWER_REPORT_SIGNAL_ACTIVITY Off
|
||||||
|
set_global_assignment -name POWER_REPORT_POWER_DISSIPATION Off
|
||||||
|
set_global_assignment -name POWER_USE_DEVICE_CHARACTERISTICS TYPICAL
|
||||||
|
set_global_assignment -name POWER_AUTO_COMPUTE_TJ On
|
||||||
|
set_global_assignment -name POWER_TJ_VALUE 25
|
||||||
|
set_global_assignment -name POWER_USE_TA_VALUE 25
|
||||||
|
set_global_assignment -name POWER_USE_CUSTOM_COOLING_SOLUTION Off
|
||||||
|
set_global_assignment -name POWER_BOARD_TEMPERATURE 25
|
||||||
|
set_global_assignment -name POWER_HPS_ENABLE Off
|
||||||
|
set_global_assignment -name POWER_HPS_PROC_FREQ 0.0
|
||||||
|
set_global_assignment -name ENABLE_SMART_VOLTAGE_ID Off
|
||||||
|
set_global_assignment -name IGNORE_PARTITIONS Off
|
||||||
|
set_global_assignment -name AUTO_EXPORT_INCREMENTAL_COMPILATION Off
|
||||||
|
set_global_assignment -name RAPID_RECOMPILE_ASSIGNMENT_CHECKING On
|
||||||
|
set_global_assignment -name OUTPUT_IO_TIMING_ENDPOINT "Near End"
|
||||||
|
set_global_assignment -name RTLV_REMOVE_FANOUT_FREE_REGISTERS On
|
||||||
|
set_global_assignment -name RTLV_SIMPLIFIED_LOGIC On
|
||||||
|
set_global_assignment -name RTLV_GROUP_RELATED_NODES On
|
||||||
|
set_global_assignment -name RTLV_GROUP_COMB_LOGIC_IN_CLOUD Off
|
||||||
|
set_global_assignment -name RTLV_GROUP_COMB_LOGIC_IN_CLOUD_TMV Off
|
||||||
|
set_global_assignment -name RTLV_GROUP_RELATED_NODES_TMV On
|
||||||
|
set_global_assignment -name EQC_CONSTANT_DFF_DETECTION On
|
||||||
|
set_global_assignment -name EQC_DUPLICATE_DFF_DETECTION On
|
||||||
|
set_global_assignment -name EQC_BBOX_MERGE On
|
||||||
|
set_global_assignment -name EQC_LVDS_MERGE On
|
||||||
|
set_global_assignment -name EQC_RAM_UNMERGING On
|
||||||
|
set_global_assignment -name EQC_DFF_SS_EMULATION On
|
||||||
|
set_global_assignment -name EQC_RAM_REGISTER_UNPACK On
|
||||||
|
set_global_assignment -name EQC_MAC_REGISTER_UNPACK On
|
||||||
|
set_global_assignment -name EQC_SET_PARTITION_BB_TO_VCC_GND On
|
||||||
|
set_global_assignment -name EQC_STRUCTURE_MATCHING On
|
||||||
|
set_global_assignment -name EQC_AUTO_BREAK_CONE On
|
||||||
|
set_global_assignment -name EQC_POWER_UP_COMPARE Off
|
||||||
|
set_global_assignment -name EQC_AUTO_COMP_LOOP_CUT On
|
||||||
|
set_global_assignment -name EQC_AUTO_INVERSION On
|
||||||
|
set_global_assignment -name EQC_AUTO_TERMINATE On
|
||||||
|
set_global_assignment -name EQC_SUB_CONE_REPORT Off
|
||||||
|
set_global_assignment -name EQC_RENAMING_RULES On
|
||||||
|
set_global_assignment -name EQC_PARAMETER_CHECK On
|
||||||
|
set_global_assignment -name EQC_AUTO_PORTSWAP On
|
||||||
|
set_global_assignment -name EQC_DETECT_DONT_CARES On
|
||||||
|
set_global_assignment -name EQC_SHOW_ALL_MAPPED_POINTS Off
|
||||||
|
set_global_assignment -name EDA_INPUT_GND_NAME GND -section_id ?
|
||||||
|
set_global_assignment -name EDA_INPUT_VCC_NAME VCC -section_id ?
|
||||||
|
set_global_assignment -name EDA_INPUT_DATA_FORMAT NONE -section_id ?
|
||||||
|
set_global_assignment -name EDA_SHOW_LMF_MAPPING_MESSAGES Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_RUN_TOOL_AUTOMATICALLY Off -section_id ?
|
||||||
|
set_global_assignment -name RESYNTHESIS_RETIMING FULL -section_id ?
|
||||||
|
set_global_assignment -name RESYNTHESIS_OPTIMIZATION_EFFORT Normal -section_id ?
|
||||||
|
set_global_assignment -name RESYNTHESIS_PHYSICAL_SYNTHESIS Normal -section_id ?
|
||||||
|
set_global_assignment -name USE_GENERATED_PHYSICAL_CONSTRAINTS On -section_id ?
|
||||||
|
set_global_assignment -name VCCPD_VOLTAGE 3.3V -section_id ?
|
||||||
|
set_global_assignment -name EDA_USER_COMPILED_SIMULATION_LIBRARY_DIRECTORY "<None>" -section_id ?
|
||||||
|
set_global_assignment -name EDA_LAUNCH_CMD_LINE_TOOL Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_ENABLE_IPUTF_MODE On -section_id ?
|
||||||
|
set_global_assignment -name EDA_NATIVELINK_PORTABLE_FILE_PATHS Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_NATIVELINK_GENERATE_SCRIPT_ONLY Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_WAIT_FOR_GUI_TOOL_COMPLETION Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_TRUNCATE_LONG_HIERARCHY_PATHS Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_FLATTEN_BUSES Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_MAP_ILLEGAL_CHARACTERS Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_GENERATE_TIMING_CLOSURE_DATA Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_GENERATE_POWER_INPUT_FILE Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_TEST_BENCH_ENABLE_STATUS NOT_USED -section_id ?
|
||||||
|
set_global_assignment -name EDA_RTL_SIM_MODE NOT_USED -section_id ?
|
||||||
|
set_global_assignment -name EDA_MAINTAIN_DESIGN_HIERARCHY OFF -section_id ?
|
||||||
|
set_global_assignment -name EDA_GENERATE_FUNCTIONAL_NETLIST Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_WRITE_DEVICE_CONTROL_PORTS Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_SIMULATION_VCD_OUTPUT_TCL_FILE Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_SIMULATION_VCD_OUTPUT_SIGNALS_TO_TCL_FILE "All Except Combinational Logic Element Outputs" -section_id ?
|
||||||
|
set_global_assignment -name EDA_ENABLE_GLITCH_FILTERING Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_WRITE_NODES_FOR_POWER_ESTIMATION OFF -section_id ?
|
||||||
|
set_global_assignment -name EDA_SETUP_HOLD_DETECTION_INPUT_REGISTERS_BIDIR_PINS_DISABLED Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_WRITER_DONT_WRITE_TOP_ENTITY Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_VHDL_ARCH_NAME structure -section_id ?
|
||||||
|
set_global_assignment -name EDA_IBIS_MODEL_SELECTOR Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_IBIS_EXTENDED_MODEL_SELECTOR Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_IBIS_MUTUAL_COUPLING Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_FORMAL_VERIFICATION_ALLOW_RETIMING Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_BOARD_BOUNDARY_SCAN_OPERATION PRE_CONFIG -section_id ?
|
||||||
|
set_global_assignment -name EDA_GENERATE_RTL_SIMULATION_COMMAND_SCRIPT Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_GENERATE_GATE_LEVEL_SIMULATION_COMMAND_SCRIPT Off -section_id ?
|
||||||
|
set_global_assignment -name EDA_IBIS_SPECIFICATION_VERSION 4p2 -section_id ?
|
||||||
|
set_global_assignment -name SIM_VECTOR_COMPARED_CLOCK_OFFSET 0ns -section_id ?
|
||||||
|
set_global_assignment -name SIM_VECTOR_COMPARED_CLOCK_DUTY_CYCLE 50 -section_id ?
|
||||||
|
set_global_assignment -name APEX20K_CLIQUE_TYPE LAB -section_id ? -entity ?
|
||||||
|
set_global_assignment -name MAX7K_CLIQUE_TYPE LAB -section_id ? -entity ?
|
||||||
|
set_global_assignment -name MERCURY_CLIQUE_TYPE LAB -section_id ? -entity ?
|
||||||
|
set_global_assignment -name FLEX6K_CLIQUE_TYPE LAB -section_id ? -entity ?
|
||||||
|
set_global_assignment -name FLEX10K_CLIQUE_TYPE LAB -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_PRESERVE_HIGH_SPEED_TILES On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_IGNORE_SOURCE_FILE_CHANGES Off -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_ALWAYS_USE_QXP_NETLIST Off -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_IMPORT_ASSIGNMENTS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_IMPORT_EXISTING_ASSIGNMENTS REPLACE_CONFLICTING -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_IMPORT_EXISTING_LOGICLOCK_REGIONS UPDATE_CONFLICTING -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_IMPORT_PROMOTE_ASSIGNMENTS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name ALLOW_MULTIPLE_PERSONAS Off -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_ASD_REGION_ID 1 -section_id ? -entity ?
|
||||||
|
set_global_assignment -name CROSS_BOUNDARY_OPTIMIZATIONS Off -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PROPAGATE_CONSTANTS_ON_INPUTS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PROPAGATE_INVERSIONS_ON_INPUTS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name REMOVE_LOGIC_ON_UNCONNECTED_OUTPUTS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name MERGE_EQUIVALENT_INPUTS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name MERGE_EQUIVALENT_BIDIRS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name ABSORB_PATHS_FROM_OUTPUTS_TO_INPUTS On -section_id ? -entity ?
|
||||||
|
set_global_assignment -name PARTITION_ENABLE_STRICT_PRESERVATION Off -section_id ? -entity ?
|
|
@ -0,0 +1,23 @@
|
||||||
|
Info: Start Nativelink Simulation process
|
||||||
|
Info: NativeLink has detected VHDL design -- VHDL simulation models will be used
|
||||||
|
|
||||||
|
========= EDA Simulation Settings =====================
|
||||||
|
|
||||||
|
Sim Mode : RTL
|
||||||
|
Family : cycloneivgx
|
||||||
|
Quartus root : d:/programs/altera/quartus/quartus/bin64/
|
||||||
|
Quartus sim root : d:/programs/altera/quartus/quartus/eda/sim_lib
|
||||||
|
Simulation Tool : modelsim-altera
|
||||||
|
Simulation Language : vhdl
|
||||||
|
Version : 93
|
||||||
|
Simulation Mode : GUI
|
||||||
|
Sim Output File :
|
||||||
|
Sim SDF file :
|
||||||
|
Sim dir : simulation\modelsim
|
||||||
|
|
||||||
|
=======================================================
|
||||||
|
|
||||||
|
Info: Starting NativeLink simulation with ModelSim-Altera software
|
||||||
|
Sourced NativeLink script d:/programs/altera/quartus/quartus/common/tcl/internal/nativelink/modelsim.tcl
|
||||||
|
Warning: File riscv_microcontroller_run_msim_rtl_vhdl.do already exists - backing up current file as riscv_microcontroller_run_msim_rtl_vhdl.do.bak3
|
||||||
|
Info: Spawning ModelSim-Altera Simulation software
|
|
@ -0,0 +1,564 @@
|
||||||
|
vlog -work work E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/microcontroller.vwf.vt
|
||||||
|
vsim -novopt -c -t 1ps -L cycloneiv_ver -L altera_ver -L altera_mf_ver -L 220model_ver -L sgate work.microcontroller_vlg_vec_tst
|
||||||
|
onerror {resume}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_controller_state}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_controller_state[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_controller_state[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_controller_state[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_pc_output[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x31_output[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x1_output[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_x2_output[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/clock}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/reset}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_regfile_write}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_0[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_input_1[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_1}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_1[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_1[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_1[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_1[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_1[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_immediate[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_mux0_sel}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_mux0_sel[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_mux0_sel[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_operation}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_operation[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_operation[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_operation[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_operation[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_forward_mux_0}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_forward_mux_0[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_forward_mux_0[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_forward_mux_1}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_forward_mux_1[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_forward_mux_1[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_EX_MEM}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_EX_MEM[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_EX_MEM[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_EX_MEM[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_EX_MEM[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_EX_MEM[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0_ID_EXE}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0_ID_EXE[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0_ID_EXE[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0_ID_EXE[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0_ID_EXE[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_read_address_0_ID_EXE[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_read_address_0_from_IF}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_read_address_0_from_IF[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_read_address_0_from_IF[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_read_address_0_from_IF[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_read_address_0_from_IF[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_read_address_0_from_IF[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_mux0_sel_from_MEM}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_mux0_sel_from_MEM[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_mux0_sel_from_MEM[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_from_MEM}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_from_MEM[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_from_MEM[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_from_MEM[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_from_MEM[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_address_from_MEM[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_reg_file_write_from_MEM}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_MEM[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_ALU_output_from_EX[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_0_from_ID[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_register_file_output_1_from_ID[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_PC_operation}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_PC_operation[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_PC_operation[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_PC_operation[0]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[31]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[30]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[29]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[28]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[27]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[26]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[25]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[24]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[23]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[22]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[21]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[20]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[19]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[18]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[17]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[16]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[15]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[14]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[13]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[12]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[11]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[10]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[9]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[8]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[7]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[6]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[5]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[4]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[3]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[2]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[1]}
|
||||||
|
add wave {microcontroller_vlg_vec_tst/i1/debug_instruction[0]}
|
||||||
|
run -all
|
File diff suppressed because it is too large
Load diff
324
Quartus/riscv_microcontroller/simulation/modelsim/modelsim.ini
Normal file
324
Quartus/riscv_microcontroller/simulation/modelsim/modelsim.ini
Normal file
|
@ -0,0 +1,324 @@
|
||||||
|
; Copyright 1991-2009 Mentor Graphics Corporation
|
||||||
|
;
|
||||||
|
; All Rights Reserved.
|
||||||
|
;
|
||||||
|
; THIS WORK CONTAINS TRADE SECRET AND PROPRIETARY INFORMATION WHICH IS THE PROPERTY OF
|
||||||
|
; MENTOR GRAPHICS CORPORATION OR ITS LICENSORS AND IS SUBJECT TO LICENSE TERMS.
|
||||||
|
;
|
||||||
|
|
||||||
|
[Library]
|
||||||
|
others = $MODEL_TECH/../modelsim.ini
|
||||||
|
|
||||||
|
; Altera Primitive libraries
|
||||||
|
;
|
||||||
|
; VHDL Section
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; Verilog Section
|
||||||
|
;
|
||||||
|
|
||||||
|
work = rtl_work
|
||||||
|
[vcom]
|
||||||
|
; VHDL93 variable selects language version as the default.
|
||||||
|
; Default is VHDL-2002.
|
||||||
|
; Value of 0 or 1987 for VHDL-1987.
|
||||||
|
; Value of 1 or 1993 for VHDL-1993.
|
||||||
|
; Default or value of 2 or 2002 for VHDL-2002.
|
||||||
|
; Default or value of 3 or 2008 for VHDL-2008.
|
||||||
|
VHDL93 = 2002
|
||||||
|
|
||||||
|
; Show source line containing error. Default is off.
|
||||||
|
; Show_source = 1
|
||||||
|
|
||||||
|
; Turn off unbound-component warnings. Default is on.
|
||||||
|
; Show_Warning1 = 0
|
||||||
|
|
||||||
|
; Turn off process-without-a-wait-statement warnings. Default is on.
|
||||||
|
; Show_Warning2 = 0
|
||||||
|
|
||||||
|
; Turn off null-range warnings. Default is on.
|
||||||
|
; Show_Warning3 = 0
|
||||||
|
|
||||||
|
; Turn off no-space-in-time-literal warnings. Default is on.
|
||||||
|
; Show_Warning4 = 0
|
||||||
|
|
||||||
|
; Turn off multiple-drivers-on-unresolved-signal warnings. Default is on.
|
||||||
|
; Show_Warning5 = 0
|
||||||
|
|
||||||
|
; Turn off optimization for IEEE std_logic_1164 package. Default is on.
|
||||||
|
; Optimize_1164 = 0
|
||||||
|
|
||||||
|
; Turn on resolving of ambiguous function overloading in favor of the
|
||||||
|
; "explicit" function declaration (not the one automatically created by
|
||||||
|
; the compiler for each type declaration). Default is off.
|
||||||
|
; The .ini file has Explicit enabled so that std_logic_signed/unsigned
|
||||||
|
; will match the behavior of synthesis tools.
|
||||||
|
Explicit = 1
|
||||||
|
|
||||||
|
; Turn off acceleration of the VITAL packages. Default is to accelerate.
|
||||||
|
; NoVital = 1
|
||||||
|
|
||||||
|
; Turn off VITAL compliance checking. Default is checking on.
|
||||||
|
; NoVitalCheck = 1
|
||||||
|
|
||||||
|
; Ignore VITAL compliance checking errors. Default is to not ignore.
|
||||||
|
; IgnoreVitalErrors = 1
|
||||||
|
|
||||||
|
; Turn off VITAL compliance checking warnings. Default is to show warnings.
|
||||||
|
; Show_VitalChecksWarnings = 0
|
||||||
|
|
||||||
|
; Keep silent about case statement static warnings.
|
||||||
|
; Default is to give a warning.
|
||||||
|
; NoCaseStaticError = 1
|
||||||
|
|
||||||
|
; Keep silent about warnings caused by aggregates that are not locally static.
|
||||||
|
; Default is to give a warning.
|
||||||
|
; NoOthersStaticError = 1
|
||||||
|
|
||||||
|
; Turn off inclusion of debugging info within design units.
|
||||||
|
; Default is to include debugging info.
|
||||||
|
; NoDebug = 1
|
||||||
|
|
||||||
|
; Turn off "Loading..." messages. Default is messages on.
|
||||||
|
; Quiet = 1
|
||||||
|
|
||||||
|
; Turn on some limited synthesis rule compliance checking. Checks only:
|
||||||
|
; -- signals used (read) by a process must be in the sensitivity list
|
||||||
|
; CheckSynthesis = 1
|
||||||
|
|
||||||
|
; Activate optimizations on expressions that do not involve signals,
|
||||||
|
; waits, or function/procedure/task invocations. Default is off.
|
||||||
|
; ScalarOpts = 1
|
||||||
|
|
||||||
|
; Require the user to specify a configuration for all bindings,
|
||||||
|
; and do not generate a compile time default binding for the
|
||||||
|
; component. This will result in an elaboration error of
|
||||||
|
; 'component not bound' if the user fails to do so. Avoids the rare
|
||||||
|
; issue of a false dependency upon the unused default binding.
|
||||||
|
; RequireConfigForAllDefaultBinding = 1
|
||||||
|
|
||||||
|
; Inhibit range checking on subscripts of arrays. Range checking on
|
||||||
|
; scalars defined with subtypes is inhibited by default.
|
||||||
|
; NoIndexCheck = 1
|
||||||
|
|
||||||
|
; Inhibit range checks on all (implicit and explicit) assignments to
|
||||||
|
; scalar objects defined with subtypes.
|
||||||
|
; NoRangeCheck = 1
|
||||||
|
|
||||||
|
[vlog]
|
||||||
|
|
||||||
|
; Turn off inclusion of debugging info within design units.
|
||||||
|
; Default is to include debugging info.
|
||||||
|
; NoDebug = 1
|
||||||
|
|
||||||
|
; Turn off "loading..." messages. Default is messages on.
|
||||||
|
; Quiet = 1
|
||||||
|
|
||||||
|
; Turn on Verilog hazard checking (order-dependent accessing of global vars).
|
||||||
|
; Default is off.
|
||||||
|
; Hazard = 1
|
||||||
|
|
||||||
|
; Turn on converting regular Verilog identifiers to uppercase. Allows case
|
||||||
|
; insensitivity for module names. Default is no conversion.
|
||||||
|
; UpCase = 1
|
||||||
|
|
||||||
|
; Turn on incremental compilation of modules. Default is off.
|
||||||
|
; Incremental = 1
|
||||||
|
|
||||||
|
; Turns on lint-style checking.
|
||||||
|
; Show_Lint = 1
|
||||||
|
|
||||||
|
[vsim]
|
||||||
|
; Simulator resolution
|
||||||
|
; Set to fs, ps, ns, us, ms, or sec with optional prefix of 1, 10, or 100.
|
||||||
|
Resolution = ps
|
||||||
|
|
||||||
|
; User time unit for run commands
|
||||||
|
; Set to default, fs, ps, ns, us, ms, or sec. The default is to use the
|
||||||
|
; unit specified for Resolution. For example, if Resolution is 100ps,
|
||||||
|
; then UserTimeUnit defaults to ps.
|
||||||
|
; Should generally be set to default.
|
||||||
|
UserTimeUnit = default
|
||||||
|
|
||||||
|
; Default run length
|
||||||
|
RunLength = 100
|
||||||
|
|
||||||
|
; Maximum iterations that can be run without advancing simulation time
|
||||||
|
IterationLimit = 5000
|
||||||
|
|
||||||
|
; Directive to license manager:
|
||||||
|
; vhdl Immediately reserve a VHDL license
|
||||||
|
; vlog Immediately reserve a Verilog license
|
||||||
|
; plus Immediately reserve a VHDL and Verilog license
|
||||||
|
; nomgc Do not look for Mentor Graphics Licenses
|
||||||
|
; nomti Do not look for Model Technology Licenses
|
||||||
|
; noqueue Do not wait in the license queue when a license isn't available
|
||||||
|
; viewsim Try for viewer license but accept simulator license(s) instead
|
||||||
|
; of queuing for viewer license
|
||||||
|
; License = plus
|
||||||
|
|
||||||
|
; Stop the simulator after a VHDL/Verilog assertion message
|
||||||
|
; 0 = Note 1 = Warning 2 = Error 3 = Failure 4 = Fatal
|
||||||
|
BreakOnAssertion = 3
|
||||||
|
|
||||||
|
; Assertion Message Format
|
||||||
|
; %S - Severity Level
|
||||||
|
; %R - Report Message
|
||||||
|
; %T - Time of assertion
|
||||||
|
; %D - Delta
|
||||||
|
; %I - Instance or Region pathname (if available)
|
||||||
|
; %% - print '%' character
|
||||||
|
; AssertionFormat = "** %S: %R\n Time: %T Iteration: %D%I\n"
|
||||||
|
|
||||||
|
; Assertion File - alternate file for storing VHDL/Verilog assertion messages
|
||||||
|
; AssertFile = assert.log
|
||||||
|
|
||||||
|
; Default radix for all windows and commands...
|
||||||
|
; Set to symbolic, ascii, binary, octal, decimal, hex, unsigned
|
||||||
|
DefaultRadix = symbolic
|
||||||
|
|
||||||
|
; VSIM Startup command
|
||||||
|
; Startup = do startup.do
|
||||||
|
|
||||||
|
; File for saving command transcript
|
||||||
|
TranscriptFile = transcript
|
||||||
|
|
||||||
|
; File for saving command history
|
||||||
|
; CommandHistory = cmdhist.log
|
||||||
|
|
||||||
|
; Specify whether paths in simulator commands should be described
|
||||||
|
; in VHDL or Verilog format.
|
||||||
|
; For VHDL, PathSeparator = /
|
||||||
|
; For Verilog, PathSeparator = .
|
||||||
|
; Must not be the same character as DatasetSeparator.
|
||||||
|
PathSeparator = /
|
||||||
|
|
||||||
|
; Specify the dataset separator for fully rooted contexts.
|
||||||
|
; The default is ':'. For example, sim:/top
|
||||||
|
; Must not be the same character as PathSeparator.
|
||||||
|
DatasetSeparator = :
|
||||||
|
|
||||||
|
; Disable VHDL assertion messages
|
||||||
|
; IgnoreNote = 1
|
||||||
|
; IgnoreWarning = 1
|
||||||
|
; IgnoreError = 1
|
||||||
|
; IgnoreFailure = 1
|
||||||
|
|
||||||
|
; Default force kind. May be freeze, drive, deposit, or default
|
||||||
|
; or in other terms, fixed, wired, or charged.
|
||||||
|
; A value of "default" will use the signal kind to determine the
|
||||||
|
; force kind, drive for resolved signals, freeze for unresolved signals
|
||||||
|
; DefaultForceKind = freeze
|
||||||
|
|
||||||
|
; If zero, open files when elaborated; otherwise, open files on
|
||||||
|
; first read or write. Default is 0.
|
||||||
|
; DelayFileOpen = 1
|
||||||
|
|
||||||
|
; Control VHDL files opened for write.
|
||||||
|
; 0 = Buffered, 1 = Unbuffered
|
||||||
|
UnbufferedOutput = 0
|
||||||
|
|
||||||
|
; Control the number of VHDL files open concurrently.
|
||||||
|
; This number should always be less than the current ulimit
|
||||||
|
; setting for max file descriptors.
|
||||||
|
; 0 = unlimited
|
||||||
|
ConcurrentFileLimit = 40
|
||||||
|
|
||||||
|
; Control the number of hierarchical regions displayed as
|
||||||
|
; part of a signal name shown in the Wave window.
|
||||||
|
; A value of zero tells VSIM to display the full name.
|
||||||
|
; The default is 0.
|
||||||
|
; WaveSignalNameWidth = 0
|
||||||
|
|
||||||
|
; Turn off warnings from the std_logic_arith, std_logic_unsigned
|
||||||
|
; and std_logic_signed packages.
|
||||||
|
; StdArithNoWarnings = 1
|
||||||
|
|
||||||
|
; Turn off warnings from the IEEE numeric_std and numeric_bit packages.
|
||||||
|
; NumericStdNoWarnings = 1
|
||||||
|
|
||||||
|
; Control the format of the (VHDL) FOR generate statement label
|
||||||
|
; for each iteration. Do not quote it.
|
||||||
|
; The format string here must contain the conversion codes %s and %d,
|
||||||
|
; in that order, and no other conversion codes. The %s represents
|
||||||
|
; the generate_label; the %d represents the generate parameter value
|
||||||
|
; at a particular generate iteration (this is the position number if
|
||||||
|
; the generate parameter is of an enumeration type). Embedded whitespace
|
||||||
|
; is allowed (but discouraged); leading and trailing whitespace is ignored.
|
||||||
|
; Application of the format must result in a unique scope name over all
|
||||||
|
; such names in the design so that name lookup can function properly.
|
||||||
|
; GenerateFormat = %s__%d
|
||||||
|
|
||||||
|
; Specify whether checkpoint files should be compressed.
|
||||||
|
; The default is 1 (compressed).
|
||||||
|
; CheckpointCompressMode = 0
|
||||||
|
|
||||||
|
; List of dynamically loaded objects for Verilog PLI applications
|
||||||
|
; Veriuser = veriuser.sl
|
||||||
|
|
||||||
|
; Specify default options for the restart command. Options can be one
|
||||||
|
; or more of: -force -nobreakpoint -nolist -nolog -nowave
|
||||||
|
; DefaultRestartOptions = -force
|
||||||
|
|
||||||
|
; HP-UX 10.20 ONLY - Enable memory locking to speed up large designs
|
||||||
|
; (> 500 megabyte memory footprint). Default is disabled.
|
||||||
|
; Specify number of megabytes to lock.
|
||||||
|
; LockedMemory = 1000
|
||||||
|
|
||||||
|
; Turn on (1) or off (0) WLF file compression.
|
||||||
|
; The default is 1 (compress WLF file).
|
||||||
|
; WLFCompress = 0
|
||||||
|
|
||||||
|
; Specify whether to save all design hierarchy (1) in the WLF file
|
||||||
|
; or only regions containing logged signals (0).
|
||||||
|
; The default is 0 (save only regions with logged signals).
|
||||||
|
; WLFSaveAllRegions = 1
|
||||||
|
|
||||||
|
; WLF file time limit. Limit WLF file by time, as closely as possible,
|
||||||
|
; to the specified amount of simulation time. When the limit is exceeded
|
||||||
|
; the earliest times get truncated from the file.
|
||||||
|
; If both time and size limits are specified the most restrictive is used.
|
||||||
|
; UserTimeUnits are used if time units are not specified.
|
||||||
|
; The default is 0 (no limit). Example: WLFTimeLimit = {100 ms}
|
||||||
|
; WLFTimeLimit = 0
|
||||||
|
|
||||||
|
; WLF file size limit. Limit WLF file size, as closely as possible,
|
||||||
|
; to the specified number of megabytes. If both time and size limits
|
||||||
|
; are specified then the most restrictive is used.
|
||||||
|
; The default is 0 (no limit).
|
||||||
|
; WLFSizeLimit = 1000
|
||||||
|
|
||||||
|
; Specify whether or not a WLF file should be deleted when the
|
||||||
|
; simulation ends. A value of 1 will cause the WLF file to be deleted.
|
||||||
|
; The default is 0 (do not delete WLF file when simulation ends).
|
||||||
|
; WLFDeleteOnQuit = 1
|
||||||
|
|
||||||
|
; Automatic SDF compilation
|
||||||
|
; Disables automatic compilation of SDF files in flows that support it.
|
||||||
|
; Default is on, uncomment to turn off.
|
||||||
|
; NoAutoSDFCompile = 1
|
||||||
|
|
||||||
|
[lmc]
|
||||||
|
|
||||||
|
[msg_system]
|
||||||
|
; Change a message severity or suppress a message.
|
||||||
|
; The format is: <msg directive> = <msg number>[,<msg number>...]
|
||||||
|
; Examples:
|
||||||
|
; note = 3009
|
||||||
|
; warning = 3033
|
||||||
|
; error = 3010,3016
|
||||||
|
; fatal = 3016,3033
|
||||||
|
; suppress = 3009,3016,3043
|
||||||
|
; The command verror <msg number> can be used to get the complete
|
||||||
|
; description of a message.
|
||||||
|
|
||||||
|
; Control transcripting of elaboration/runtime messages.
|
||||||
|
; The default is to have messages appear in the transcript and
|
||||||
|
; recorded in the wlf file (messages that are recorded in the
|
||||||
|
; wlf file can be viewed in the MsgViewer). The other settings
|
||||||
|
; are to send messages only to the transcript or only to the
|
||||||
|
; wlf file. The valid values are
|
||||||
|
; both {default}
|
||||||
|
; tran {transcript only}
|
||||||
|
; wlf {wlf file only}
|
||||||
|
; msgmode = both
|
|
@ -0,0 +1,130 @@
|
||||||
|
# Reading D:/Programs/Altera/Quartus/modelsim_ase/tcl/vsim/pref.tcl
|
||||||
|
# do riscv_microcontroller_run_msim_rtl_vhdl.do
|
||||||
|
# if {[file exists rtl_work]} {
|
||||||
|
# vdel -lib rtl_work -all
|
||||||
|
# }
|
||||||
|
# vlib rtl_work
|
||||||
|
# vmap work rtl_work
|
||||||
|
# Copying D:\Programs\Altera\Quartus\modelsim_ase\win32aloem/../modelsim.ini to modelsim.ini
|
||||||
|
# Modifying modelsim.ini
|
||||||
|
# ** Warning: Copied D:\Programs\Altera\Quartus\modelsim_ase\win32aloem/../modelsim.ini to modelsim.ini.
|
||||||
|
# Updated modelsim.ini.
|
||||||
|
#
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity reg32b_falling_edge
|
||||||
|
# -- Compiling architecture description of reg32b_falling_edge
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity reg4b
|
||||||
|
# -- Compiling architecture description of reg4b
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity reg3b
|
||||||
|
# -- Compiling architecture description of reg3b
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity reg2b
|
||||||
|
# -- Compiling architecture description of reg2b
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity reg1b
|
||||||
|
# -- Compiling architecture description of reg1b
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity progmem
|
||||||
|
# -- Compiling architecture SYN of progmem
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity datamem
|
||||||
|
# -- Compiling architecture SYN of datamem
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity reg32b
|
||||||
|
# -- Compiling architecture description of reg32b
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Loading package NUMERIC_STD
|
||||||
|
# -- Compiling entity program_counter
|
||||||
|
# -- Compiling architecture behavioral of program_counter
|
||||||
|
# vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd}
|
||||||
|
# Model Technology ModelSim ALTERA vcom 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Loading package STANDARD
|
||||||
|
# -- Loading package TEXTIO
|
||||||
|
# -- Loading package std_logic_1164
|
||||||
|
# -- Compiling entity mux_32_1
|
||||||
|
# -- Compiling architecture behavioral of mux_32_1
|
||||||
|
# ** Error: E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd(15): (vcom-1339) Selected signal assignment choices cover only 32 out of 59049 cases.
|
||||||
|
#
|
||||||
|
# ** Error: E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd(49): VHDL Compiler exiting
|
||||||
|
# ** Error: D:/Programs/Altera/Quartus/modelsim_ase/win32aloem/vcom failed.
|
||||||
|
# Error in macro ./riscv_microcontroller_run_msim_rtl_vhdl.do line 17
|
||||||
|
# D:/Programs/Altera/Quartus/modelsim_ase/win32aloem/vcom failed.
|
||||||
|
# while executing
|
||||||
|
# "vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd}"
|
||||||
|
do E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/microcontroller.vwf.do
|
||||||
|
# Model Technology ModelSim ALTERA vlog 10.1d Compiler 2012.11 Nov 2 2012
|
||||||
|
# -- Compiling module microcontroller_vlg_sample_tst
|
||||||
|
# -- Compiling module microcontroller_vlg_check_tst
|
||||||
|
# -- Compiling module microcontroller_vlg_vec_tst
|
||||||
|
#
|
||||||
|
# Top level modules:
|
||||||
|
# microcontroller_vlg_vec_tst
|
||||||
|
# vsim -L cycloneiv_ver -L altera_ver -L altera_mf_ver -L 220model_ver -L sgate -c -t 1ps -novopt work.microcontroller_vlg_vec_tst
|
||||||
|
# Loading work.microcontroller_vlg_vec_tst
|
||||||
|
# ** Error: (vsim-3033) E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/microcontroller.vwf.vt(9883): Instantiation of 'microcontroller' failed. The design unit was not found.
|
||||||
|
#
|
||||||
|
# Region: /microcontroller_vlg_vec_tst
|
||||||
|
# Searched libraries:
|
||||||
|
# D:/Programs/Altera/Quartus/modelsim_ase/altera/verilog/cycloneiv
|
||||||
|
# D:/Programs/Altera/Quartus/modelsim_ase/altera/verilog/altera
|
||||||
|
# D:/Programs/Altera/Quartus/modelsim_ase/altera/verilog/altera_mf
|
||||||
|
# D:/Programs/Altera/Quartus/modelsim_ase/altera/verilog/220model
|
||||||
|
# D:/Programs/Altera/Quartus/modelsim_ase/altera/vhdl/sgate
|
||||||
|
# E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/rtl_work
|
||||||
|
# Loading work.microcontroller_vlg_sample_tst
|
||||||
|
# Loading work.microcontroller_vlg_check_tst
|
||||||
|
# Error loading design
|
||||||
|
# Error: Error loading design
|
||||||
|
# Pausing macro execution
|
||||||
|
# MACRO E:\Documents-bkp\UFRN\TCC\Quartus\riscv_microcontroller\simulation\modelsim\microcontroller.vwf.do PAUSED at line 2
|
||||||
|
vlib tcc
|
||||||
|
vmap tcc tcc
|
||||||
|
# Modifying modelsim.ini
|
||||||
|
vmap -del tcc
|
||||||
|
# Removing reference to logical library tcc
|
||||||
|
# Modifying modelsim.ini
|
||||||
|
vsim rtl_work.microcontroller_vlg_check_tst
|
||||||
|
# vsim rtl_work.microcontroller_vlg_check_tst
|
||||||
|
# Loading work.microcontroller_vlg_check_tst
|
||||||
|
# Load canceled
|
||||||
|
vsim rtl_work.microcontroller_vlg_check_tst
|
||||||
|
# vsim rtl_work.microcontroller_vlg_check_tst
|
||||||
|
# Loading rtl_work.microcontroller_vlg_check_tst
|
|
@ -0,0 +1,27 @@
|
||||||
|
-- Copyright (C) 1991-2013 Altera Corporation
|
||||||
|
-- Your use of Altera Corporation's design tools, logic functions
|
||||||
|
-- and other software and tools, and its AMPP partner logic
|
||||||
|
-- functions, and any output files from any of the foregoing
|
||||||
|
-- (including device programming or simulation files), and any
|
||||||
|
-- associated documentation or information are expressly subject
|
||||||
|
-- to the terms and conditions of the Altera Program License
|
||||||
|
-- Subscription Agreement, Altera MegaCore Function License
|
||||||
|
-- Agreement, or other applicable license agreement, including,
|
||||||
|
-- without limitation, that your use is for the sole purpose of
|
||||||
|
-- programming logic devices manufactured by Altera and sold by
|
||||||
|
-- Altera or its authorized distributors. Please refer to the
|
||||||
|
-- applicable agreement for further details.
|
||||||
|
|
||||||
|
-- Quartus II generated Memory Initialization File (.mif)
|
||||||
|
|
||||||
|
WIDTH=32;
|
||||||
|
DEPTH=256;
|
||||||
|
|
||||||
|
ADDRESS_RADIX=UNS;
|
||||||
|
DATA_RADIX=BIN;
|
||||||
|
|
||||||
|
CONTENT BEGIN
|
||||||
|
0 : 00000000000100010000000100010011;
|
||||||
|
1 : 00000000001000000000111110110011;
|
||||||
|
[2..255] : 00000000000000000000000000000000;
|
||||||
|
END;
|
|
@ -0,0 +1 @@
|
||||||
|
set tool_name "ModelSim-Altera (Verilog)"
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,34 @@
|
||||||
|
transcript on
|
||||||
|
if {[file exists rtl_work]} {
|
||||||
|
vdel -lib rtl_work -all
|
||||||
|
}
|
||||||
|
vlib rtl_work
|
||||||
|
vmap work rtl_work
|
||||||
|
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_2_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ALU.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_3_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg5b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/IF_ID_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/forwarding_unit.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/MEM_WB_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ID_EX_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/EX_MEM_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/register_file.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/progmem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datapath.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datamem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/controller.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/microcontroller.vhd}
|
||||||
|
|
||||||
|
do "E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/riscv_microcontroller_run_msim_rtl_vhdl.do"
|
|
@ -0,0 +1,33 @@
|
||||||
|
transcript on
|
||||||
|
if {[file exists rtl_work]} {
|
||||||
|
vdel -lib rtl_work -all
|
||||||
|
}
|
||||||
|
vlib rtl_work
|
||||||
|
vmap work rtl_work
|
||||||
|
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_2_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ALU.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_3_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg5b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/IF_ID_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/forwarding_unit.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/MEM_WB_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ID_EX_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/EX_MEM_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/progmem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/microcontroller.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datapath.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datamem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/controller.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/register_file.vhd}
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
transcript on
|
||||||
|
if {[file exists rtl_work]} {
|
||||||
|
vdel -lib rtl_work -all
|
||||||
|
}
|
||||||
|
vlib rtl_work
|
||||||
|
vmap work rtl_work
|
||||||
|
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_2_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ALU.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_3_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg5b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/IF_ID_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/forwarding_unit.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/MEM_WB_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ID_EX_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/EX_MEM_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/register_file.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/progmem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/microcontroller.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datapath.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datamem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/controller.vhd}
|
||||||
|
|
|
@ -0,0 +1,33 @@
|
||||||
|
transcript on
|
||||||
|
if {[file exists rtl_work]} {
|
||||||
|
vdel -lib rtl_work -all
|
||||||
|
}
|
||||||
|
vlib rtl_work
|
||||||
|
vmap work rtl_work
|
||||||
|
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_2_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ALU.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_3_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg5b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/IF_ID_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/forwarding_unit.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/MEM_WB_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ID_EX_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/EX_MEM_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/register_file.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/progmem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/microcontroller.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datapath.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datamem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/controller.vhd}
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
transcript on
|
||||||
|
if {[file exists rtl_work]} {
|
||||||
|
vdel -lib rtl_work -all
|
||||||
|
}
|
||||||
|
vlib rtl_work
|
||||||
|
vmap work rtl_work
|
||||||
|
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_2_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ALU.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/mux_3_1.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/reg5b.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/IF_ID_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/forwarding_unit.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/MEM_WB_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/ID_EX_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/EX_MEM_DIV.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/register_file.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/progmem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datapath.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/datamem_interface.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/controller.vhd}
|
||||||
|
vcom -93 -work work {E:/Documents-bkp/UFRN/TCC/Project/Components/microcontroller.vhd}
|
||||||
|
|
||||||
|
do "E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/riscv_microcontroller_run_msim_rtl_vhdl.do"
|
File diff suppressed because it is too large
Load diff
398
Quartus/riscv_microcontroller/simulation/modelsim/rtl_work/_info
Normal file
398
Quartus/riscv_microcontroller/simulation/modelsim/rtl_work/_info
Normal file
|
@ -0,0 +1,398 @@
|
||||||
|
m255
|
||||||
|
K3
|
||||||
|
13
|
||||||
|
cModel Technology
|
||||||
|
Z0 dE:\Documents-bkp\UFRN\TCC\Quartus\riscv_microcontroller\simulation\modelsim
|
||||||
|
Edatamem
|
||||||
|
Z1 w1558390861
|
||||||
|
Z2 DPx3 std 6 textio 0 22 5>J:;AW>W0[[dW0I6EN1Q0
|
||||||
|
Z3 DPx4 ieee 14 std_logic_1164 0 22 5=aWaoGZSMWIcH0i^f`XF1
|
||||||
|
Z4 dE:\Documents-bkp\UFRN\TCC\Quartus\riscv_microcontroller\simulation\modelsim
|
||||||
|
Z5 8E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd
|
||||||
|
Z6 FE:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd
|
||||||
|
l0
|
||||||
|
L42
|
||||||
|
V29TLV98Nf0O3eWjlQ;a`S3
|
||||||
|
Z7 OV;C;10.1d;51
|
||||||
|
31
|
||||||
|
Z8 !s108 1562550765.281000
|
||||||
|
Z9 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd|
|
||||||
|
Z10 !s107 E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/datamem.vhd|
|
||||||
|
Z11 o-93 -work work -O0
|
||||||
|
Z12 tExplicit 1
|
||||||
|
!s100 ANAnzfS3E6m[ihBP=>9mm0
|
||||||
|
!i10b 1
|
||||||
|
Asyn
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 7 datamem 0 22 29TLV98Nf0O3eWjlQ;a`S3
|
||||||
|
l86
|
||||||
|
L54
|
||||||
|
V>a7WFU4A>N_528FDH8naR3
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R8
|
||||||
|
R9
|
||||||
|
R10
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 U:Zk[Ac`W>9lO4<mDl4Cd0
|
||||||
|
!i10b 1
|
||||||
|
vmicrocontroller_vlg_check_tst
|
||||||
|
!i10b 1
|
||||||
|
!s100 cj_LSJhGA9iF^ldb5D5Oj1
|
||||||
|
IJ:i2[:K@VYd32S:b;6KI=0
|
||||||
|
Vhc18:8BZBi<6[`jTXh4Vg0
|
||||||
|
R4
|
||||||
|
Z13 w1562550614
|
||||||
|
Z14 8E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/microcontroller.vwf.vt
|
||||||
|
Z15 FE:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/microcontroller.vwf.vt
|
||||||
|
L0 59
|
||||||
|
Z16 OV;L;10.1d;51
|
||||||
|
r1
|
||||||
|
!s85 0
|
||||||
|
31
|
||||||
|
Z17 !s108 1562550834.699000
|
||||||
|
Z18 !s107 E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/microcontroller.vwf.vt|
|
||||||
|
Z19 !s90 -reportprogress|300|-work|work|E:/Documents-bkp/UFRN/TCC/Quartus/riscv_microcontroller/simulation/modelsim/microcontroller.vwf.vt|
|
||||||
|
!s101 -O0
|
||||||
|
Z20 o-work work -O0
|
||||||
|
vmicrocontroller_vlg_sample_tst
|
||||||
|
!i10b 1
|
||||||
|
!s100 JYYjM6W=U^VkX`^1]KHZD0
|
||||||
|
I9aA1i:Lm3zWYW:?e53]Gl3
|
||||||
|
V<PHm5RiXd?I]41eoRchQX3
|
||||||
|
R4
|
||||||
|
R13
|
||||||
|
R14
|
||||||
|
R15
|
||||||
|
L0 29
|
||||||
|
R16
|
||||||
|
r1
|
||||||
|
!s85 0
|
||||||
|
31
|
||||||
|
R17
|
||||||
|
R18
|
||||||
|
R19
|
||||||
|
!s101 -O0
|
||||||
|
R20
|
||||||
|
vmicrocontroller_vlg_vec_tst
|
||||||
|
!i10b 1
|
||||||
|
!s100 ;[UiI_7In@d9l4SBf80G81
|
||||||
|
I4aV>cCPQ^hlfkMZ=<kz9W0
|
||||||
|
VCn?2iJ3=;bcX4MPVO=Th<3
|
||||||
|
R4
|
||||||
|
R13
|
||||||
|
R14
|
||||||
|
R15
|
||||||
|
L0 9811
|
||||||
|
R16
|
||||||
|
r1
|
||||||
|
!s85 0
|
||||||
|
31
|
||||||
|
R17
|
||||||
|
R18
|
||||||
|
R19
|
||||||
|
!s101 -O0
|
||||||
|
R20
|
||||||
|
Emux_32_1
|
||||||
|
w1561232309
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
8E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd
|
||||||
|
FE:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd
|
||||||
|
l0
|
||||||
|
L4
|
||||||
|
V>K3=WeTN85`=_kXB=OC553
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 z^hBP[:bXBDJ[T[clKA>Y2
|
||||||
|
!i10b 1
|
||||||
|
!s108 1562550765.936000
|
||||||
|
!s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd|
|
||||||
|
!s107 E:/Documents-bkp/UFRN/TCC/Project/Components/mux_32_1.vhd|
|
||||||
|
Eprogmem
|
||||||
|
Z21 w1558389180
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z22 8E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd
|
||||||
|
Z23 FE:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd
|
||||||
|
l0
|
||||||
|
L42
|
||||||
|
VJzmPU]j<CQj^HL^bVHc2A3
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z24 !s108 1562550765.102000
|
||||||
|
Z25 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd|
|
||||||
|
Z26 !s107 E:/Documents-bkp/UFRN/TCC/Quartus/Datapath/progmem.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 11VU41Q=M8dI85DAA^gbL0
|
||||||
|
!i10b 1
|
||||||
|
Asyn
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 7 progmem 0 22 JzmPU]j<CQj^HL^bVHc2A3
|
||||||
|
l87
|
||||||
|
L54
|
||||||
|
V<5b_@892D4Kikmj;ZL>@W0
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R24
|
||||||
|
R25
|
||||||
|
R26
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 =ClaBYoa@eGl3N3N0Cz4m0
|
||||||
|
!i10b 1
|
||||||
|
Eprogram_counter
|
||||||
|
Z27 w1562544647
|
||||||
|
Z28 DPx4 ieee 11 numeric_std 0 22 O3PF8EB`?j9=z7KT`fn941
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z29 8E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd
|
||||||
|
Z30 FE:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd
|
||||||
|
l0
|
||||||
|
L5
|
||||||
|
VMeiLMA_37Y7<:mWTloOPg2
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z31 !s108 1562550765.735000
|
||||||
|
Z32 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd|
|
||||||
|
Z33 !s107 E:/Documents-bkp/UFRN/TCC/Project/Components/program_counter.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 ^A17U:i3Obg4TC27>Hi>A0
|
||||||
|
!i10b 1
|
||||||
|
Abehavioral
|
||||||
|
R28
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 15 program_counter 0 22 MeiLMA_37Y7<:mWTloOPg2
|
||||||
|
l20
|
||||||
|
L18
|
||||||
|
V<7^fY]IkZ8Y2k]SSB?BJF3
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R31
|
||||||
|
R32
|
||||||
|
R33
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 [_coc>U7`VfF9gHD`KhBi3
|
||||||
|
!i10b 1
|
||||||
|
Ereg1b
|
||||||
|
Z34 w1560953063
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z35 8E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd
|
||||||
|
Z36 FE:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd
|
||||||
|
l0
|
||||||
|
L4
|
||||||
|
Vc3kDD]X@i6?hNNGhUU=0P2
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z37 !s108 1562550764.918000
|
||||||
|
Z38 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd|
|
||||||
|
Z39 !s107 E:/Documents-bkp/UFRN/TCC/Project/Components/reg1b.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 <7[9Ca5G37DH667@4elP_2
|
||||||
|
!i10b 1
|
||||||
|
Adescription
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 5 reg1b 0 22 c3kDD]X@i6?hNNGhUU=0P2
|
||||||
|
l13
|
||||||
|
L12
|
||||||
|
V<^WQbbeY]He_Em0PV8f=i0
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R37
|
||||||
|
R38
|
||||||
|
R39
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 7024H1>j;e6f_8:1OOHeQ0
|
||||||
|
!i10b 1
|
||||||
|
Ereg2b
|
||||||
|
Z40 w1562119253
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z41 8E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd
|
||||||
|
Z42 FE:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd
|
||||||
|
l0
|
||||||
|
L4
|
||||||
|
VmDAAYSK_>@mOlQiDT9TXe0
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z43 !s108 1562550764.701000
|
||||||
|
Z44 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd|
|
||||||
|
Z45 !s107 E:/Documents-bkp/UFRN/TCC/Project/Components/reg2b.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 [cb?Qb?Wf25Pi1OJmz6ka0
|
||||||
|
!i10b 1
|
||||||
|
Adescription
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 5 reg2b 0 22 mDAAYSK_>@mOlQiDT9TXe0
|
||||||
|
l14
|
||||||
|
L12
|
||||||
|
VOn=P2IRWJR5[^]N;ioWGH2
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R43
|
||||||
|
R44
|
||||||
|
R45
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 MnKF4[V_O7eI7Nm6bFP[T1
|
||||||
|
!i10b 1
|
||||||
|
Ereg32b
|
||||||
|
Z46 w1561232354
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z47 8E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd
|
||||||
|
Z48 FE:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd
|
||||||
|
l0
|
||||||
|
L4
|
||||||
|
V3UXbc^3_]==_VnDiGmoh@3
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z49 !s108 1562550765.466000
|
||||||
|
Z50 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd|
|
||||||
|
Z51 !s107 E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 Zf^0kk?8QCjk0Il3T@n_A2
|
||||||
|
!i10b 1
|
||||||
|
Adescription
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 6 reg32b 0 22 3UXbc^3_]==_VnDiGmoh@3
|
||||||
|
l14
|
||||||
|
L12
|
||||||
|
V]M:2RJ7Nk?b?jWQ`ObU700
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R49
|
||||||
|
R50
|
||||||
|
R51
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 a5nNg:9Wj6oGhglb^<2D^1
|
||||||
|
!i10b 1
|
||||||
|
Ereg32b_falling_edge
|
||||||
|
Z52 w1562269877
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z53 8E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd
|
||||||
|
Z54 FE:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd
|
||||||
|
l0
|
||||||
|
L4
|
||||||
|
Vi@kkCle1Jb8:Y_hNFKh9@0
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z55 !s108 1562550764.063000
|
||||||
|
Z56 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd|
|
||||||
|
Z57 !s107 E:/Documents-bkp/UFRN/TCC/Project/Components/reg32b_falling_edge.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 _>Pi2ck[MEcc0MOaI4K<^1
|
||||||
|
!i10b 1
|
||||||
|
Adescription
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 19 reg32b_falling_edge 0 22 i@kkCle1Jb8:Y_hNFKh9@0
|
||||||
|
l14
|
||||||
|
L12
|
||||||
|
V__^[Y:zRld9dgUL@TFg:[2
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R55
|
||||||
|
R56
|
||||||
|
R57
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 V?8=GGffUa96_IlhnOf=W1
|
||||||
|
!i10b 1
|
||||||
|
Ereg3b
|
||||||
|
Z58 w1562119244
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z59 8E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd
|
||||||
|
Z60 FE:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd
|
||||||
|
l0
|
||||||
|
L4
|
||||||
|
V<@?h7?z=OiC`?0;2azmM=3
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z61 !s108 1562550764.501000
|
||||||
|
Z62 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd|
|
||||||
|
Z63 !s107 E:/Documents-bkp/UFRN/TCC/Project/Components/reg3b.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 HlZK5RO0_zK9lfQcgG=F41
|
||||||
|
!i10b 1
|
||||||
|
Adescription
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 5 reg3b 0 22 <@?h7?z=OiC`?0;2azmM=3
|
||||||
|
l14
|
||||||
|
L12
|
||||||
|
VeeSDml>U0RkH5D5kkGJWd0
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R61
|
||||||
|
R62
|
||||||
|
R63
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 F4YJVm9AI`WWbLG7giU^B0
|
||||||
|
!i10b 1
|
||||||
|
Ereg4b
|
||||||
|
Z64 w1562119023
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
R4
|
||||||
|
Z65 8E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd
|
||||||
|
Z66 FE:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd
|
||||||
|
l0
|
||||||
|
L4
|
||||||
|
VN0P:MI^eR3_O5TJW^[;OL2
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
Z67 !s108 1562550764.247000
|
||||||
|
Z68 !s90 -reportprogress|300|-93|-work|work|E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd|
|
||||||
|
Z69 !s107 E:/Documents-bkp/UFRN/TCC/Project/Components/reg4b.vhd|
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 ih2JK`>6?096z12E2aIAh3
|
||||||
|
!i10b 1
|
||||||
|
Adescription
|
||||||
|
R2
|
||||||
|
R3
|
||||||
|
DEx4 work 5 reg4b 0 22 N0P:MI^eR3_O5TJW^[;OL2
|
||||||
|
l14
|
||||||
|
L12
|
||||||
|
V`<3QSQ]_Vld7KM8fk1KGj3
|
||||||
|
R7
|
||||||
|
31
|
||||||
|
R67
|
||||||
|
R68
|
||||||
|
R69
|
||||||
|
R11
|
||||||
|
R12
|
||||||
|
!s100 kgYm`Glf<o6W?@M7=bb_U3
|
||||||
|
!i10b 1
|
|
@ -0,0 +1,3 @@
|
||||||
|
m255
|
||||||
|
K3
|
||||||
|
cModel Technology
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,36 @@
|
||||||
|
library verilog;
|
||||||
|
use verilog.vl_types.all;
|
||||||
|
entity microcontroller_vlg_check_tst is
|
||||||
|
port(
|
||||||
|
debug_ALU_input_0: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_input_1: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_operation: in vl_logic_vector(3 downto 0);
|
||||||
|
debug_ALU_output: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_output_from_EX: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_ALU_output_from_MEM: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_controller_state: in vl_logic_vector(2 downto 0);
|
||||||
|
debug_forward_mux_0: in vl_logic_vector(1 downto 0);
|
||||||
|
debug_forward_mux_1: in vl_logic_vector(1 downto 0);
|
||||||
|
debug_immediate : in vl_logic_vector(31 downto 0);
|
||||||
|
debug_instruction: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_mux0_sel : in vl_logic_vector(1 downto 0);
|
||||||
|
debug_mux0_sel_from_MEM: in vl_logic_vector(1 downto 0);
|
||||||
|
debug_PC_operation: in vl_logic_vector(2 downto 0);
|
||||||
|
debug_pc_output : in vl_logic_vector(31 downto 0);
|
||||||
|
debug_reg_file_read_address_0: in vl_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_read_address_0_ID_EXE: in vl_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_read_address_1: in vl_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_write_address_EX_MEM: in vl_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_write_address_from_MEM: in vl_logic_vector(4 downto 0);
|
||||||
|
debug_reg_file_write_from_MEM: in vl_logic;
|
||||||
|
debug_regfile_write: in vl_logic;
|
||||||
|
debug_regfile_x1_output: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x2_output: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_regfile_x31_output: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_0: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_0_from_ID: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_1: in vl_logic_vector(31 downto 0);
|
||||||
|
debug_register_file_output_1_from_ID: in vl_logic_vector(31 downto 0);
|
||||||
|
sampler_rx : in vl_logic
|
||||||
|
);
|
||||||
|
end microcontroller_vlg_check_tst;
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,9 @@
|
||||||
|
library verilog;
|
||||||
|
use verilog.vl_types.all;
|
||||||
|
entity microcontroller_vlg_sample_tst is
|
||||||
|
port(
|
||||||
|
clock : in vl_logic;
|
||||||
|
reset : in vl_logic;
|
||||||
|
sampler_tx : out vl_logic
|
||||||
|
);
|
||||||
|
end microcontroller_vlg_sample_tst;
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue