⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddr_sdram_auk_ddr_datapath.vhd

📁 nois 2cpu 硬件实现编程
💻 VHD
字号:
--Legal Notice: (C)2006 Altera Corporation. All rights reserved.  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 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 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.-- turn off superfluous VHDL processor warnings -- altera message_level Level1 -- altera message_off 10034 10035 10036 10037 10230 10240 10030 library altera;use altera.altera_europa_support_lib.all;library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity ddr_sdram_auk_ddr_datapath is         port (              -- inputs:                 signal capture_clk : IN STD_LOGIC;                 signal clk : IN STD_LOGIC;                 signal control_be : IN STD_LOGIC_VECTOR (3 DOWNTO 0);                 signal control_doing_rd : IN STD_LOGIC;                 signal control_doing_wr : IN STD_LOGIC;                 signal control_dqs_burst : IN STD_LOGIC;                 signal control_wdata : IN STD_LOGIC_VECTOR (31 DOWNTO 0);                 signal control_wdata_valid : IN STD_LOGIC;                 signal postamble_clk : IN STD_LOGIC;                 signal reset_n : IN STD_LOGIC;                 signal resynch_clk : IN STD_LOGIC;                 signal write_clk : IN STD_LOGIC;              -- outputs:                 signal clk_to_sdram : OUT STD_LOGIC;                 signal clk_to_sdram_n : OUT STD_LOGIC;                 signal control_rdata : OUT STD_LOGIC_VECTOR (31 DOWNTO 0);                 signal ddr_dm : OUT STD_LOGIC_VECTOR (1 DOWNTO 0);                 signal ddr_dq : INOUT STD_LOGIC_VECTOR (15 DOWNTO 0);                 signal ddr_dqs : INOUT STD_LOGIC_VECTOR (1 DOWNTO 0)              );end entity ddr_sdram_auk_ddr_datapath;architecture europa of ddr_sdram_auk_ddr_datapath is  component ddr_sdram_auk_ddr_clk_gen isPORT (    signal clk_to_sdram : OUT STD_LOGIC;        signal clk_to_sdram_n : OUT STD_LOGIC;        signal clk : IN STD_LOGIC;        signal reset_n : IN STD_LOGIC      );  end component ddr_sdram_auk_ddr_clk_gen;  component ddr_sdram_auk_ddr_dqs_group isPORT (    signal ddr_dm : OUT STD_LOGIC;        signal ddr_dqs : INOUT STD_LOGIC;        signal control_rdata : OUT STD_LOGIC_VECTOR (15 DOWNTO 0);        signal ddr_dq : INOUT STD_LOGIC_VECTOR (7 DOWNTO 0);        signal capture_clk : IN STD_LOGIC;        signal resynch_clk : IN STD_LOGIC;        signal control_wdata : IN STD_LOGIC_VECTOR (15 DOWNTO 0);        signal reset_n : IN STD_LOGIC;        signal control_wdata_valid : IN STD_LOGIC;        signal write_clk : IN STD_LOGIC;        signal control_doing_wr : IN STD_LOGIC;        signal control_doing_rd : IN STD_LOGIC;        signal control_be : IN STD_LOGIC_VECTOR (1 DOWNTO 0);        signal control_dqs_burst : IN STD_LOGIC;        signal clk : IN STD_LOGIC;        signal postamble_clk : IN STD_LOGIC      );  end component ddr_sdram_auk_ddr_dqs_group;                signal be_temp :  STD_LOGIC_VECTOR (3 DOWNTO 0);                signal capture_clk_int :  STD_LOGIC;                signal internal_clk_to_sdram :  STD_LOGIC;                signal internal_clk_to_sdram_n :  STD_LOGIC;                signal internal_ddr_dm :  STD_LOGIC_VECTOR (1 DOWNTO 0);                signal postamble_clk_int :  STD_LOGIC;                signal rdata_temp :  STD_LOGIC_VECTOR (31 DOWNTO 0);                signal resynch_clk_int :  STD_LOGIC;                signal wdata_temp :  STD_LOGIC_VECTOR (31 DOWNTO 0);                signal write_clk_int :  STD_LOGIC;begin  --  --************************  -- Clock generator module   ddr_clk_gen : ddr_sdram_auk_ddr_clk_gen    port map(            clk => clk,            clk_to_sdram => internal_clk_to_sdram,            clk_to_sdram_n => internal_clk_to_sdram_n,            reset_n => reset_n    );  --  --**********************************  -- DQS group instantiation for dqs[0]   wdata_temp(15 DOWNTO 0) <= Std_Logic_Vector'(control_wdata(23 DOWNTO 16) & control_wdata(7 DOWNTO 0));  control_rdata(23 DOWNTO 16) <= rdata_temp(15 DOWNTO 8);  control_rdata(7 DOWNTO 0) <= rdata_temp(7 DOWNTO 0);  be_temp(1 DOWNTO 0) <= Std_Logic_Vector'(A_ToStdLogicVector(control_be(2)) & A_ToStdLogicVector(control_be(0)));  \g_datapath:0:g_ddr_io\ : ddr_sdram_auk_ddr_dqs_group    port map(            capture_clk => capture_clk_int,            clk => clk,            control_be => be_temp(1 DOWNTO 0),            control_doing_rd => control_doing_rd,            control_doing_wr => control_doing_wr,            control_dqs_burst => control_dqs_burst,            control_rdata => rdata_temp(15 DOWNTO 0),            control_wdata => wdata_temp(15 DOWNTO 0),            control_wdata_valid => control_wdata_valid,            ddr_dm => internal_ddr_dm(0),            ddr_dq => ddr_dq(7 DOWNTO 0),            ddr_dqs => ddr_dqs(0),            postamble_clk => postamble_clk_int,            reset_n => reset_n,            resynch_clk => resynch_clk_int,            write_clk => write_clk_int    );  --  --**********************************  -- DQS group instantiation for dqs[1]   wdata_temp(31 DOWNTO 16) <= Std_Logic_Vector'(control_wdata(31 DOWNTO 24) & control_wdata(15 DOWNTO 8));  control_rdata(31 DOWNTO 24) <= rdata_temp(31 DOWNTO 24);  control_rdata(15 DOWNTO 8) <= rdata_temp(23 DOWNTO 16);  be_temp(3 DOWNTO 2) <= Std_Logic_Vector'(A_ToStdLogicVector(control_be(3)) & A_ToStdLogicVector(control_be(1)));  \g_datapath:1:g_ddr_io\ : ddr_sdram_auk_ddr_dqs_group    port map(            capture_clk => capture_clk_int,            clk => clk,            control_be => be_temp(3 DOWNTO 2),            control_doing_rd => control_doing_rd,            control_doing_wr => control_doing_wr,            control_dqs_burst => control_dqs_burst,            control_rdata => rdata_temp(31 DOWNTO 16),            control_wdata => wdata_temp(31 DOWNTO 16),            control_wdata_valid => control_wdata_valid,            ddr_dm => internal_ddr_dm(1),            ddr_dq => ddr_dq(15 DOWNTO 8),            ddr_dqs => ddr_dqs(1),            postamble_clk => postamble_clk_int,            reset_n => reset_n,            resynch_clk => resynch_clk_int,            write_clk => write_clk_int    );  --vhdl renameroo for output signals  clk_to_sdram <= internal_clk_to_sdram;  --vhdl renameroo for output signals  clk_to_sdram_n <= internal_clk_to_sdram_n;  --vhdl renameroo for output signals  ddr_dm <= internal_ddr_dm;--synthesis translate_off    write_clk_int <=  transport NOT clk after 2941.25 ps ;    resynch_clk_int <=  transport NOT clk after 2941.25 ps ;    postamble_clk_int <=  transport NOT clk after 2941.25 ps ;    capture_clk_int <= capture_clk;--synthesis translate_on--synthesis read_comments_as_HDL on--    write_clk_int <= write_clk;--    resynch_clk_int <= resynch_clk;--    postamble_clk_int <= postamble_clk;--    capture_clk_int <= capture_clk;--synthesis read_comments_as_HDL offend europa;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -