Kaip pastatyti du dviejų uosto RAM?

L

lzh08

Guest
kaip statyti dvi dvigubos uosto RAM naudojant M4K?
Noriu naudoti M4K pastatyti du dviejų uosto RAM, kiekvienam dvigubą uosto RAM įtraukti 64k bitų, iš viso yra 128k bitų.

taip po sudaryti ataskaitą.
Iš viso naudojama atminties bitai: 65536/239216.
Kodėl? Manau, rezultatas turėtų būti 131072/239216.
kaip statyti dvi dvigubos uosto RAM?
naudoti "kurti"?
--- kodas
naudoti IEEE.STD_LOGIC_1164.all;
naudoti IEEE.STD_LOGIC_ARITH.all;
naudoti IEEE.STD_LOGIC_UNSIGNED.all;

subjektas dualportram yra
uostas
(
CLK: in std_logic;
dout: Inout std_logic_vector (7 downto 0)
)
pabaigos dualportram;

Architektūra veiksmų dualportram yra

komponentas lpmramdp_1
PORT
(
duomenys: STD_LOGIC_VECTOR (15 DOWNTO 0);
Karetaitė: IN STD_LOGIC: = '1 ';
wraddress: IN STD_LOGIC_VECTOR (11 DOWNTO 0);
rdaddress: IN STD_LOGIC_VECTOR (12 DOWNTO 0);
Clock: IN STD_LOGIC;
Q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)
)
end component;

komponentas lpmramdp_2
PORT
(
duomenys: STD_LOGIC_VECTOR (15 DOWNTO 0);
Karetaitė: IN STD_LOGIC: = '1 ';
wraddress: IN STD_LOGIC_VECTOR (11 DOWNTO 0);
rdaddress: IN STD_LOGIC_VECTOR (12 DOWNTO 0);
Clock: IN STD_LOGIC;
Q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0)
)
end component;

signalas wrCount_1: std_logic_vector (11 DOWNTO 0);
signalas rdCount_1: std_logic_vector (12 DOWNTO 0);
signalas dataIn_1: std_logic_vector (15 downto 0);
signalas wrCount_2: std_logic_vector (11 DOWNTO 0);
signalas rdCount_2: std_logic_vector (12 DOWNTO 0);
signalas dataIn_2: std_logic_vector (15 downto 0);
- signalas dataOut: std_logic_vector (7 downto 0);

pradėti
procesas (CLK)
pradėti
jei rising_edge (CLK), tada
wrCount_1 <= wrCount_1 1;
rdCount_1 <= rdCount_1 1;
wrCount_2 <= wrCount_2 1;
rdCount_2 <= rdCount_2 1;
end if;
galutinio proceso;

U1: lpmramdp_1
Uosto žemėlapis
(
Duomenų => dataIn_1,
Karetaitė => '1 ',
wraddress => wrCount_1,
rdaddress => rdCount_1,
Laikrodis => CLK,
q => dout
)

U2: lpmramdp_2
Uosto žemėlapis
(
Duomenų => dataIn_2,
Karetaitė => '1 ',
wraddress => wrCount_2,
rdaddress => rdCount_2,
Laikrodis => CLK,
q => dout
)
pabaigoje

 

Welcome to EDABoard.com

Sponsor

Back
Top