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

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

?? spi_fifo.v

?? verilog語言寫的SPI接口,全同步設計,低門數,可以很容易應用到嵌入設計方案中.
?? V
字號:
// HDLi Version 3.0 (beta)
// Parameters: sisfifo -d 8 -b 8 -retry 0 -t 1 -T 0 -D 1 -noreg -r 0 -flags 3
// -level 1 -period 50 -instname ''  -l vsc983 -Synopsys -rtl -nentity -nadd_p
// -ntiming -verilog -br 0,4,8,12,32,0  
// -----------------------------------------------------------------------------
//                            VLSI Technology, Inc.
// -----------------------------------------------------------------------------
// Copyright 1999 by VLSI Technology, Inc. All rights reserved.
// 
// This module is property of VLSI Technology, Inc (VLSI) and its use is
// granted to the customer for the sole purpose of implementing in silicon
// provided by VLSI. This module may only be used in accordance with the
// provisions of the Design Integrator License Agreement.
// 
// -----------------------------------------------------------------------------
//           Synchronous Interface FIFO - 1 Clock - Template Version 1.6
// -----------------------------------------------------------------------------
// spi_fifo.v : RTL Verilog
//
// Compiled by coste_e on Fri Jun 18 10:26:11 1999
// -----------------------------------------------------------------------------
// 
//    Option                                Value
//    ------                                -----
//    Word Depth:                           8
//    Word Width:                           8
//    Retry/Acknowledge Logic:              None
//    Memory Type:                          Flip/Flop
//    Output Register:                      No, Data valid before clock
//    Controller Reset Type:                Asynchronous
//    Provide Flush Input?                  No
//    Flags:                                Full
//                                          Empty
//    FIFO Depth Indicator Type:            Real Time Level
// 
// Functional Description:
//
// This HDL Template implements a FIFO function using either a latched
// memory, D Flip/Flop, RA5 RAM, or RS222 RAM. This is a synchronous
// design using one clock domain to facilitate scan insertion. The FIFO
// block references the following modules:
//
//   top level 
//
// -----------------------------------------------------------------------------
// Limitations:   None known at this time.
// -----------------------------------------------------------------------------
// Critical Timing:   Address hold time to RA5 or RS222 memory
// -----------------------------------------------------------------------------
// Non-Portable Instantiations: None
// -----------------------------------------------------------------------------
// Targeted Technologies: Any
// -----------------------------------------------------------------------------
// Author: Strategic Technology                      Creation Date: August, 1997
// -----------------------------------------------------------------------------
// Revision History:
// 1.0   8/96  Initial Release
// 1.1   8/97  Add RS222 / Retry support
// 1.3  11/97  Allow both a read and a write to both happen when full
// 1.4   4/98  Removed WEB from gating all FF in DFF version of FIFO
// 1.5   8/98  Updated scrits and added Latch/BIST support
// -----------------------------------------------------------------------------

`timescale 1ns/100ps

module spi_fifo (
                 cp,
                 nrd,
                 nwr,
                 nreseta,
                 di,
                 full,
                 empty,
                 level,
                 do);

   input        cp;  // FIFO clock
   input        nrd;  // FIFO Read enable
   input        nwr;  // FIFO Write enable
   input        nreseta;  // FIFO asynchronous reset
   input  [7:0] di;  // FIFO Data input
   output       full;  // FIFO Full flag
   output       empty;  // FIFO Empty flag
   output [3:0] level;  // FIFO Real time level indicator bus
   output [7:0] do;  // FIFO Data output bus


// DEFINE THE PHYSICAL PARAMETERS OF THE RAM

   parameter FIFO_DEPTH = 8,
             FIFO_WIDTH = 8,
             FIFO_ADDR_BITS  = 3,
             FIFO_LEVEL_BITS = 4;

   parameter tQ         = 1;  // clock to Q delay


// DEFINE INTERNAL VARIABLES
   wire web_int;                             // internal write signal 
   wire dfweb;                               // DFF version FIFO write signal
   wire we_int;                              // internal write signal 
   wire re_int;                              // internal read signal 
   wire srstb_int;                           // Synchronus reset signal
   reg fl,mt;                                // Internal empty and full flags
   reg [FIFO_LEVEL_BITS-1:0] lv;             // Internal real time level bus
   reg [FIFO_ADDR_BITS-1:0]  read_ptr;       // Read pointer
   reg [FIFO_ADDR_BITS-1:0]  write_ptr;      // Write pointer
   reg readl, writel;                        // Last operation saved states

   wire [FIFO_WIDTH-1:0]     ramout;         // Output RAM data        
   wire [FIFO_WIDTH-1:0]     dataout;        // Read data latch
   reg [FIFO_WIDTH-1:0]      ram_data[FIFO_DEPTH-1:0];  // RAM Data


// Assign outputs and interal signals
assign we_int = ~(nwr | (fl & nrd));
assign dfweb = (fl & nrd);
assign re_int = ~(nrd | mt);
assign web_int = ~we_int;

assign full = fl;
assign empty = mt;
assign level = lv;
assign do = dataout;
assign ramout = ram_data[read_ptr];

// -----------------------------------------------------------------------------
// Generate EMPTY and FULL flags
// -----------------------------------------------------------------------------
always @(readl or writel or read_ptr or write_ptr)
begin
  if ((readl == 1'b1) && (read_ptr == write_ptr))
    mt <= 1'b1;
  else
    mt <= 1'b0;

  if ((writel == 1'b1) && (read_ptr == write_ptr))
    fl <= 1'b1;
  else
    fl <= 1'b0;
end

// -----------------------------------------------------------------------------
// Generate Real Time LEVEL Bus
// -----------------------------------------------------------------------------
always @(fl or read_ptr or write_ptr)
begin
  if ((fl == 1'b0) && (write_ptr >= read_ptr))
    lv <= write_ptr - read_ptr;
  else
    lv <= write_ptr - read_ptr + FIFO_DEPTH;
end

// -----------------------------------------------------------------------------
// Read Address Counter
// -----------------------------------------------------------------------------
always @(posedge cp or negedge nreseta)
begin
  if (nreseta == 1'b0)
    read_ptr <= 'h0;
  else if (re_int == 1'b1)
  begin
    read_ptr <= #tQ read_ptr + 1'b1;
  end
end

// -----------------------------------------------------------------------------
// Write Address Counter
// -----------------------------------------------------------------------------
always @(posedge cp or negedge nreseta)
begin
  if (nreseta == 1'b0)
    write_ptr <= 'h0;
  else if (we_int == 1'b1)
  begin
    write_ptr <= write_ptr + 1'b1;
  end
end



// -----------------------------------------------------------------------------
// Last operation state saved
// -----------------------------------------------------------------------------
always @(posedge cp or negedge nreseta)
begin
  if (nreseta == 1'b0)
  begin
    readl <= 1'b1;
    writel <= 1'b0;
  end
  else 
  begin
    if (nrd == 1'b0 && nwr == 1'b0)
    begin
      if (fl == 1'b1)
      begin
        readl <= #tQ 1'b0;
        writel <= #tQ 1'b1;
      end
      else if (mt == 1'b1)
      begin
        readl <= #tQ 1'b0;
        writel <= #tQ 1'b1;
      end
      else 
      begin
        readl <= #tQ readl;
        writel <= #tQ writel;
      end
    end
    else if (nrd == 1'b0)
    begin
      readl <= #tQ 1'b1;
      writel <= #tQ 1'b0;
    end
    else if (nwr == 1'b0)
    begin
      readl <= #tQ 1'b0;
      writel <= #tQ 1'b1;
    end
    else
    begin
      readl <= #tQ readl;
      writel <= #tQ writel;
    end
  end
end


 
// -----------------------------------------------------------------------------
// FIFO RAM write
// -----------------------------------------------------------------------------
always @(posedge cp)
begin
  if (dfweb == 1'b0)
    ram_data[write_ptr] <= #tQ di;
end

assign dataout = ramout;


endmodule 

// -----------------------------------------------------------------------------
// Verilog Component Instantiation:
// -----------------------------------------------------------------------------
/*
   spi_fifo u1 (.cp(),         // FIFO clock
                .nrd(),        // FIFO Read enable
                .nwr(),        // FIFO Write enable
                .nreseta(),    // FIFO asynchronous reset
                .di(),         // FIFO Data input
                .full(),       // FIFO Full flag
                .empty(),      // FIFO Empty flag
                .level(),      // FIFO Real time level indicator bus
                .do());        // FIFO Data output bus

*/
// -----------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av午夜精品一区二区三区| 日韩欧美精品在线| 国产伦精一区二区三区| 日韩中文字幕一区二区三区| 一区二区三区自拍| 亚洲天天做日日做天天谢日日欢| 久久综合给合久久狠狠狠97色69| 日韩欧美国产系列| 久久伊人蜜桃av一区二区| 精品毛片乱码1区2区3区| 日韩欧美激情在线| 欧美日韩一区不卡| 中文字幕一区二区三区精华液| 欧美电影影音先锋| 日韩国产欧美在线观看| 亚洲综合清纯丝袜自拍| 一区二区三区色| 亚洲一区视频在线观看视频| 五月天一区二区| 久久精品国产久精国产| 国产91精品一区二区麻豆网站| 波多野结衣91| 欧美天天综合网| 欧美tickling网站挠脚心| 久久精品人人做人人综合| 综合亚洲深深色噜噜狠狠网站| 亚洲自拍与偷拍| 美女在线观看视频一区二区| 国产伦精品一区二区三区免费| 国产**成人网毛片九色| 在线看国产日韩| 亚洲精品一区二区精华| 亚洲欧美综合另类在线卡通| 天涯成人国产亚洲精品一区av| 国产资源在线一区| 欧美在线观看一二区| 精品国产一区二区三区不卡| 亚洲欧美日韩小说| 久草热8精品视频在线观看| 不卡av在线免费观看| 欧美精品 日韩| 一区二区三区日韩欧美精品| 日韩高清国产一区在线| 大白屁股一区二区视频| 欧美一区二区三区在| 国产精品欧美经典| 日本不卡视频在线观看| 91网页版在线| 久久久久久久久久久久久女国产乱 | 亚洲狠狠爱一区二区三区| 久久精品国产99国产精品| 欧美在线观看视频一区二区三区 | 日韩黄色免费电影| 成人动漫中文字幕| 精品国产人成亚洲区| 亚洲国产精品欧美一二99| 成人性生交大片免费看中文| 日韩一区二区三区在线| 亚洲综合一区二区| 成av人片一区二区| 久久久青草青青国产亚洲免观| 香蕉乱码成人久久天堂爱免费| 成人在线综合网| 亚洲三级电影网站| 欧美激情综合五月色丁香小说| 欧美日韩国产综合一区二区三区| 精品三级av在线| 丝袜美腿亚洲色图| 欧美性一二三区| 樱花影视一区二区| 91在线免费播放| 国产精品成人免费| 不卡的av电影在线观看| 国产精品午夜春色av| 懂色av中文一区二区三区| 国产亚洲精品bt天堂精选| 极品少妇一区二区| 久久久久久久久99精品| 国产在线播放一区三区四| 亚洲精品在线观| 国产精品主播直播| 国产亚洲一区二区在线观看| 色婷婷av一区二区三区gif| 国产精品成人一区二区艾草| 99re66热这里只有精品3直播| 国产精品少妇自拍| 色噜噜狠狠色综合欧洲selulu| 日韩美女啊v在线免费观看| 色天天综合久久久久综合片| 国产精品素人一区二区| 日韩精品每日更新| 久久99精品久久久久| 精品国产91乱码一区二区三区 | 色综合婷婷久久| 亚洲精品视频在线| 欧美日韩免费观看一区二区三区| 亚洲综合精品久久| 欧美一区二区在线不卡| 国产一区二区三区在线观看免费视频| 欧美国产丝袜视频| 91视频免费看| 日本视频一区二区| 久久久久久久久久久久电影| 91网页版在线| 美美哒免费高清在线观看视频一区二区| 日韩欧美的一区| 99精品欧美一区| 日韩国产精品久久久久久亚洲| www国产亚洲精品久久麻豆| 丰满白嫩尤物一区二区| 亚洲国产精品自拍| 国产夜色精品一区二区av| 在线免费精品视频| 国产最新精品精品你懂的| 综合激情成人伊人| 欧美大白屁股肥臀xxxxxx| 91在线免费看| 成人做爰69片免费看网站| 一区二区三区日韩精品视频| 精品久久久网站| 欧美亚洲国产一区二区三区va| 国产主播一区二区| 性欧美疯狂xxxxbbbb| 国产精品毛片无遮挡高清| 欧美一级生活片| 日本精品裸体写真集在线观看| 国产综合成人久久大片91| 亚洲电影在线播放| 中文字幕在线不卡一区二区三区| 欧美一区二区三区视频在线 | 国产资源在线一区| 婷婷开心激情综合| 亚洲日本va午夜在线电影| 久久精品一区二区三区av| 欧美美女bb生活片| 在线观看日韩毛片| 99久久精品国产精品久久| 国产高清亚洲一区| 激情综合色播五月| 人人爽香蕉精品| 日日摸夜夜添夜夜添亚洲女人| 亚洲男人的天堂在线aⅴ视频| 久久久久国产精品厨房| 精品播放一区二区| 精品理论电影在线| 日韩欧美资源站| 日韩视频123| 欧美成人video| 日韩情涩欧美日韩视频| 欧美一级一级性生活免费录像| 在线成人小视频| 欧美丰满美乳xxx高潮www| 欧美人与性动xxxx| 91精品国产福利在线观看| 欧美精品一二三四| 日韩欧美一二区| 精品国产髙清在线看国产毛片| 欧美一区二区久久久| 日韩精品一区二区三区老鸭窝 | 国产成人综合网站| 成人手机电影网| www.日韩在线| 91啪亚洲精品| 欧美影院精品一区| 欧美日韩国产不卡| 欧美一级日韩一级| 国产亚洲成av人在线观看导航| 久久一二三国产| 国产精品毛片久久久久久| 亚洲色图在线视频| 亚洲国产美国国产综合一区二区| 午夜精品在线视频一区| 免费高清不卡av| 高清国产一区二区| 91久久香蕉国产日韩欧美9色| 精品美女一区二区三区| 国产精品麻豆视频| 亚洲影院免费观看| 久久国产日韩欧美精品| 成人黄色电影在线| 欧美日韩精品一区二区三区蜜桃 | 久久91精品久久久久久秒播| 国产91在线观看丝袜| 91蝌蚪porny九色| 欧美精品在线观看一区二区| 精品国产一区二区三区四区四| 国产精品国产自产拍高清av王其| 亚洲五码中文字幕| 国产美女视频一区| 欧美日韩一区在线观看| 久久先锋影音av鲁色资源| 亚洲卡通欧美制服中文| 精品在线观看视频| 91黄色免费版| 久久久久久久久久美女| 亚洲v日本v欧美v久久精品| 春色校园综合激情亚洲| 91麻豆精品国产91久久久使用方法| 日本一区二区三区高清不卡| 日韩中文字幕亚洲一区二区va在线|