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

📄 altmemddr_phy_alt_mem_phy_ciii.v

📁 nios里面用自定义指令集来实现三角函数
💻 V
📖 第 1 页 / 共 5 页
字号:
//`ifdef ALT_MEM_PHY_DEFINES`else`include "alt_mem_phy_defines.v"`endif//module altmemddr_phy_alt_mem_phy_ciii    (                        // Clock and reset :                        pll_ref_clk,                        global_reset_n,                        soft_reset_n,                                                reset_request_n,                        phy_clk,                        reset_phy_clk_n,                        // Local interface (Avalon or other) inputs to MUX :                        local_address,                        local_read_req,                        local_wdata,                        local_write_req,                        local_size,                        local_be,                        local_refresh_req,                        local_burstbegin,                        // MUX outputs to Local interface (Avalon or other) :                        local_ready,                        local_wdata_req,                        local_refresh_ack,                        // NB. rdata is potentially delayed in the controller and then passed-thru :                        local_rdata,                        local_rdata_valid,                        local_init_done,                        // Outputs from the MUX to the controller :                        ctl_address,                        ctl_read_req,                        ctl_wdata,                        ctl_write_req,                        ctl_size,                        ctl_be,                        ctl_refresh_req,                        ctl_burstbegin,                        // Inputs to the MUX, from the controller :                        ctl_ready,                        ctl_wdata_req,                        // Pass-thru inputs from controller - delayed versions of ctl_mem_rdata:                        ctl_rdata,                        ctl_rdata_valid,                        ctl_refresh_ack,                        // Controller interface                        // Controller outputs to the Phy, to be re-timed and de-muxed to memory :                        ctl_mem_addr_h,                        ctl_mem_addr_l,                        ctl_mem_ba_h,                        ctl_mem_ba_l,                        ctl_mem_cas_n_h,                        ctl_mem_cas_n_l,                        ctl_mem_cke_h,                        ctl_mem_cke_l,                        ctl_mem_cs_n_h,                        ctl_mem_cs_n_l,                        ctl_mem_odt_h,                        ctl_mem_odt_l,                        ctl_mem_ras_n_h,                        ctl_mem_ras_n_l,                        ctl_mem_we_n_h,                        ctl_mem_we_n_l,                        ctl_mem_be,                        ctl_mem_dqs_burst,                        ctl_mem_wdata,                        ctl_mem_wdata_valid,                        //QDRII signals - UNUSED FOR CIII                        ctl_mem_wps_n,                        ctl_mem_rps_n,                        // Read path from memory, through Phy and output back to controller :                        ctl_mem_rdata,                        ctl_mem_rdata_valid,                        // Local interface inputs from the controller to the PHY :                        ctl_init_done,                        ctl_doing_rd,                        ctl_add_1t_ac_lat,                        ctl_add_1t_odt_lat,                        ctl_add_intermediate_regs,                        ctl_negedge_en,                        // PHY output to the controller or system indicating ready :                        ctl_usr_mode_rdy,                        // DIMM outputs :                        mem_addr,                        mem_ba,                        mem_cas_n,                        mem_cke,                        mem_cs_n,                        mem_d,                        mem_dm,                        mem_odt,                        mem_ras_n,                        mem_we_n,                        mem_clk,                        mem_clk_n,                        mem_reset_n,                        mem_doff_n,                        // Bidirectional DIMM signals:                        mem_dq,                        mem_dqs,                        mem_dqsn,                        // QDRII outputs :                        mem_rps_n,                        mem_wps_n,                        // Sequencer debug outputs :                        resynchronisation_successful,                        postamble_successful,                        tracking_successful,                        tracking_adjustment_up,                        tracking_adjustment_down,                        // DLL import/export ports - !UNUSED for SIII!                        dqs_delay_ctrl_import,                        dqs_delay_ctrl_export,                        dll_reference_clk,                                               // PLL reconfig interface - !UNUSED for CIII!                        pll_reconfig_clk,                            pll_reconfig_reset,                          pll_reconfig_data_out,                        pll_reconfig_busy,                                                // PLL reconfig inputs for HCII :                        pll_reconfig_enable,                        pll_reconfig_counter_type,                        pll_reconfig_counter_param,                        pll_reconfig_data_in,                        pll_reconfig_read_param,                        pll_reconfig_write_param,                        pll_reconfig                                              );// Default parameter values :parameter AC_PHASE                           =        "MEM_CLK";parameter ADDR_CMD_ADD_INTERMEDIATE_REGS     =     "EXT_SELECT";parameter ADDR_CMD_ADD_1T                    =     "EXT_SELECT";parameter ADDR_CMD_NEGEDGE_EN                =     "EXT_SELECT";parameter ADDR_CMD_2T_EN                     =                1;parameter ADDR_COUNT_WIDTH                   =                4;parameter BIDIR_DPINS                        =                1;parameter CAPTURE_MIMIC_PATH                 =                0;parameter CLOCK_INDEX_WIDTH                  =                3;parameter DDR_MIMIC_PATH_EN                  =                1;parameter DEDICATED_MEMORY_CLK_EN            =                0;parameter DLL_EXPORT_IMPORT                  =           "NONE";parameter DLL_DELAY_BUFFER_MODE              =           "HIGH";parameter DLL_DELAY_CHAIN_LENGTH             =               10;parameter DQS_OUT_MODE                       =   "DELAY_CHAIN2";parameter DQS_PHASE                          =               72;parameter DQS_PHASE_SETTING                  =                2;parameter DWIDTH_RATIO                       =                4;parameter ENABLE_DEBUG                       =                0;parameter FAMILY                             =      "Cyclone III";parameter GENERATE_WRITE_DQS                 =                1;parameter LOCAL_IF_CLK_PS                    =             4000;parameter LOCAL_IF_AWIDTH                    =               26;parameter LOCAL_IF_BURST_LENGTH              =                1;parameter LOCAL_IF_DWIDTH                    =              256;parameter LOCAL_IF_DRATE                     =           "HALF";parameter [39:0] LOCAL_IF_TYPE_AVALON_STR    =           "true";parameter LOCAL_BURST_LEN_BITS               =                1;parameter MEM_ADDR_CMD_BUS_COUNT             =                1;parameter MEM_TCL                            =            "1.5";parameter MEM_IF_MEMTYPE                     =            "DDR";parameter MEM_IF_DQSN_EN                     =                1;parameter MEM_IF_DWIDTH                      =               64;parameter MEM_IF_ROWADDR_WIDTH               =               13;parameter MEM_IF_BANKADDR_WIDTH              =                3;parameter MEM_IF_PHY_NAME                    =  "STRATIXII_DQS";parameter MEM_IF_CS_WIDTH                    =                2;parameter MEM_IF_BE_WIDTH                    =               32;parameter MEM_IF_DM_WIDTH                    =                8;parameter MEM_IF_DM_PINS_EN                  =                1;parameter MEM_IF_DQ_PER_DQS                  =                8;parameter MEM_IF_DQS_CAPTURE_EN              =                0;parameter MEM_IF_DQS_WIDTH                   =                8;parameter MEM_IF_OCT_EN                      =                0;parameter MEM_IF_POSTAMBLE_EN_WIDTH          =                8;parameter MEM_IF_CLK_PAIR_COUNT              =                3;parameter MEM_IF_CLK_PS                      =             4000;parameter MEM_IF_CLK_PS_STR                  =        "4000 ps";parameter MIF_FILENAME                       =        "PLL.MIF";parameter MIMIC_DEBUG_EN                     =                0;parameter MIMIC_PATH_TRACKING_EN             =                1;parameter NUM_MIMIC_SAMPLE_CYCLES            =                6;parameter NUM_DEBUG_SAMPLES_TO_STORE         =             4096;parameter ODT_ADD_1T                         =     "EXT_SELECT";parameter PLL_EXPORT_IMPORT                  =           "NONE";parameter PLL_REF_CLK_PS                     =             4000;parameter PLL_STEPS_PER_CYCLE                =               24;parameter PLL_TYPE                           =       "ENHANCED";parameter PLL_RECONFIG_PORTS_EN              =                0;parameter POSTAMBLE_INITIAL_LAT              =               16;parameter POSTAMBLE_AWIDTH                   =                6;parameter POSTAMBLE_CALIBRATION_AND_SETUP_EN =                1;parameter POSTAMBLE_HALFT_EN                 =                0;parameter POSTAMBLE_RESYNC_LAT_CTL_EN        =                0;parameter RDP_INITIAL_LAT                    =                6;parameter RDP_RESYNC_LAT_CTL_EN              =                0;parameter RESYNC_CALIBRATION_AND_SETUP_EN    =                1;parameter RESYNC_CALIBRATE_ONLY_ONE_BIT_EN   =                0;parameter RESYNC_PIPELINE_DEPTH              =                2; parameter READ_LAT_WIDTH                     =                6;parameter SPEED_GRADE                        =             "C3";parameter TRAINING_DATA_WIDTH                =               32;parameter SCAN_CLK_DIVIDE_BY                 =                2;parameter USE_MEM_CLK_FOR_ADDR_CMD_CLK       =                1;parameter ENABLE_DDR3_SEQUENCER              =          "FALSE";parameter QDRII_MEM_DLL_NUM_CLK_CYCLES       =             2048;  parameter DQS_DELAY_CTL_WIDTH                =                6;parameter REG_DIMM                           =          "FALSE";// I/O Signal definitions :// Clock and reset I/O :input  wire                                              pll_ref_clk;input  wire                                              global_reset_n;input  wire                                              soft_reset_n;// This is the PLL locked signal :output wire                                              reset_request_n;// The controller must use this phy_clk to interface to the PHY.  It is// optional as to whether the remainder of the system uses it :output wire                                              phy_clk;output wire                                              reset_phy_clk_n;// Local interface I/O :input wire [LOCAL_IF_AWIDTH - 1 : 0]                     local_address;input wire                                               local_read_req;input wire [LOCAL_IF_DWIDTH - 1 : 0]                     local_wdata;input wire                                               local_write_req;input wire [LOCAL_BURST_LEN_BITS - 1 : 0]                local_size;// For v6.1, byte enables are supported, but nibble enables (aka x4 DM support)// is unsupported :input wire [(LOCAL_IF_DWIDTH/8) - 1 : 0]                 local_be;input wire                                               local_refresh_req;input wire                                               local_burstbegin;output wire                                              local_ready;output wire [LOCAL_IF_DWIDTH - 1 : 0]                    local_rdata;output wire                                              local_rdata_valid;output wire                                              local_init_done;output wire                                              local_refresh_ack;// This is the output from the MUX that shall be either ctl_wdata_req or// tied low, it may not be called ctl_wdata_req, as this is the existing// input.output wire                                              local_wdata_req;// Output addr, wdata etc. to the controller, these are sourced either from the// local interface or the sequencer.// So the whole datapath for address and wdata is that the ctl_address and ctl_wdata// here are simply pass-throughs of either local_address/wdata or the sequencer// address and wdata outputs.  They are input to the controller, which then a few// clocks later shall output the same data but timed and formatted as required for the// memory on ctl_mem_addr_h/l and ctl_mem_wdata :output wire [LOCAL_IF_AWIDTH - 1 : 0]                    ctl_address;output wire                                              ctl_read_req;output wire [LOCAL_IF_DWIDTH - 1 : 0]                    ctl_wdata;output wire                                              ctl_write_req;// The "size" and byte enable outputs to the controller shall either be tied// if the sequencer is driving the controller, or shall reflect the local_if// size and 'be' signalsoutput wire [LOCAL_BURST_LEN_BITS  - 1 : 0]              ctl_size;// For v6.1, byte enables are supported, but nibble enables (aka x4 DM support)// is unsupported :output wire [(LOCAL_IF_DWIDTH/8) - 1 : 0]                ctl_be;output wire                                              ctl_refresh_req;output wire                                              ctl_burstbegin;input wire                                               ctl_ready;input wire                                               ctl_wdata_req;input wire [LOCAL_IF_DWIDTH - 1 : 0]                     ctl_rdata;input wire                                               ctl_rdata_valid;input wire                                               ctl_refresh_ack;input wire [MEM_IF_ROWADDR_WIDTH -1:0]                   ctl_mem_addr_h;input wire [MEM_IF_ROWADDR_WIDTH -1:0]                   ctl_mem_addr_l;

⌨️ 快捷键说明

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