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

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

?? vspi.vhd

?? SPI串口的內核實現(xiàn)(分別使用verilog和vhdl語言描述的)
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
-------------------------------------------------------------------------- Copyright 1997-1998 VAutomation Inc. Nashua NH USA. -- Visit HTTP://www.vautomation.com for mor details on our other-- Synthesizable microprocessor and peripheral cores.---- This program is free software; you can redistribute it and/or modify-- it under the terms of the GNU General Public License version 2 as-- published by the Free Software Foundation.---- This program is distributed in the hope that it will be useful,-- but WITHOUT ANY WARRANTY; without even the implied warranty of-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the-- GNU General Public License for more details.---- The GNU Public License can be found at HTTP://www.gnu.org.-- -- The copyright notice above MUST remain in the source code at all-- times!---- File: vspi.vhd-- Revision: $Name: REV9910 $-- Gate Count: 500 gates (LSI Logic 10K)-- Description:----      Serial Peripheral Interface (SPI)---- The VSPI core implements an SPI interface compatible with the many-- serial EEPROMs, and microcontrollers. The VSPI core is typically used-- as an SPI master, but it can be configured as an SPI slave as well.---- The SPI bus is a 3 wire bus that in effect links a serial shift-- register between the "master" and the "slave". Typically both the-- master and slave have an 8 bit shift register so the combined-- register is 16 bits. When an SPI transfer takes place, the master and-- slave shift their shift registers 8 bits and thus exchange their 8-- bit register values.---- The VPSI core is completely software configurable. The clock-- polarity, clock phase, the clock frequency in master mode, and the-- number of bits to be transferred are all software programmable. These-- configuration bits are usually determined by the capabilities of the-- other device you wish to communicate with.---- SPI supports multiple slaves on a single 3 wire bus by using seperate-- SLaVe SELect signals (SVLSEL) to enable the desired slave. Multiple-- masters are also supported and some support is provided for detecting-- collisions when multiple masters attempt to transfer at the same-- time.---- A Wired-OR mode is provided which allows multiple masters to collide-- on the bus without risk of damage. In this mode, an external pullup-- resisitor is required on the SI and SO pins. WOR mode also allows the-- SPI bus to operate as a 2 wire bus by connecting the SI and SO pins-- together to form a single bidirectional data pin.---- Generally, pullups are recommended on all of the external SPI signals-- to insure they are held in a valid state even when the VSPI core is-- disabled.---- Limitations:--      When operating as a slave, the SPI clock signal (SCK) must be--      slower than 1/8th of the CPU clock. 1/16th is recommended. Note--      that this core is fully synchronous to the cpu CLK and thus SCK--      is sampled and then operated on. This results in 3 to 4 clocks--      of delay which will violate the SPI spec if SCK is faster than--      1/8th of the CPU clock. When the VSPI core is in master mode, it--      operates exactly on the proper edges since it is generating SCK.----      The VSPI core was specifically designed to be an SPI master and--      to be connected to a microprocessor such as VAutomations--      V8-uRISC CPU. This core also has the capability to be a slave--      but that feature is considered secondary which is why it is--      speed limited.---- Register Definition:-- Addr Name    R/W     Description--  0   DOUT    W       8 Bit data out register--  0   DIN     R       8 Bit data in register--  1   CTL     R/W     Control Register--                      [0]=Reserved.--                      [1]=MSTENB      Enable SPI master mode--                      [2]=WOR Wire-OR mode enabled--                      [3]=CKPOL       Clock Polarity 1=SCK idles high,--                                      0=SCK idles low--                      [4]=PHASE       Phase Select--                      [6:5]=DVD       Clock divide - 00=8, 01=16,--                                      10=32, 11=64--                      [7]=IRQENB      Interrupt enable--  2   STATUS  R/W     Interrupt Status register--                      Each bit of the status register is cleared to--                      zero by by writting ONE to the respective bit.--                      [7]=IRQ Interrupt active--                              Set at the end of a master mode--                              transfer, or when SLVSEL goes high on a--                              slave transfer--                      [6]=Overrun--                              This bit is set when the DOUT register--                              is written while an SPI transfer is in--                              progress.--                      [5]=COL--                              This bit is set when there is a master--                              mode collision between multiple SPI--                              masters. It is set when SLVSEL goes low--                              while MSTENB=1.--                      [2:4]=zero--                      [1]=TXRUN--                              1=Master mode operation underway.--                              This bit is read only.--                      [0]=SLVSEL--                              This bit corresponds to the SLVSEL pin--                              on the VSPI core (note that this is--                              normally interted at the IO pin). read--                              only.--  3   SSEL    R/W     Slave Select/bit count register--                      SSEL[7:5]--                              Number of bits to shift in master mode, --                              000=8 bits, 001=1 bit, 111=7 bits.--                      SSEL[4:0]--                              5 individual Slave Selects for master--                              mode---- The VSPI core operates in two fundamentally different modes based on-- the PHASE bit (CTL[4]). The two modes are depicted in the timing-- diagrams below. The key difference centers around the fact that SPI-- data is clocked out on one edge of the clock, and sampled on the-- other. The two modes select where the opposite edge DFF is placed.-- When PHASE=0, a negative edge flop is inserted into the shift_in-- path. The shift_out data is tricky because we must output data from-- the TX_HOLD register for the first bit as we have not seen a clock on-- SCK to clock the data into the shift register. When PHASE=1, the-- negative edge flop is inserted into the shift_out path to hold the-- data for an extra 1/2 clock.---- Microprocessor interface--      The VSPI microprocessor interface is quite simple and connects-- easily to VAutomations V8-uRISC CPU. Transfers are fully synchronous-- to the CLK signal. When CHIP_SEL and WRITE are both active at the-- rising edge of CLK, a write to the desired register occurs. CHIP_SEL-- and WRITE should only be active for 1 clock cycle.---- Timing diagram:---- PHASE=0 (POLCK=0 shown, invert SCKI if POLCK=1)-- Cycle #     | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |--                _   _   _   _   _   _   _   _      -- SCK    _______| |_| |_| |_| |_| |_| |_| |_| |_____--              ___ ___ ___ ___ ___ ___ ___ ___-- MOSI  ------<_7_X_6_X_5_X_4_X_3_X_2_X_1_X_0_>-------            _____ ___ ___ ___ ___ ___ ___ _______-- MISO  ----<___7_X_6_X_5_X_4_X_3_X_2_X_1_X_0_XXXX>---            _____________________________________-- SLVSEL ___/                                     \_-- Shift register runs on the second edge of SCKI. A negative edge flop-- is placed in the shift_in path to sample data on the first edge of-- SCKI.-- PHASE=1 (POLCK=0 shown, invert SCKI if POLCK=1)-- Cycle #       | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |--                _   _   _   _   _   _   _   _      -- SCK   ________| |_| |_| |_| |_| |_| |_| |_| |_______--                ___ ___ ___ ___ ___ ___ ___ ___-- MOSI  --------<_7_X_6_X_5_X_4_X_3_X_2_X_1_X_0_>-------                _ ___ ___ ___ ___ ___ ___ _________-- MISO  ----XXXXX_7_X_6_X_5_X_4_X_3_X_2_X_1_X_0_____>---            _______________________________________-- SLVSEL ___/                                       \_-- Shift register runs on the second edge of SCKI. A negative edge flop-- is placed in the shift_out path to hold data data for an extra 1/2-- clock.---- Crude block diagram:---- DATAIN--------------------------+--                                 |--                    |\           |-- MISO-------+-------> \      +---v--------+                |\--            |       |  >-----> 8bit Shift >-------+--------> \--            |    +--> /      |> Register  |       |        |  >-->MOSI--            |    |  |/       +---v--------+       |   +----> /        --            |    |               |                |   |    |/--            |    |               +---DATAOUT      |   |      --            |    |                                |   |      --            |    +-------------------------+      |   |               --            |     +------------------------|------+   |--            |     |  |\                    |          | --            |     +--> \        +----+     |          | --            |        |  >------->Neg >-----+----------+ --            +--------> /        |DFF |                  --                     |/        O|>   |                  --                                +----+                  -- Not shown are the control and status registers, the master mode bit-- counters and other control logic.-- -- IO cell Requirements:-- The IO cells required for the SPI bus are quite simple. The following-- VHDL code will synthesize to the appropriate cells.----   miso <= misoo when misoe='1' ELSE 'Z';  -- tristate buffer--   mosi <= mosio when mosie='1' ELSE 'Z';  -- tristate buffer--   sck  <= scko  when scke ='1' ELSE 'Z';  -- tristate buffer------------------------------------------------------------------------- This product is licensed to:-- $name$ of $company$-- for use at site(s):-- $site$--------------Revision History------------------------------------------- $Log: vspi.vhd,v $-- Revision 1.7  1999/09/09 16:02:37  scott-- std_ulogic'ified, numeric_std'ified, RMM'ified---- Revision 1.6  1999/02/17 00:51:50  eric-- Added more checking on various error conditions.---- Revision 1.5  1999/02/02 19:56:13  eric-- Changes to fully sync to the CPU clock.---- Revision 1.4  1998/10/16 13:54:57  eric-- Corrected missing sensitiviy list signals for FIRST_BIT.---- Revision 1.3  1998/09/30 14:56:56  eric-- Initial release level.---- Revision 1.2  1998/09/24 02:51:44  eric-- Master mode works in phase=0.-------------------------------------------------------------------------library ieee;use ieee.std_logic_1164.all; -- we use IEEE standard 1164 logic types.use ieee.numeric_std.all;    -- + and - operatorsentity vspi is  ----------------------------ENTITY---------------------  port(    clk      : in  std_ulogic;   -- everything clocks on rising edge    rst      : in  std_ulogic;   -- reset    addr     : in  std_ulogic_vector(1 downto 0);  -- address bus    datain   : in  std_ulogic_vector(7 downto 0);  -- data bus    dataout  : out std_ulogic_vector(7 downto 0);  -- data bus    write    : in  std_ulogic;   -- write enable    chip_sel : in  std_ulogic;   -- device Select    irq      : out std_ulogic;   -- interrupt request    -- SPI interface without IO cells    misoe    : out std_ulogic;   -- MISO tristate enable    misoi    : in  std_ulogic;   -- Master in/Slave out data in    misoo    : out std_ulogic;   -- MISO data out    mosie    : out std_ulogic;   -- MOSI tristate enable    mosii    : in  std_ulogic;   -- Master out/Slave in data in    mosio    : out std_ulogic;   -- MOSI data out    scke     : out std_ulogic;   -- SCK Clock tristate enable    scki     : in  std_ulogic;    -- SCK Clock input (shift register runs on this)    scko     : out std_ulogic;   -- SCK clock output    slvsele  : out std_ulogic;   -- tristate enable for slave selects    slvselo  : out std_ulogic_vector(4 downto 0);    -- external slave selects    slvsel   : in  std_ulogic    -- Slave Select    );end vspi;architecture empty of vspi is -------- ARCHITECTURE empty --------  -- This architecture is provided to easily and quickly remove the SPI  -- core for your ASIC or FPGA.begin   dataout <= (others => '0');  irq     <= '0';  misoo   <= '0';  misoe   <= '0';  mosie   <= '0';  mosio   <= '0';  scko    <= '0';  scke    <= '0';  slvsele <= '0';  slvselo <= "00000";end empty;architecture rtl of vspi is -----------ARCHITECTURE rtl-----------  attribute sync_set_reset : string; -- required for synopsys  attribute sync_set_reset of rst : signal is "true";  -- required for synopsys  signal bit_ctr     : std_ulogic_vector(2 downto 0);  -- # bits in a byte  signal ctl_reg     : std_ulogic_vector(7 downto 0);  -- control register  signal col_flag    : std_ulogic; -- collision flag  signal dvd_ctr     : std_ulogic_vector(4 downto 0); -- clock divider  signal dvd2        : std_ulogic;  signal dvd_zero    : std_ulogic; -- clk divider controls  signal irq_flag    : std_ulogic;  -- local version of IRQ before gated with IRQENB  signal master_mode : std_ulogic; -- Master mode when 1  signal misoe_lcl   : std_ulogic; -- local version

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区h| 久久这里只有精品视频网| 欧美一级免费观看| 国产精品久久夜| 激情另类小说区图片区视频区| 成人精品视频一区二区三区| 日韩精品一区二区三区视频在线观看| 综合色天天鬼久久鬼色| 久久狠狠亚洲综合| 欧美日韩免费电影| 亚洲成人综合在线| 成人免费av网站| 2019国产精品| 免费一级片91| 欧美精品免费视频| 亚洲精品成人在线| 97成人超碰视| 国产精品久久看| 国产成人久久精品77777最新版本| 日韩一级视频免费观看在线| 天堂在线亚洲视频| 欧美性高清videossexo| 亚洲黄网站在线观看| 99精品视频在线观看| 国产精品欧美一区二区三区| 成人中文字幕在线| 中文字幕一区二区在线播放| 国产成人在线免费| 国产女主播一区| 不卡的av在线| 亚洲乱码一区二区三区在线观看| www.欧美精品一二区| 国产精品久久久久久亚洲伦| caoporn国产一区二区| 国产精品国产自产拍高清av王其| 成人性视频免费网站| 国产精品高潮呻吟久久| 91在线国产福利| 亚洲一区影音先锋| 欧美剧情片在线观看| 美女高潮久久久| 精品播放一区二区| 国产一区不卡视频| 一区免费观看视频| 欧美三区免费完整视频在线观看| 婷婷一区二区三区| 欧美成va人片在线观看| 国产传媒一区在线| 亚洲免费视频中文字幕| 国产喂奶挤奶一区二区三区| 国产98色在线|日韩| 亚洲欧洲国产日本综合| 欧美视频一区二区三区四区 | 精品系列免费在线观看| 精品日韩一区二区| 丁香五精品蜜臀久久久久99网站 | 国产精品毛片a∨一区二区三区 | 亚洲国产精品一区二区久久恐怖片 | 久久99精品久久久久久动态图| 精品卡一卡二卡三卡四在线| 东方aⅴ免费观看久久av| 亚洲一区二区三区四区五区黄| 欧美日韩在线一区二区| 国产精品一区二区免费不卡 | 国产精品看片你懂得| 91成人免费网站| 久久精品99国产精品| 国产精品久久久久四虎| 欧美久久久一区| 暴力调教一区二区三区| 日本成人中文字幕在线视频| 中文字幕免费在线观看视频一区| 欧洲国内综合视频| 国产高清不卡一区二区| 婷婷国产在线综合| 国产精品久久久久久亚洲毛片| 欧美高清精品3d| 99久久精品一区二区| 国精产品一区一区三区mba视频 | 亚洲婷婷综合久久一本伊一区| 欧美肥大bbwbbw高潮| av午夜精品一区二区三区| 免费黄网站欧美| 夜夜爽夜夜爽精品视频| 国产精品色哟哟| 欧美成人性福生活免费看| 欧美综合久久久| av亚洲精华国产精华| 国产麻豆精品在线| 蜜臀av一区二区在线免费观看| 一级日本不卡的影视| 日韩一区日韩二区| 久久精品视频一区二区三区| 日韩精品中文字幕在线不卡尤物| 欧美午夜免费电影| 色婷婷亚洲综合| av一区二区三区四区| 成人免费毛片片v| 国产精品自拍网站| 韩国av一区二区三区在线观看| 天天影视网天天综合色在线播放| 亚洲日本在线看| 中文字幕一区二区视频| 国产精品国产精品国产专区不片| 亚洲精品一区二区三区99| 欧美成人一区二区三区片免费| 欧美精品xxxxbbbb| 91精品国产91久久久久久一区二区| 日本精品一级二级| 91福利精品第一导航| 色综合久久久久久久| 一本大道av一区二区在线播放| 91丝袜高跟美女视频| 91色视频在线| 欧美视频一二三区| 欧美精选在线播放| 日韩一卡二卡三卡| 337p日本欧洲亚洲大胆精品 | 日韩免费观看高清完整版| 欧美一区二区免费视频| 日韩欧美成人午夜| 久久蜜桃av一区二区天堂 | 69久久99精品久久久久婷婷 | 精品亚洲国内自在自线福利| 激情五月婷婷综合| 国产不卡免费视频| 91小视频在线观看| 欧美日韩成人一区二区| 欧美不卡一区二区三区四区| 精品成a人在线观看| 国产精品久久久久aaaa| 亚洲精品成人精品456| 天天爽夜夜爽夜夜爽精品视频| 美国十次综合导航| 国产a久久麻豆| 一本到高清视频免费精品| 欧美日韩不卡一区| 久久人人爽人人爽| 亚洲精品午夜久久久| 日韩电影在线免费| 国产精品18久久久久久久网站| 9久草视频在线视频精品| 色婷婷av一区二区三区软件| 91精品国模一区二区三区| 国产日韩欧美一区二区三区综合| 中文字幕中文字幕一区二区| 亚洲国产精品精华液网站| 国产一区二三区| 色噜噜狠狠成人网p站| 日韩欧美亚洲一区二区| 中文字幕在线一区| 麻豆精品久久久| 色狠狠综合天天综合综合| 欧美videos大乳护士334| 最新欧美精品一区二区三区| 蜜桃91丨九色丨蝌蚪91桃色| 成人app在线观看| 欧美大白屁股肥臀xxxxxx| 亚洲图片你懂的| 国内精品国产成人| 欧美性猛交一区二区三区精品| 国产亚洲女人久久久久毛片| 夜夜揉揉日日人人青青一国产精品| 韩国女主播一区| 欧美久久免费观看| 亚洲欧美日韩电影| 国产麻豆精品95视频| 欧美日韩精品一区二区| 国产精品久久久久影院色老大 | 91蜜桃网址入口| www精品美女久久久tv| 午夜精品福利一区二区蜜股av| 国产精品1024| 欧美sm极限捆绑bd| 亚洲超碰97人人做人人爱| av高清久久久| 国产日产欧美一区| 精品一区二区国语对白| 3atv在线一区二区三区| 亚洲综合色噜噜狠狠| 色综合夜色一区| 国产精品卡一卡二卡三| 91亚洲国产成人精品一区二三| 精品国产一区久久| 亚洲成人免费在线观看| 在线视频一区二区三区| 日韩美女精品在线| 白白色亚洲国产精品| 国产精品三级视频| 丰满亚洲少妇av| 国产欧美一区二区三区鸳鸯浴| 韩国成人在线视频| 久久久蜜桃精品| 国产在线视频精品一区| 久久女同互慰一区二区三区| 经典三级一区二区| 国产亚洲一区二区在线观看| 国产成人免费在线观看| 国产日产欧美一区| av电影一区二区|