亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? micro.v

?? sdram控制的內核
?? V
字號:
`include "tst_inc.h"`include "inc.h"//*******************************************************************************//  S Y N T H E S I Z A B L E      S D R A M     C O N T R O L L E R    C O R E////  This core adheres to the GNU Public License  // //  This is a synthesizable Synchronous DRAM controller Core.  As it stands,//  it is ready to work with 8Mbyte SDRAMs, organized as 2M x 32 at 100MHz//  and 125MHz. For example: Samsung KM432S2030CT,  Fujitsu MB81F643242B.////  The core has been carefully coded so as to be "platform-independent".  //  It has been successfully compiled and simulated under three separate//  FPGA/CPLD platforms://      Xilinx Foundation Base Express V2.1i//      Altera Max+PlusII V9.21//      Lattice ispExpert V7.0//  //  The interface to the host (i.e. microprocessor, DSP, etc) is synchronous//  and supports ony one transfer at a time.  That is, burst-mode transfers//  are not yet supported.  In may ways, the interface to this core is much//  like that of a typical SRAM.  The hand-shaking between the host and the //  SDRAM core is done through the "sdram_busy_l" signal generated by the //  core.  Whenever this signal is active low, the host must hold the address,//  data (if doing a write), size and the controls (cs, rd/wr).  ////  Connection Diagram://  SDRAM side://  sd_wr_l                     connect to -WR pin of SDRAM//  sd_cs_l                     connect to -CS pin of SDRAM//  sd_ras_l                    connect to -RAS pin of SDRAM//  sd_cas_l                    connect to -CAS pin of SDRAM//  sd_dqm[3:0]                 connect to the DQM3,DQM2,DQM1,DQM0 pins//  sd_addx[10:0]               connect to the Address bus [10:0]//  sd_data[31:0]               connect to the data bus [31:0]//  sd_ba[1:0]                  connect to BA1, BA0 pins of SDRAM//   //  HOST side://  mp_addx[22:0]               connect to the address bus of the host. //                              23 bit address bus give access to 8Mbyte//                              of the SDRAM, as byte, half-word (16bit)//                              or word (32bit)//  mp_data_in[31:0]            Unidirectional bus connected to the data out//                              of the host. To use this, enable //                              "databus_is_unidirectional" in INC.H//  mp_data_out[31:0]           Unidirectional bus connected to the data in //                              of the host.  To use this, enable//                              "databus_is_unidirectional" in INC.H//  mp_data[31:0]               Bi-directional bus connected to the host's//                              data bus.  To use the bi-directionla bus,//                              disable "databus_is_unidirectional" in INC.H//  mp_rd_l                     Connect to the -RD output of the host//  mp_wr_l                     Connect to the -WR output of the host//  mp_cs_l                     Connect to the -CS of the host//  mp_size[1:0]                Connect to the size output of the host//                              if there is one.  When set to 0//                              all trasnfers are 32 bits, when set to 1//                              all transfers are 8 bits, and when set to//                              2 all xfers are 16 bits.  If you want the//                              data to be lower order aligned, turn on//                              "align_data_bus" option in INC.H//  sdram_busy_l                Connect this to the wait or hold equivalent//                              input of the host.  The host, must hold the//                              bus if it samples this signal as low.//  sdram_mode_set_l            When a write occurs with this set low,//                              the SDRAM's mode set register will be programmed//                              with the data supplied on the data_bus[10:0].//////  Author:  Jeung Joon Lee  joon.lee@quantum.com,  cmosexod@ix.netcom.com//  //*******************************************************************************////  Hierarchy:////  SDRAM.V         Top Level Module//  HOSTCONT.V      Controls the interfacing between the micro and the SDRAM//  SDRAMCNT.V      This is the SDRAM controller.  All data passed to and from//                  is with the HOSTCONT.//  optional//  MICRO.V         This is the built in SDRAM tester.  This module generates //                  a number of test logics which is used to test the SDRAM//                  It is basically a Micro bus generator. //  /**/ module micro(                // system connections                sys_clk,                sys_rst_l,                // Connections to the HOSTCONT.V                sdram_busy_l,                mp_addx,                mp_data_out,                mp_data_in,                mp_wr_l,                mp_rd_l,                mp_cs_l,                mp_size,                next_state,                data_is_correct,                sdram_mode_set_l,                           // debug                top_state                );// ****************************************////   I/O  DEFINITION//// ****************************************// system connectionsinput           sys_clk;            // main system clockinput           sys_rst_l;          // main system reset// connections to the SDRAM CONTROLLERinput           sdram_busy_l;       output  [22:0]  mp_addx;output          mp_wr_l;output          mp_rd_l;output          mp_cs_l;output  [1:0]   mp_size;input   [3:0]   next_state;output  [31:0]  mp_data_out;        // data bus to the SDRAM controllerinput   [31:0]  mp_data_in;         // data bus from the SDRAM controlleroutput          data_is_correct;output          sdram_mode_set_l;// debugoutput  [3:0]   top_state;// Intermodule connectionswire    [7:0]   bus_state;wire            data_ena;wire    [31:0]  mp_data_out;wire    [31:0]  mp_data_in;wire    [1:0]   mp_size;// Memory element definitionsreg     [3:0]   top_state;reg             mp_cs_l;reg             mp_wr_l;reg             mp_rd_l;reg     [31:0]  reg_mp_data_out;reg     [22:0]  reg_mp_addx;reg     [22:0]  reg_byte_counter;reg             data_is_correct;reg             sdram_mode_set_l;/*** SINGLE WRITE FOLLOWED BY GAP THEN FOLLOWED BY SINGLE READ TEST***/`ifdef do_read_write_test`endif/*** BURST WRITE FOLLOWED BY GAP THEN FOLLOWED BY BURST READ TEST***/`ifdef do_burst_write_read_test`endif/*** A ONE-TIME BURST WRITE FOLLOWED BY GAP THEN FOLLOWED BY MANY BURST READ TEST***/`ifdef do_single_burst_write_read_test// the number of  write/read in the test`define     RW_COUNT           23'h000015// number of clock ticks between the reads.`define     GAP_DELAY          23'h000030   // define the amount of address delta`define     MP_ADDX_DELTA       23'h000001// define the amount of data delta`define     MP_DATA_DELTA       32'h01010101// Micro Simulator State Machine State Definitions`define         powerup_delay            4'h0`define         burst_write_cs           4'h1`define         burst_write_assert_wr    4'h2`define         burst_write_wait_4_busy  4'h3`define         burst_write_deassert_wr  4'h4`define         burst_wr_rd_delay        4'h5`define         burst_read_cs            4'h6`define         burst_read_assert_rd     4'h7`define         burst_read_wait_4_busy   4'h8`define         burst_read_deassert_rd   4'h9`define         request_modereg          4'ha`define         SIZE_IS_BYTE        2'b01`define         SIZE_IS_HALF_WORD   2'b10`define         SIZE_IS_WORD        2'b00assign  mp_size      = `SIZE_IS_BYTE;assign  mp_addx      = reg_mp_addx;assign  mp_data_out  = reg_mp_data_out;always @(posedge sys_clk or negedge sys_rst_l)  if (~sys_rst_l) begin     top_state          <= `powerup_delay;      // initialze state     mp_cs_l <= `HI;     mp_wr_l <= `HI;     mp_rd_l <= `HI;          reg_mp_addx        <= 23'h000000;          // reset address counter     reg_mp_data_out    <= 32'h00000000;        // reset data counter     reg_byte_counter   <= 23'h000000;          // clear byte counter     data_is_correct    <= `HI;                 // correct by default     sdram_mode_set_l   <= `HI;                 // do not issue mode reg change by default  end  else case (top_state)        // Wait until the SDRAM has completed its power-up sequences     `powerup_delay:  begin          sdram_mode_set_l <= `HI;          if (next_state==`state_idle)             top_state <= `burst_write_cs;// go and do burst write          else            top_state <= `powerup_delay;      end            // Assert MP CS to begin the write     `burst_write_cs:  begin         mp_cs_l  <= `LO;         top_state   <= `burst_write_assert_wr;     end    // Assert MP WR     `burst_write_assert_wr: begin         mp_wr_l <= `LO;         top_state <= `burst_write_wait_4_busy;    end            // Wait until the SDRAM controller is no longer busy    `burst_write_wait_4_busy:         if (~sdram_busy_l)            top_state <= `burst_write_wait_4_busy;         else             top_state <= `burst_write_deassert_wr;    // Deassert the WR, and check to see if it has completed all writes         `burst_write_deassert_wr:  begin        mp_wr_l   <= `HI;       // deassert WR        if (reg_byte_counter == `RW_COUNT) begin            reg_mp_addx <= 0;            reg_mp_data_out <= 0;            reg_byte_counter <= 0;              // reset the counter            mp_cs_l <= `HI;            top_state <= `burst_wr_rd_delay;        end else begin            reg_mp_addx      <= reg_mp_addx      + `MP_ADDX_DELTA;            reg_mp_data_out  <= reg_mp_data_out  + `MP_DATA_DELTA;            reg_byte_counter <= reg_byte_counter + 1;       // one IO done            top_state <= `burst_write_assert_wr;        end    end         // Wait here and kill GAP_DELAY number of cycles    `burst_wr_rd_delay:          if (reg_byte_counter != `GAP_DELAY) begin            reg_byte_counter <= reg_byte_counter + 1;            top_state <= `burst_wr_rd_delay;        end else begin            reg_byte_counter <= 23'h000000;            top_state <= `burst_read_cs;        end     // Assert MP CS to prepare for reads     `burst_read_cs: begin        mp_cs_l <= `LO;     // assert CS        top_state <= `burst_read_assert_rd;      end            // Assert MP RD     `burst_read_assert_rd: begin        mp_rd_l <= `LO;        top_state <= `burst_read_wait_4_busy;     end     // Wait until the SDRAM Controller is no longer busy     `burst_read_wait_4_busy:         if (~sdram_busy_l)            top_state <= `burst_read_wait_4_busy;        else            top_state <= `burst_read_deassert_rd;                 // Deassert MP RD and Prepare for the next resd,      `burst_read_deassert_rd: begin          if (mp_data_in != reg_mp_data_out)  begin            data_is_correct <= `LO;        end         mp_rd_l   <= `HI;       // deassert RD        if (reg_byte_counter == `RW_COUNT) begin            reg_mp_addx <= 0;            reg_mp_data_out <= 0;            reg_byte_counter <= 0;              // reset the counter            mp_cs_l <= `HI;            top_state <= `burst_wr_rd_delay;        end else begin            reg_mp_addx      <= reg_mp_addx      + `MP_ADDX_DELTA;  // increment addx            reg_mp_data_out  <= reg_mp_data_out  + `MP_DATA_DELTA;  // increment data expected            reg_byte_counter <= reg_byte_counter + 1;       // one IO done            top_state <= `burst_read_assert_rd;                 end     end  endcase  `endifendmodule

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩理论片一区二区| 99久久精品国产导航| 欧美成人性战久久| 久久99精品久久久| xf在线a精品一区二区视频网站| 国产精品自拍一区| 国产精品久久久久影院色老大| 成人免费视频国产在线观看| 亚洲人成人一区二区在线观看| 欧美亚洲图片小说| 日韩成人免费在线| 久久蜜桃av一区精品变态类天堂 | 亚洲黄色片在线观看| 色天使久久综合网天天| 亚洲福利一区二区三区| 欧美一级片免费看| 懂色av一区二区三区免费观看| 国产精品另类一区| 欧美在线观看你懂的| 日本午夜精品一区二区三区电影| 精品免费视频一区二区| 顶级嫩模精品视频在线看| 伊人性伊人情综合网| 69p69国产精品| 国产乱子伦一区二区三区国色天香| 国产精品午夜在线| 欧美高清视频不卡网| 久草中文综合在线| 亚洲日本丝袜连裤袜办公室| 69久久夜色精品国产69蝌蚪网| 国产真实乱偷精品视频免| 日韩理论片中文av| 日韩欧美一二区| 91丨九色丨黑人外教| 蜜桃视频在线观看一区二区| 国产日韩影视精品| 欧美日韩国产成人在线91| 国产福利一区二区三区视频| 五月激情六月综合| 国产精品免费看片| 欧美一区二区三级| 色综合色综合色综合色综合色综合 | 日韩高清一区二区| 亚洲国产电影在线观看| 日韩一区二区在线免费观看| 99久久精品情趣| 久久不见久久见中文字幕免费| 亚洲蜜臀av乱码久久精品蜜桃| 日韩精品一区二区在线| 在线观看不卡一区| 成人黄色在线看| 韩国精品主播一区二区在线观看| 亚洲一二三区不卡| 中文字幕制服丝袜成人av| 精品少妇一区二区三区免费观看| 欧美私人免费视频| 9人人澡人人爽人人精品| 国产精品18久久久久久久久久久久| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲线精品一区二区三区| 国产无一区二区| 精品国产乱码久久久久久牛牛| 欧美日韩专区在线| 94色蜜桃网一区二区三区| 国产91丝袜在线观看| 麻豆成人av在线| 日韩精品成人一区二区在线| 亚洲一级二级在线| 亚洲三级理论片| 亚洲欧美在线aaa| 久久精品视频在线看| 26uuu国产电影一区二区| 欧美一级欧美三级在线观看| 欧美日韩大陆一区二区| 欧美影院午夜播放| 欧美性大战久久久久久久 | 亚洲男帅同性gay1069| 国产精品久久影院| 综合久久给合久久狠狠狠97色 | 色综合一个色综合| 日本高清成人免费播放| 色哟哟国产精品| 91成人看片片| 欧美久久免费观看| 666欧美在线视频| 91精品国产福利| 7777精品伊人久久久大香线蕉| 欧美丰满少妇xxxxx高潮对白| 欧美日本一区二区三区四区| 日韩一区和二区| 久久久午夜精品| 亚洲国产精品精华液2区45| 国产精品久久久久久久蜜臀| 日韩伦理av电影| 亚洲成av人片一区二区梦乃| 日韩黄色小视频| 久久97超碰色| 成人小视频在线| 91在线国产观看| 欧美精品电影在线播放| 日韩欧美成人一区二区| 欧美国产精品中文字幕| 亚洲日本欧美天堂| 午夜精品免费在线| 久草精品在线观看| voyeur盗摄精品| 欧美熟乱第一页| 精品久久久久久亚洲综合网| 国产精品福利一区二区三区| 一区二区欧美精品| 蜜桃一区二区三区在线| 成人av综合在线| 欧美精选一区二区| 久久久精品中文字幕麻豆发布| 亚洲色图视频网| 美女视频网站久久| 成人av电影免费观看| 欧美喷水一区二区| 久久久久免费观看| 亚洲第一在线综合网站| 韩国精品一区二区| 在线区一区二视频| 久久综合久久综合久久| 亚洲综合偷拍欧美一区色| 韩日av一区二区| 欧美日韩精品是欧美日韩精品| 国产偷国产偷精品高清尤物| 亚洲va韩国va欧美va精品| 国产传媒久久文化传媒| 欧美日韩精品一区二区三区四区| 国产亚洲精久久久久久| 石原莉奈在线亚洲三区| 不卡视频免费播放| 精品国产自在久精品国产| 亚洲国产综合在线| 成人自拍视频在线观看| 日韩久久免费av| 一区二区欧美视频| 成人av午夜影院| 精品久久99ma| 性久久久久久久久久久久| 91影院在线观看| 国产三级精品三级| 久久精品国产77777蜜臀| 欧美午夜一区二区三区免费大片| 欧美国产精品一区二区三区| 日本vs亚洲vs韩国一区三区 | 在线观看av一区二区| 国产欧美日韩在线看| 久久99热国产| 欧美日韩第一区日日骚| 一区二区三区成人| 91美女福利视频| 国产亚洲一区字幕| 国产乱一区二区| 久久久久久麻豆| 久久精品国产免费| 91麻豆精品国产91久久久资源速度 | 欧美中文字幕亚洲一区二区va在线 | 成人免费视频网站在线观看| 欧美va亚洲va| 蜜桃精品在线观看| 欧美精品xxxxbbbb| 天天影视色香欲综合网老头| 精品视频一区二区不卡| 亚洲尤物视频在线| 在线观看欧美日本| 亚洲午夜av在线| 日本韩国一区二区三区| 一区二区在线免费观看| 色婷婷国产精品综合在线观看| 亚洲情趣在线观看| 欧美亚洲高清一区| 亚洲国产精品麻豆| 制服丝袜亚洲精品中文字幕| 美国十次综合导航| 欧美成人精品高清在线播放 | 洋洋av久久久久久久一区| 91在线精品一区二区三区| 亚洲欧洲综合另类| 色成年激情久久综合| 亚洲自拍偷拍图区| 日韩一级高清毛片| 韩国女主播成人在线观看| 国产欧美日韩亚州综合| 国产69精品久久777的优势| 中文字幕不卡三区| 色拍拍在线精品视频8848| 午夜精品久久久久久久99樱桃| 欧美福利一区二区| 韩国成人福利片在线播放| 国产欧美日韩在线看| 91视频在线观看| 香蕉av福利精品导航| 欧美一区二区精品在线| 国产99精品国产| 亚洲最色的网站| 精品黑人一区二区三区久久| av在线不卡电影| 三级不卡在线观看|