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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? epcs_controller.v

?? 基于NIOS的CF卡應(yīng)用(包括了軟件和硬件),ALTERA的IP庫中只提供了底層的硬件寄存器描述頭文件.這是個基于IP核HAL的軟件,以及相應(yīng)的硬件設(shè)計示例.
?? V
?? 第 1 頁 / 共 2 頁
字號:
//Legal Notice: (C)2005 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.

// synthesis translate_off
`timescale 1ns / 100ps
// synthesis translate_on
//Register map:
//addr      register      type
//0         read data     r
//1         write data    w
//2         status        r/w
//3         control       r/w
//4         reserved
//5         slave-enable  r/w
//6         end-of-packet-value r/w
//INPUT_CLOCK: 50000000
//ISMASTER: 1
//DATABITS: 8
//TARGETCLOCK: 20000000
//NUMSLAVES: 1
//CPOL: 0
//CPHA: 0
//LSBFIRST: 0
//EXTRADELAY: 1
//TARGETSSDELAY: 0.0001

module epcs_controller_sub (
                             // inputs:
                              MISO,
                              clk,
                              data_from_cpu,
                              epcs_select,
                              mem_addr,
                              read_n,
                              reset_n,
                              write_n,

                             // outputs:
                              MOSI,
                              SCLK,
                              SS_n,
                              data_to_cpu,
                              dataavailable,
                              endofpacket,
                              irq,
                              readyfordata
                           );

  output           MOSI;
  output           SCLK;
  output           SS_n;
  output  [ 15: 0] data_to_cpu;
  output           dataavailable;
  output           endofpacket;
  output           irq;
  output           readyfordata;
  input            MISO;
  input            clk;
  input   [ 15: 0] data_from_cpu;
  input            epcs_select;
  input   [  2: 0] mem_addr;
  input            read_n;
  input            reset_n;
  input            write_n;

  wire             E;
  reg              EOP;
  reg              MISO_reg;
  wire             MOSI;
  reg              ROE;
  reg              RRDY;
  wire             SCLK;
  reg              SCLK_reg;
  reg              SSO_reg;
  wire             SS_n;
  wire             TMT;
  reg              TOE;
  wire             TRDY;
  wire             control_wr_strobe;
  reg              data_rd_strobe;
  reg     [ 15: 0] data_to_cpu;
  reg              data_wr_strobe;
  wire             dataavailable;
  reg     [ 11: 0] delayCounter;
  wire             enableSS;
  wire             endofpacket;
  reg     [ 15: 0] endofpacketvalue_reg;
  wire             endofpacketvalue_wr_strobe;
  wire    [ 10: 0] epcs_control;
  reg     [ 15: 0] epcs_slave_select_holding_reg;
  reg     [ 15: 0] epcs_slave_select_reg;
  wire    [ 10: 0] epcs_status;
  reg              iEOP_reg;
  reg              iE_reg;
  reg              iROE_reg;
  reg              iRRDY_reg;
  reg              iTMT_reg;
  reg              iTOE_reg;
  reg              iTRDY_reg;
  wire             irq;
  reg              irq_reg;
  wire             p1_data_rd_strobe;
  wire    [ 15: 0] p1_data_to_cpu;
  wire             p1_data_wr_strobe;
  wire             p1_rd_strobe;
  wire    [  1: 0] p1_slowcount;
  wire             p1_wr_strobe;
  reg              rd_strobe;
  wire             readyfordata;
  reg     [  7: 0] rx_holding_reg;
  reg     [  7: 0] shift_reg;
  wire             slaveselect_wr_strobe;
  wire             slowclock;
  reg     [  1: 0] slowcount;
  reg     [  4: 0] state;
  wire             status_wr_strobe;
  reg              transmitting;
  reg              tx_holding_primed;
  reg     [  7: 0] tx_holding_reg;
  reg              wr_strobe;
  wire             write_shift_reg;
  wire             write_tx_holding;
  //epcs_control_port, which is an e_avalon_slave
  assign p1_rd_strobe = ~rd_strobe & epcs_select & ~read_n;
  // Read is a two-cycle event.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          rd_strobe <= 0;
      else if (1)
          rd_strobe <= p1_rd_strobe;
    end


  assign p1_data_rd_strobe = p1_rd_strobe & (mem_addr == 0);
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          data_rd_strobe <= 0;
      else if (1)
          data_rd_strobe <= p1_data_rd_strobe;
    end


  assign p1_wr_strobe = ~wr_strobe & epcs_select & ~write_n;
  // Write is a two-cycle event.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          wr_strobe <= 0;
      else if (1)
          wr_strobe <= p1_wr_strobe;
    end


  assign p1_data_wr_strobe = p1_wr_strobe & (mem_addr == 1);
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          data_wr_strobe <= 0;
      else if (1)
          data_wr_strobe <= p1_data_wr_strobe;
    end


  assign control_wr_strobe = wr_strobe & (mem_addr == 3);
  assign status_wr_strobe = wr_strobe & (mem_addr == 2);
  assign slaveselect_wr_strobe = wr_strobe & (mem_addr == 5);
  assign endofpacketvalue_wr_strobe = wr_strobe & (mem_addr == 6);
  assign TMT = ~transmitting & ~tx_holding_primed;
  assign E = ROE | TOE;
  assign epcs_status = {EOP, E, RRDY, TRDY, TMT, TOE, ROE, 3'b0};
  // Streaming data ready for pickup.
  assign dataavailable = RRDY;

  // Ready to accept streaming data.
  assign readyfordata = TRDY;

  // Endofpacket condition detected.
  assign endofpacket = EOP;

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
        begin
          iEOP_reg <= 0;
          iE_reg <= 0;
          iRRDY_reg <= 0;
          iTRDY_reg <= 0;
          iTMT_reg <= 0;
          iTOE_reg <= 0;
          iROE_reg <= 0;
          SSO_reg <= 0;
        end
      else if (control_wr_strobe)
        begin
          iEOP_reg <= data_from_cpu[9];
          iE_reg <= data_from_cpu[8];
          iRRDY_reg <= data_from_cpu[7];
          iTRDY_reg <= data_from_cpu[6];
          iTMT_reg <= data_from_cpu[5];
          iTOE_reg <= data_from_cpu[4];
          iROE_reg <= data_from_cpu[3];
          SSO_reg <= data_from_cpu[10];
        end
    end


  assign epcs_control = {SSO_reg, iEOP_reg, iE_reg, iRRDY_reg, iTRDY_reg, 1'b0, iTOE_reg, iROE_reg, 3'b0};
  // IRQ output.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          irq_reg <= 0;
      else if (1)
          irq_reg <= (EOP & iEOP_reg) | ((TOE | ROE) & iE_reg) | (RRDY & iRRDY_reg) | (TRDY & iTRDY_reg) | (TOE & iTOE_reg) | (ROE & iROE_reg);
    end


  assign irq = irq_reg;
  // Slave select register.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          epcs_slave_select_reg <= 1;
      else if (write_shift_reg || control_wr_strobe & data_from_cpu[10] & ~SSO_reg)
          epcs_slave_select_reg <= epcs_slave_select_holding_reg;
    end


  // Slave select holding register.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          epcs_slave_select_holding_reg <= 1;
      else if (slaveselect_wr_strobe)
          epcs_slave_select_holding_reg <= data_from_cpu;
    end


  // slowclock is active once every 2 system clock pulses.
  assign slowclock = slowcount == 2'h1;

  assign p1_slowcount = ({2 {(transmitting && !slowclock)}} & (slowcount + 1)) |
    ({2 {(~((transmitting && !slowclock)))}} & 0);

  // Divide counter for SPI clock.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          slowcount <= 0;
      else if (1)
          slowcount <= p1_slowcount;
    end


  // End-of-packet value register.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          endofpacketvalue_reg <= 0;
      else if (endofpacketvalue_wr_strobe)
          endofpacketvalue_reg <= data_from_cpu;
    end


  assign p1_data_to_cpu = ((mem_addr == 2))? epcs_status :
    ((mem_addr == 3))? epcs_control :
    ((mem_addr == 6))? endofpacketvalue_reg :
    ((mem_addr == 5))? epcs_slave_select_reg :
    rx_holding_reg;

  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          data_to_cpu <= 0;
      else 
        // Data to cpu.
        data_to_cpu <= p1_data_to_cpu;

    end


  // Extra-delay counter.
  always @(posedge clk or negedge reset_n)
    begin
      if (reset_n == 0)
          delayCounter <= 2499;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频自拍| 美女网站色91| 国产精品亚洲一区二区三区妖精| 欧美在线制服丝袜| 一区二区理论电影在线观看| 色天天综合久久久久综合片| 中文字幕av不卡| 成人一区二区三区视频| 久久精品一区二区三区四区| 99热在这里有精品免费| 日本在线播放一区二区三区| 成人国产精品视频| 国产精品电影一区二区三区| 精品99久久久久久| 欧美一区二区三区成人| 日本韩国一区二区三区| 国产精品另类一区| 色综合久久综合中文综合网| 亚洲精品免费视频| 欧美日韩三级一区| 极品美女销魂一区二区三区免费| 久久久久亚洲综合| 成人h版在线观看| 五月婷婷综合在线| 日韩无一区二区| 99久久免费国产| 天天色天天操综合| 精品99999| 91久久精品一区二区三区| 视频一区二区国产| 成人免费一区二区三区在线观看 | 欧美美女直播网站| 久久不见久久见免费视频7| 国产精品九色蝌蚪自拍| 欧美亚洲禁片免费| 国产凹凸在线观看一区二区| 一区二区三区四区激情| 久久久精品国产免费观看同学| 99久久国产综合精品麻豆 | 欧美国产精品中文字幕| 欧美在线观看你懂的| 国产一区二区精品久久91| 国产精品久久久久三级| 国产精品一二三四区| 亚洲国产精品人人做人人爽| 久久久www成人免费毛片麻豆| 欧美性生活一区| 色悠久久久久综合欧美99| 国产成人三级在线观看| 激情图区综合网| 首页国产欧美日韩丝袜| 亚洲一区二区三区小说| 亚洲综合偷拍欧美一区色| 最新日韩av在线| 亚洲欧美自拍偷拍| 中文字幕欧美一| 亚洲免费av高清| 亚洲综合男人的天堂| 亚洲色欲色欲www| 亚洲综合一二三区| 日韩成人免费电影| 国产在线看一区| 成人夜色视频网站在线观看| 不卡一区二区中文字幕| 91一区二区在线| 91精品国产一区二区三区蜜臀 | 一区av在线播放| 日韩专区在线视频| 国产麻豆91精品| 美女网站色91| 毛片av一区二区| 国产成人在线看| 91黄视频在线| 欧美大肚乱孕交hd孕妇| 中文字幕乱码一区二区免费| 最新国产成人在线观看| 午夜精品久久久久久久久久| 成人午夜免费av| 日本精品免费观看高清观看| 欧美精品丝袜久久久中文字幕| 26uuu国产电影一区二区| 亚洲老司机在线| 国产成人精品aa毛片| 7777精品伊人久久久大香线蕉| 久久久亚洲精品石原莉奈| 亚洲免费电影在线| 成人avav影音| 久久久久久久综合| 麻豆精品一区二区综合av| 91在线免费播放| 国产精品国产自产拍在线| 麻豆传媒一区二区三区| 色素色在线综合| 综合久久一区二区三区| 国产不卡在线一区| 亚洲精品在线观| 国产一区二区主播在线| 91精品国产一区二区三区蜜臀| 亚洲国产婷婷综合在线精品| 日本精品一区二区三区四区的功能| 国产欧美日韩精品a在线观看| 一区二区三区四区五区视频在线观看 | 亚洲国产成人av好男人在线观看| 国产成人精品免费一区二区| 亚洲精品一区二区三区99| 日韩中文字幕亚洲一区二区va在线| 色综合久久久久久久久| 亚洲精品伦理在线| 欧美视频日韩视频| 日韩有码一区二区三区| 欧美日韩二区三区| 蜜臀va亚洲va欧美va天堂 | av在线播放成人| 亚洲人成网站影音先锋播放| 色婷婷国产精品综合在线观看| 国产精品黄色在线观看| 91国偷自产一区二区三区成为亚洲经典| 中文字幕一区二区5566日韩| 色av一区二区| 六月丁香综合在线视频| 国产精品水嫩水嫩| 欧美日韩一区二区三区四区五区| 日本中文字幕一区| 国产欧美精品国产国产专区| 91同城在线观看| 麻豆极品一区二区三区| 国产精品高潮呻吟| 欧美mv日韩mv国产网站| 99这里都是精品| 免费高清在线视频一区·| 国产性色一区二区| 欧美视频一区二区三区在线观看| 久久99精品久久久久久| 欧美成人video| 99久久精品免费| 久久99久久99精品免视看婷婷| 日韩理论片一区二区| 久久久久国产精品厨房| 欧美性感一类影片在线播放| 成人手机在线视频| 国产美女av一区二区三区| 亚洲国产日韩a在线播放| 国产精品嫩草99a| 中文字幕欧美三区| 国产日产亚洲精品系列| 日韩丝袜情趣美女图片| 欧美日韩色一区| 欧美日韩在线观看一区二区| 99精品一区二区| 一本大道av伊人久久综合| 成人h动漫精品一区二区| 福利一区二区在线| 成人动漫一区二区| 91免费观看视频| 91麻豆产精品久久久久久| 一本到高清视频免费精品| 色偷偷成人一区二区三区91| 91亚洲资源网| 欧美性欧美巨大黑白大战| 3d成人h动漫网站入口| 欧美大度的电影原声| 国产日韩欧美综合一区| 中文字幕在线视频一区| 亚洲毛片av在线| 免费观看在线色综合| 国产精品伊人色| 91激情五月电影| 欧美电影免费观看高清完整版在 | 欧美色视频在线观看| 欧美日韩一区二区三区不卡| 欧美亚洲国产怡红院影院| 欧美一级欧美三级在线观看| 日韩视频免费观看高清完整版在线观看 | 日本aⅴ精品一区二区三区| 美脚の诱脚舐め脚责91| av电影在线不卡| 7777精品伊人久久久大香线蕉的 | 在线一区二区视频| 精品久久一区二区| 一区二区三区欧美久久| 国产乱人伦精品一区二区在线观看 | 欧美日韩国产综合一区二区| 久久久精品蜜桃| 日韩精品亚洲一区二区三区免费| 国产成人精品一区二| 欧美午夜精品久久久久久超碰| 国产亚洲污的网站| 日韩av在线发布| 91原创在线视频| 国产精品毛片久久久久久久| 污片在线观看一区二区| 色综合色狠狠天天综合色| 国产视频在线观看一区二区三区| 久久久久久久久久久久久夜| 日韩精品成人一区二区三区 | 国产精一品亚洲二区在线视频| 9191成人精品久久| 丝袜诱惑制服诱惑色一区在线观看| av一区二区三区黑人| 国产视频一区二区在线|