📄 ddr_sdram_mem_top.vhm
字号:
RST => RST,
CE => VCC,
DDRCLKPOL => ddrclkpol(3),
QA => ddr_read_data_0,
QB => ddr_read_data_16);
GND <= '0';
NN_1 <= '1';
end beh;
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library synplify;
use synplify.components.all;
library ecp2;
use ecp2.components.all;
entity bidi_cell_14 is
port(
ddr_read_data_16 : out std_logic;
ddr_read_data_0 : out std_logic;
ddrclkpol : in std_logic_vector(3 downto 3);
dqsin_clk : in std_logic_vector(3 downto 3);
ddr_write_data_d1_16 : in std_logic;
ddr_write_data_d1_0 : in std_logic;
dqsxfer_clk : in std_logic_vector(3 downto 3);
em_ddr_data : inout std_logic_vector(14 downto 14);
VCC : in std_logic;
k_clk_c : in std_logic;
ddr_write_data_valid_d0 : in std_logic;
rst_acth : in std_logic);
end bidi_cell_14;
architecture beh of bidi_cell_14 is
signal OUT_TO_BB : std_logic ;
signal OUT_EN_REG : std_logic ;
signal BB_TO_IN_TMP : std_logic ;
signal RST : std_logic ;
signal GND : std_logic ;
signal NN_1 : std_logic ;
component ODDRMXA
port(
DA : in std_logic;
DB : in std_logic;
CLK : in std_logic;
RST : in std_logic;
DQSXFER : in std_logic;
Q : out std_logic );
end component;
component IDDRMFX1A
port(
D : in std_logic;
ECLK : in std_logic;
CLK1 : in std_logic;
CLK2 : in std_logic;
RST : in std_logic;
CE : in std_logic;
DDRCLKPOL : in std_logic;
QA : out std_logic;
QB : out std_logic );
end component;
begin
U1_BB: BB port map (
B => em_ddr_data(14),
I => OUT_TO_BB,
T => OUT_EN_REG,
O => BB_TO_IN_TMP);
RST <= rst_acth;
U1_TODDRMXA: ODDRMXA port map (
DA => ddr_write_data_valid_d0,
DB => ddr_write_data_valid_d0,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(3),
Q => OUT_EN_REG);
U1_ODDRMXA: ODDRMXA port map (
DA => ddr_write_data_d1_0,
DB => ddr_write_data_d1_16,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(3),
Q => OUT_TO_BB);
U1_IDDRMFX1A: IDDRMFX1A port map (
D => BB_TO_IN_TMP,
ECLK => dqsin_clk(3),
CLK1 => k_clk_c,
CLK2 => k_clk_c,
RST => RST,
CE => VCC,
DDRCLKPOL => ddrclkpol(3),
QA => ddr_read_data_0,
QB => ddr_read_data_16);
GND <= '0';
NN_1 <= '1';
end beh;
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library synplify;
use synplify.components.all;
library ecp2;
use ecp2.components.all;
entity bidi_cell_13 is
port(
ddr_read_data_16 : out std_logic;
ddr_read_data_0 : out std_logic;
ddrclkpol : in std_logic_vector(0 downto 0);
dqsin_clk : in std_logic_vector(0 downto 0);
ddr_write_data_d1_16 : in std_logic;
ddr_write_data_d1_0 : in std_logic;
dqsxfer_clk : in std_logic_vector(0 downto 0);
em_ddr_data : inout std_logic_vector(0 downto 0);
VCC : in std_logic;
k_clk_c : in std_logic;
ddr_write_data_valid_d0 : in std_logic;
rst_acth : in std_logic);
end bidi_cell_13;
architecture beh of bidi_cell_13 is
signal OUT_TO_BB : std_logic ;
signal OUT_EN_REG : std_logic ;
signal BB_TO_IN_TMP : std_logic ;
signal RST : std_logic ;
signal GND : std_logic ;
signal NN_1 : std_logic ;
component ODDRMXA
port(
DA : in std_logic;
DB : in std_logic;
CLK : in std_logic;
RST : in std_logic;
DQSXFER : in std_logic;
Q : out std_logic );
end component;
component IDDRMFX1A
port(
D : in std_logic;
ECLK : in std_logic;
CLK1 : in std_logic;
CLK2 : in std_logic;
RST : in std_logic;
CE : in std_logic;
DDRCLKPOL : in std_logic;
QA : out std_logic;
QB : out std_logic );
end component;
begin
U1_BB: BB port map (
B => em_ddr_data(0),
I => OUT_TO_BB,
T => OUT_EN_REG,
O => BB_TO_IN_TMP);
RST <= rst_acth;
U1_TODDRMXA: ODDRMXA port map (
DA => ddr_write_data_valid_d0,
DB => ddr_write_data_valid_d0,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(0),
Q => OUT_EN_REG);
U1_ODDRMXA: ODDRMXA port map (
DA => ddr_write_data_d1_0,
DB => ddr_write_data_d1_16,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(0),
Q => OUT_TO_BB);
U1_IDDRMFX1A: IDDRMFX1A port map (
D => BB_TO_IN_TMP,
ECLK => dqsin_clk(0),
CLK1 => k_clk_c,
CLK2 => k_clk_c,
RST => RST,
CE => VCC,
DDRCLKPOL => ddrclkpol(0),
QA => ddr_read_data_0,
QB => ddr_read_data_16);
GND <= '0';
NN_1 <= '1';
end beh;
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library synplify;
use synplify.components.all;
library ecp2;
use ecp2.components.all;
entity bidi_cell_12 is
port(
ddr_read_data_16 : out std_logic;
ddr_read_data_0 : out std_logic;
ddrclkpol : in std_logic_vector(0 downto 0);
dqsin_clk : in std_logic_vector(0 downto 0);
ddr_write_data_d1_16 : in std_logic;
ddr_write_data_d1_0 : in std_logic;
dqsxfer_clk : in std_logic_vector(0 downto 0);
em_ddr_data : inout std_logic_vector(1 downto 1);
VCC : in std_logic;
k_clk_c : in std_logic;
ddr_write_data_valid_d0 : in std_logic;
rst_acth : in std_logic);
end bidi_cell_12;
architecture beh of bidi_cell_12 is
signal OUT_TO_BB : std_logic ;
signal OUT_EN_REG : std_logic ;
signal BB_TO_IN_TMP : std_logic ;
signal RST : std_logic ;
signal GND : std_logic ;
signal NN_1 : std_logic ;
component ODDRMXA
port(
DA : in std_logic;
DB : in std_logic;
CLK : in std_logic;
RST : in std_logic;
DQSXFER : in std_logic;
Q : out std_logic );
end component;
component IDDRMFX1A
port(
D : in std_logic;
ECLK : in std_logic;
CLK1 : in std_logic;
CLK2 : in std_logic;
RST : in std_logic;
CE : in std_logic;
DDRCLKPOL : in std_logic;
QA : out std_logic;
QB : out std_logic );
end component;
begin
U1_BB: BB port map (
B => em_ddr_data(1),
I => OUT_TO_BB,
T => OUT_EN_REG,
O => BB_TO_IN_TMP);
RST <= rst_acth;
U1_TODDRMXA: ODDRMXA port map (
DA => ddr_write_data_valid_d0,
DB => ddr_write_data_valid_d0,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(0),
Q => OUT_EN_REG);
U1_ODDRMXA: ODDRMXA port map (
DA => ddr_write_data_d1_0,
DB => ddr_write_data_d1_16,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(0),
Q => OUT_TO_BB);
U1_IDDRMFX1A: IDDRMFX1A port map (
D => BB_TO_IN_TMP,
ECLK => dqsin_clk(0),
CLK1 => k_clk_c,
CLK2 => k_clk_c,
RST => RST,
CE => VCC,
DDRCLKPOL => ddrclkpol(0),
QA => ddr_read_data_0,
QB => ddr_read_data_16);
GND <= '0';
NN_1 <= '1';
end beh;
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library synplify;
use synplify.components.all;
library ecp2;
use ecp2.components.all;
entity bidi_cell_11 is
port(
ddr_read_data_16 : out std_logic;
ddr_read_data_0 : out std_logic;
ddrclkpol : in std_logic_vector(1 downto 1);
dqsin_clk : in std_logic_vector(1 downto 1);
ddr_write_data_d1_16 : in std_logic;
ddr_write_data_d1_0 : in std_logic;
dqsxfer_clk : in std_logic_vector(1 downto 1);
em_ddr_data : inout std_logic_vector(6 downto 6);
VCC : in std_logic;
k_clk_c : in std_logic;
ddr_write_data_valid_d0 : in std_logic;
rst_acth : in std_logic);
end bidi_cell_11;
architecture beh of bidi_cell_11 is
signal OUT_TO_BB : std_logic ;
signal OUT_EN_REG : std_logic ;
signal BB_TO_IN_TMP : std_logic ;
signal RST : std_logic ;
signal GND : std_logic ;
signal NN_1 : std_logic ;
component ODDRMXA
port(
DA : in std_logic;
DB : in std_logic;
CLK : in std_logic;
RST : in std_logic;
DQSXFER : in std_logic;
Q : out std_logic );
end component;
component IDDRMFX1A
port(
D : in std_logic;
ECLK : in std_logic;
CLK1 : in std_logic;
CLK2 : in std_logic;
RST : in std_logic;
CE : in std_logic;
DDRCLKPOL : in std_logic;
QA : out std_logic;
QB : out std_logic );
end component;
begin
U1_BB: BB port map (
B => em_ddr_data(6),
I => OUT_TO_BB,
T => OUT_EN_REG,
O => BB_TO_IN_TMP);
RST <= rst_acth;
U1_TODDRMXA: ODDRMXA port map (
DA => ddr_write_data_valid_d0,
DB => ddr_write_data_valid_d0,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(1),
Q => OUT_EN_REG);
U1_ODDRMXA: ODDRMXA port map (
DA => ddr_write_data_d1_0,
DB => ddr_write_data_d1_16,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(1),
Q => OUT_TO_BB);
U1_IDDRMFX1A: IDDRMFX1A port map (
D => BB_TO_IN_TMP,
ECLK => dqsin_clk(1),
CLK1 => k_clk_c,
CLK2 => k_clk_c,
RST => RST,
CE => VCC,
DDRCLKPOL => ddrclkpol(1),
QA => ddr_read_data_0,
QB => ddr_read_data_16);
GND <= '0';
NN_1 <= '1';
end beh;
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library synplify;
use synplify.components.all;
library ecp2;
use ecp2.components.all;
entity bidi_cell_10 is
port(
ddr_read_data_16 : out std_logic;
ddr_read_data_0 : out std_logic;
ddrclkpol : in std_logic_vector(2 downto 2);
dqsin_clk : in std_logic_vector(2 downto 2);
ddr_write_data_d1_16 : in std_logic;
ddr_write_data_d1_0 : in std_logic;
dqsxfer_clk : in std_logic_vector(2 downto 2);
em_ddr_data : inout std_logic_vector(9 downto 9);
VCC : in std_logic;
k_clk_c : in std_logic;
ddr_write_data_valid_d0 : in std_logic;
rst_acth : in std_logic);
end bidi_cell_10;
architecture beh of bidi_cell_10 is
signal OUT_TO_BB : std_logic ;
signal OUT_EN_REG : std_logic ;
signal BB_TO_IN_TMP : std_logic ;
signal RST : std_logic ;
signal GND : std_logic ;
signal NN_1 : std_logic ;
component ODDRMXA
port(
DA : in std_logic;
DB : in std_logic;
CLK : in std_logic;
RST : in std_logic;
DQSXFER : in std_logic;
Q : out std_logic );
end component;
component IDDRMFX1A
port(
D : in std_logic;
ECLK : in std_logic;
CLK1 : in std_logic;
CLK2 : in std_logic;
RST : in std_logic;
CE : in std_logic;
DDRCLKPOL : in std_logic;
QA : out std_logic;
QB : out std_logic );
end component;
begin
U1_BB: BB port map (
B => em_ddr_data(9),
I => OUT_TO_BB,
T => OUT_EN_REG,
O => BB_TO_IN_TMP);
RST <= rst_acth;
U1_TODDRMXA: ODDRMXA port map (
DA => ddr_write_data_valid_d0,
DB => ddr_write_data_valid_d0,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(2),
Q => OUT_EN_REG);
U1_ODDRMXA: ODDRMXA port map (
DA => ddr_write_data_d1_0,
DB => ddr_write_data_d1_16,
CLK => k_clk_c,
RST => RST,
DQSXFER => dqsxfer_clk(2),
Q => OUT_TO_BB);
U1_IDDRMFX1A: IDDRMFX1A port map (
D => BB_TO_IN_TMP,
ECLK => dqsin_clk(2),
CLK1 => k_clk_c,
CLK2 => k_clk_c,
RST => RST,
CE => VCC,
DDRCLKPOL => ddrclkpol(2),
QA => ddr_read_data_0,
QB => ddr_read_data_16);
GND <= '0';
NN_1 <= '1';
end beh;
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
library synplify;
use synplify.components.all;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -