📄 tech_atc35.vhd
字号:
------------------------------------------------------------------------------ This file is a part of the LEON VHDL model-- Copyright (C) 1999 European Space Agency (ESA)---- This library is free software; you can redistribute it and/or-- modify it under the terms of the GNU Lesser General Public-- License as published by the Free Software Foundation; either-- version 2 of the License, or (at your option) any later version.---- See the file COPYING.LGPL for the full details of the license.------------------------------------------------------------------------------- Entity: tech_atc35-- File: tech_atc35.vhd-- Author: Jiri Gaisler - ESA/ESTEC-- Description: Contains Atmel ATC35 specific pads and ram generators------------------------------------------------------------------------------LIBRARY ieee;use IEEE.std_logic_1164.all;package tech_atc35 is-- sync ram generator component atc35_syncram generic ( abits : integer := 10; dbits : integer := 8 ); port ( address : in std_logic_vector(abits -1 downto 0); clk : in std_logic; datain : in std_logic_vector(dbits -1 downto 0); dataout : out std_logic_vector(dbits -1 downto 0); enable : in std_logic; write : in std_logic); end component;-- regfile generatorcomponent atc35_regfile_ss_dn generic ( abits : integer := 8; dbits : integer := 32; words : integer := 128 ); port ( clk : in std_logic; datain : in std_logic_vector (dbits -1 downto 0); raddr1 : in std_logic_vector (abits -1 downto 0); raddr2 : in std_logic_vector (abits -1 downto 0); waddr : in std_logic_vector (abits -1 downto 0); enable : in std_logic; write : in std_logic; dataout1 : out std_logic_vector (dbits -1 downto 0); dataout2 : out std_logic_vector (dbits -1 downto 0)); end component;component atc35_regfile_ss generic ( abits : integer := 8; dbits : integer := 32; words : integer := 128 ); port ( clk : in std_logic; datain : in std_logic_vector (dbits -1 downto 0); raddr1 : in std_logic_vector (abits -1 downto 0); raddr2 : in std_logic_vector (abits -1 downto 0); waddr : in std_logic_vector (abits -1 downto 0); enable : in std_logic; write : in std_logic; dataout1 : out std_logic_vector (dbits -1 downto 0); dataout2 : out std_logic_vector (dbits -1 downto 0)); end component;-- pads component pc3d01 port (pad : in std_logic; cin : out std_logic); end component; component pc3d21 port (pad : in std_logic; cin : out std_logic); end component; component pt3o01 port (i : in std_logic; pad : out std_logic); end component; component pt3o02 port (i : in std_logic; pad : out std_logic); end component; component pt3o03 port (i : in std_logic; pad : out std_logic); end component; component pc3t01u port (i, oen : in std_logic; pad : out std_logic); end component; component pc3t02u port (i, oen : in std_logic; pad : out std_logic); end component; component pc3t03u port (i, oen : in std_logic; pad : out std_logic); end component; component pt3b01 port ( i, oen : in std_logic; cin : out std_logic; pad : inout std_logic); end component; component pt3b02 port ( i, oen : in std_logic; cin : out std_logic; pad : inout std_logic); end component; component pt3b03 port ( i, oen : in std_logic; cin : out std_logic; pad : inout std_logic); end component; end;-------------------------------------------------------------------- behavioural ram models ------------------------------------------------------------------------------------------------------------ Only needed for simulation, not synthesis.-- Address, control and data signals latched on rising ME. -- Write enable (WEN) active low.-- pragma translate_offlibrary ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity RAM_256x26 is port ( add : in std_logic_vector(7 downto 0); di : in std_logic_vector(25 downto 0); do : out std_logic_vector(25 downto 0); me : in std_logic; wen : in std_logic );end;architecture behavioral of RAM_256x26 issignal we, vcc : std_logic;begin vcc <= '1'; we <= not wen; syncram0 : generic_syncram generic map ( abits => 8, dbits => 26) port map ( add, me, di, do, vcc, we);end behavioral;library ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity RAM_1024x32 is port ( add : in std_logic_vector(9 downto 0); di : in std_logic_vector(31 downto 0); do : out std_logic_vector(31 downto 0); me : in std_logic; wen : in std_logic );end;architecture behavioral of RAM_1024x32 issignal we, vcc : std_logic;begin vcc <= '1'; we <= not wen; syncram0 : generic_syncram generic map ( abits => 10, dbits => 32) port map ( add, me, di, do, vcc, we);end behavioral;library ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity RAM_2048x32 is port ( add : in std_logic_vector(10 downto 0); di : in std_logic_vector(31 downto 0); do : out std_logic_vector(31 downto 0); me : in std_logic; wen : in std_logic );end;architecture behavioral of RAM_2048x32 issignal we, vcc : std_logic;begin vcc <= '1'; we <= not wen; syncram0 : generic_syncram generic map ( abits => 11, dbits => 32) port map ( add, me, di, do, vcc, we);end behavioral;library ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity RAM_256x28 is port ( add : in std_logic_vector(7 downto 0); di : in std_logic_vector(27 downto 0); do : out std_logic_vector(27 downto 0); me : in std_logic; wen : in std_logic );end;architecture behavioral of RAM_256x28 issignal we, vcc : std_logic;begin vcc <= '1'; we <= not wen; syncram0 : generic_syncram generic map ( abits => 8, dbits => 28) port map ( add, me, di, do, vcc, we);end behavioral;library ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity RAM_1024x34 is port ( add : in std_logic_vector(9 downto 0); di : in std_logic_vector(33 downto 0); do : out std_logic_vector(33 downto 0); me : in std_logic; wen : in std_logic );end;architecture behavioral of RAM_1024x34 issignal we, vcc : std_logic;begin vcc <= '1'; we <= not wen; syncram0 : generic_syncram generic map ( abits => 10, dbits => 34) port map ( add, me, di, do, vcc, we);end behavioral;library ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity RAM_2048x34 is port ( add : in std_logic_vector(10 downto 0); di : in std_logic_vector(33 downto 0); do : out std_logic_vector(33 downto 0); me : in std_logic; wen : in std_logic );end;architecture behavioral of RAM_2048x34 issignal we, vcc : std_logic;begin vcc <= '1'; we <= not wen; syncram0 : generic_syncram generic map ( abits => 11, dbits => 34) port map ( add, me, di, do, vcc, we);end behavioral;LIBRARY ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity DPRAMRWRW_16X32 is port ( ADDA : in std_logic_vector(3 downto 0); ADDB : in std_logic_vector(3 downto 0); DIA : in std_logic_vector(31 downto 0); DIB : in std_logic_vector(31 downto 0); DOA : out std_logic_vector(31 downto 0); DOB : out std_logic_vector(31 downto 0); MEA : in std_logic; MEB : in std_logic; WENA : in std_logic; WENB : in std_logic );end;architecture behav of DPRAMRWRW_16X32 issignal wen : std_logic;begin wen <= not wenb; dp0 : generic_dpram_ss_dn generic map (abits => 4, dbits => 32, words => 16) port map ( dib, adda, addb, wen, mea, meb, doa);end;LIBRARY ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity DPRAMRWRW_136X32 is port ( ADDA : in std_logic_vector(7 downto 0); ADDB : in std_logic_vector(7 downto 0); DIA : in std_logic_vector(31 downto 0); DIB : in std_logic_vector(31 downto 0); DOA : out std_logic_vector(31 downto 0); DOB : out std_logic_vector(31 downto 0); MEA : in std_logic; MEB : in std_logic; WENA : in std_logic; WENB : in std_logic );end;architecture behav of DPRAMRWRW_136X32 issignal wen : std_logic;begin wen <= not wenb; dp0 : generic_dpram_ss_dn generic map (abits => 8, dbits => 32, words => 136) port map ( dib, adda, addb, wen, mea, meb, doa);end;LIBRARY ieee;use IEEE.std_logic_1164.all;use work.tech_generic.all;entity DPRAMRWRW_168X32 is port ( ADDA : in std_logic_vector(7 downto 0); ADDB : in std_logic_vector(7 downto 0); DIA : in std_logic_vector(31 downto 0); DIB : in std_logic_vector(31 downto 0); DOA : out std_logic_vector(31 downto 0); DOB : out std_logic_vector(31 downto 0); MEA : in std_logic; MEB : in std_logic; WENA : in std_logic; WENB : in std_logic );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -