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

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

?? rxcver.vhd

?? UART的rs232通信接口VHDL語(yǔ)言
?? VHD
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
-- --------------------------------------------------------------------
-- >>>>>>>>>>>>>>>>>>>>>>>>> COPYRIGHT NOTICE <<<<<<<<<<<<<<<<<<<<<<<<<
-- --------------------------------------------------------------------
-- Copyright (c) 2001 by Lattice Semiconductor Corporation
-- --------------------------------------------------------------------
--
-- Permission:
--
--   Lattice Semiconductor grants permission to use this code for use
--   in synthesis for any Lattice programmable logic product.  Other
--   use of this code, including the selling or duplication of any
--   portion is strictly prohibited.
--
-- Disclaimer:
--
--   This VHDL or Verilog source code is intended as a design reference
--   which illustrates how these types of functions can be implemented.
--   It is the user's responsibility to verify their design for
--   consistency and functionality through the use of formal
--   verification methods.  Lattice Semiconductor provides no warranty
--   regarding the use or functionality of this code.
--
-- --------------------------------------------------------------------
--           
--                     Lattice Semiconductor Corporation
--                     5555 NE Moore Court
--                     Hillsboro, OR 97214
--                     U.S.A
--
--                     TEL: 1-800-Lattice (USA and Canada)
--                          408-826-6000 (other locations)
--
--                     web: http://www.latticesemi.com/
--                     email: techsupport@latticesemi.com
--
-- --------------------------------------------------------------------
--
--  Project:           Universal Asynchronous Receiver Transmitter
--  File:              rxcver.vhd
--  Title:             rxcver
--  Design Library:    IEEE
--  Dependencies:      IEEE.std_logic_1164.all
--                     IEEE.std_logic_unsigned.all
--  Description:       VHDL file for the UART Receiver Module
--
--    <Global reset and clock>
--      Reset       : Master reset
--      Clk16X      : UART internal clock
--
--    <Register>
--      RBR         : Receiver Buffer Register
--
--    <Rising edge of RBR, LSR read strobes>
--      RbrRDn_re   : one Clk16X width pulse indicating rising edge of RbrRDn_r
--      LsrRDn_re   : one Clk16X width pulse indicating rising edge of LsrRDn_r
--
--    <Receiver input>
--      SIN         : Receiver serial input
--
--    <Receiver control>
--      Databits    : "00"=5-bit, "01"=6-bit, "10"=7-bit, "11"=8-bit
--      ParityEnable: '0'=Parity Bit Enable, '1'=Parity Bit Disable
--      ParityEven  : '0'=Even Parity Selected, '1'=Odd Parity Selected
--      ParityStick : '0'=Stick Parity Disable, '1'=Stick Parity Enable
--
--    <Receiver/Transmitter status>
--      RxRDY       : RBR data is ready to be read
--      OverrunErr  : Overrun error
--      ParityErr   : Parity error
--      FrameErr    : Frame error
--      BreakInt    : BREAK interrupt
--
-- --------------------------------------------------------------------
--
-- Revision History :
-- --------------------------------------------------------------------
--   Ver  :| Author            :| Mod. Date :| Changes Made:
--   V1.1 :| J.H.              :| 06/19/01  :| Support ispMACH 5000VG
--   V1.0 :| D.W. & J.H.       :| 06/01/01  :| First Release
-- --------------------------------------------------------------------

library IEEE;
use IEEE.Std_Logic_1164.all;
use IEEE.Std_Logic_Unsigned.all;

entity Rxcver is
  port (
    -- Global reset and clock
    Reset       : in  std_logic; -- Master reset
    Clk16X      : in  std_logic; -- UART internal clock
    -- Register
    RBR         : out std_logic_vector(7 downto 0); -- Receiver Buffer Reg
    -- Rising edge of RBR, LSR read strobes
    RbrRDn_re   : in  std_logic; -- pulse indicating rising of RbrRDn_r
    LsrRDn_re   : in  std_logic; -- pulse indicating rising of LsrRDn_r
    -- Receiver input
    SIN         : in  std_logic;
    -- Receiver control
    Databits    : in  std_logic_vector(1 downto 0); -- Data bits length
    ParityEnable: in  std_logic; -- 0= Parity Disabled; 1= Parity Enabled
    ParityEven  : in  std_logic; -- 0= Odd Parity; 1= Even Parity
    ParityStick : in  std_logic; -- 0= Stick Disabled; 1= Stick Enabled
    -- Receiver status
    RxRDY       : out std_logic; -- Receiver data ready to read
    OverrunErr  : out std_logic; -- Receiver overrun error flag
    ParityErr   : out std_logic; -- Receiver parity error flag
    FrameErr    : out std_logic; -- Receiver framing error flag
    BreakInt    : out std_logic  -- Receiver BREAK interrupt flag
  );
end Rxcver;

architecture Rxcver_a of Rxcver is

  signal NumDataBitReceived_r : std_logic_vector(3 downto 0);

  signal RSR         : std_logic_vector(7 downto 0);
  signal RxPrtyErr   : std_logic;
  signal RxFrmErr    : std_logic;
  signal RxIdle_r    : std_logic;
  signal RbrDataRDY  : std_logic;
  signal CNT_r       : std_logic_vector(3 downto 0);

  signal Hunt_r      : boolean;
  signal HuntOne_r   : std_logic;

  signal SIN1_r      : std_logic;
  signal RxFrmErr1_r : std_logic;
  signal RxIdle1_r   : std_logic;

  signal OverrunErr_r: std_logic;
  signal ParityErr_r : std_logic;
  signal FrameErr_r  : std_logic;
  signal BreakInt_r  : std_logic;

  signal SampledOnce : std_logic;

  -- Receiver Clock Enable Signal
  signal RxClkEn     : std_logic;

  signal RBR_r       : std_logic_vector(7 downto 0);

  -- State Machine Definition
  type state_typ is (idle, shift, parity, stop);
  signal Rx_State : state_typ;

  -- Attributes for ispMACH5000VG to get higher performance
  --   These can be removed when the UART design is targeted to other devices.
  ATTRIBUTE SYN_KEEP : integer;
  ATTRIBUTE SYN_KEEP OF RxPrtyErr, NumDataBitReceived_r, RSR : SIGNAL IS 1;
  ATTRIBUTE SYN_KEEP OF Hunt_r, HuntOne_r, ParityErr_r, FrameErr_r : SIGNAL IS 1;
  ATTRIBUTE SYN_KEEP OF BreakInt_r, RBR_r, OverrunErr_r, RbrDataRDY : SIGNAL IS 1;
  ATTRIBUTE SYN_KEEP OF RxFrmErr, RxIdle_r : SIGNAL IS 1;
  ATTRIBUTE OPT : string;
  ATTRIBUTE OPT OF RxPrtyErr, NumDataBitReceived_r, RSR : SIGNAL IS "KEEP";
  ATTRIBUTE OPT OF Hunt_r, HuntOne_r, ParityErr_r, FrameErr_r : SIGNAL IS "KEEP";
  ATTRIBUTE OPT OF BreakInt_r, RBR_r, OverrunErr_r, RbrDataRDY : SIGNAL IS "KEEP";
  ATTRIBUTE OPT OF RxFrmErr, RxIdle_r : SIGNAL IS "KEEP";

begin

--------------------------------------------------------------------------------
-- Generate RxClkEn signal
--------------------------------------------------------------------------------

  -- RxClkEn : serial port data receiving clock enable
  RxCLK_Proc: process (Reset, Clk16X)
  begin
    if (Reset='1') then
      RxClkEn <= '0';
    elsif rising_edge(Clk16X) then
      if (CNT_r="0110") then
        RxClkEn <= '1';
      else
        RxClkEn <= '0';
      end if;
    end if;
  end process RxCLK_Proc;

  -- CNT_r : 4-bit counter for RxClkEn waveform generation
  CNT_Proc: process (Reset, Clk16X)
  begin
    if (Reset='1') then
      CNT_r <= (others => '0');
    elsif rising_edge(Clk16X) then
      if (Rx_State /= idle) or (Hunt_r) then
        -- Increment count when not idle or when Hunt_r is TRUE
        CNT_r <= CNT_r + 1;
      elsif (SampledOnce='1') then
        -- Adjust 2 clks forward for RxClkEn during the resync after framing error
        CNT_r <= "0010";
      else
        CNT_r <= (others => '0');
      end if;
    end if;
  end process CNT_Proc;

--------------------------------------------------------------------------------
-- Generate Hunt_r
--------------------------------------------------------------------------------

  -- Hunt_r : will be TRUE when start bit is found
  Hunt_r_Proc: process (Reset, Clk16X)
  begin
    if (Reset='1') then
      Hunt_r <= FALSE;
    elsif rising_edge(Clk16X) then
      if (Rx_State=idle) and (SIN='0') and (SIN1_r='1') then
        -- Set Hunt_r when SIN falling edge is found at the idle state
        Hunt_r <= TRUE;
      elsif (SampledOnce='1') and (SIN='0') then
        -- Start bit is successfully sampled twice after framing error
        -- set Hunt_r "true" for resynchronizing of next frame
        Hunt_r <= TRUE;
      elsif (RxIdle_r='0') or (SIN='1') then
        -- Clear Hunt_r when data shifting starts or when SIN returns to '1'
        Hunt_r <= FALSE;
      end if;
    end if;
  end process Hunt_r_Proc;

  -- HuntOne_r :
  --   HuntOne_r, used for BI flag generation, indicates that there is at
  --   least a '1' in the (data + parity + stop) bits of the frame.
  --   Break Interrupt flag(BI) is set to '1' whenever the received input
  --   is held at the '0' state for all bits in the frame (Start bit +
  --   Data bits + Parity bit + Stop bit).  So, as long as HuntOne_r is still
  --   low after all bits are received, BI will be set to '1'.
  HuntOne_r_Proc: process(Clk16X, Reset)
  begin
    if (Reset='1') then
      HuntOne_r <= '0';
    elsif rising_edge(Clk16X) then
      if (Hunt_r) then
        HuntOne_r <= '0';
      elsif (RxIdle_r='0') and (CNT_r(3)='1') and (SIN='1') then
        HuntOne_r <= '1';
      end if;
    end if;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产剧场电影| 久久久久久麻豆| 91原创在线视频| 粉嫩嫩av羞羞动漫久久久| 国产乱码精品1区2区3区| 国内精品在线播放| 国产激情视频一区二区在线观看 | 97久久精品人人爽人人爽蜜臀| 国产福利一区在线观看| 国产aⅴ综合色| 成人ar影院免费观看视频| 99久久精品免费精品国产| 91一区二区在线观看| 色呦呦网站一区| 欧美日韩一区二区三区不卡| 欧美精品丝袜中出| 日韩精品一区二区三区在线观看| 久久综合久久鬼色中文字| 国产亚洲1区2区3区| 17c精品麻豆一区二区免费| 亚洲午夜在线观看视频在线| 蜜桃视频在线观看一区| 久久99久久99| 成人av网站在线观看| 欧美在线观看视频一区二区三区| 欧美男女性生活在线直播观看| 欧美白人最猛性xxxxx69交| 中文字幕免费不卡| 亚洲成人免费看| 国产在线日韩欧美| 欧洲精品中文字幕| 久久免费视频一区| 一区av在线播放| 久久99久久99小草精品免视看| 91原创在线视频| 欧美大片拔萝卜| 日韩码欧中文字| 韩国v欧美v日本v亚洲v| 日本道免费精品一区二区三区| 日韩亚洲欧美高清| 亚洲精品日韩综合观看成人91| 麻豆精品蜜桃视频网站| 91老师片黄在线观看| 精品日韩欧美一区二区| 一区二区三区在线免费观看| 国产一区二区不卡| 欧美电影一区二区三区| 亚洲丝袜自拍清纯另类| 国产一区二区在线观看免费| 91福利精品视频| 国产精品免费观看视频| 激情深爱一区二区| 91麻豆精品国产自产在线观看一区| 欧美国产综合色视频| 久久国产精品一区二区| 欧美精品丝袜久久久中文字幕| 亚洲精品国产第一综合99久久| 狠狠色综合播放一区二区| 欧美乱妇15p| 一区二区三区在线播| 成人午夜在线免费| 国产欧美精品一区二区色综合朱莉| 免费成人美女在线观看.| 日本韩国精品在线| 中文字幕在线不卡一区| 粉嫩高潮美女一区二区三区| 26uuu亚洲综合色| 蜜臀av性久久久久蜜臀aⅴ流畅| 欧美午夜理伦三级在线观看| 亚洲人午夜精品天堂一二香蕉| 国产成人一级电影| 日本一区二区视频在线| 99国产精品久久久久久久久久| 国产午夜精品一区二区三区视频 | 色婷婷综合五月| 亚洲三级电影网站| 色婷婷久久综合| 亚洲男人的天堂一区二区| 成人精品视频一区二区三区| 国产精品日日摸夜夜摸av| 国产精品1024久久| 中文字幕欧美一| 91女神在线视频| 亚洲国产你懂的| 91精品国产高清一区二区三区蜜臀| 五月天久久比比资源色| 日韩三级视频中文字幕| 久久99最新地址| 日本一二三不卡| 91尤物视频在线观看| 亚洲高清视频在线| 91麻豆精品国产91久久久久久| 美女看a上一区| 久久久国产一区二区三区四区小说 | 精品国产精品网麻豆系列| 精品一区二区在线视频| 国产精品私人自拍| 欧美丝袜丝交足nylons| 久久av资源站| 一区二区中文视频| 欧美日韩一区二区在线观看视频| 欧美a级一区二区| 久久一日本道色综合| 91在线丨porny丨国产| 亚洲国产综合色| 26uuu亚洲| 91久久精品午夜一区二区| 蜜桃在线一区二区三区| 亚洲国产岛国毛片在线| 欧美视频在线一区| 国产成人综合视频| 亚洲国产一二三| 久久久青草青青国产亚洲免观| www.激情成人| 美女视频黄频大全不卡视频在线播放 | 制服视频三区第一页精品| 福利一区二区在线观看| 亚洲第一综合色| 欧美白人最猛性xxxxx69交| 色婷婷国产精品久久包臀| 韩日欧美一区二区三区| 亚洲影院免费观看| 中文字幕av一区二区三区免费看| 欧美性极品少妇| 国产91高潮流白浆在线麻豆| 日本不卡视频在线观看| 亚洲男女一区二区三区| 亚洲精品在线免费观看视频| 欧美日韩国产一区二区三区地区| 国产91综合一区在线观看| 日本午夜精品视频在线观看| 一级特黄大欧美久久久| 欧美激情综合五月色丁香小说| 91精品视频网| 欧美三级午夜理伦三级中视频| caoporen国产精品视频| 国产麻豆9l精品三级站| 麻豆成人久久精品二区三区红| 亚洲午夜久久久久久久久久久| 国产精品初高中害羞小美女文| 国产亚洲精品中文字幕| 亚洲精品一区二区三区影院| 欧美一区二区在线看| 欧美美女bb生活片| 337p亚洲精品色噜噜| 欧美日韩精品一区二区三区蜜桃| 91麻豆123| 色欧美片视频在线观看在线视频| 欧美色精品在线视频| 91九色最新地址| 91香蕉视频mp4| 色综合久久88色综合天天免费| 国产成人综合视频| 成人精品国产一区二区4080| 国产精品1024| 国产成人av在线影院| 国产一区在线观看麻豆| 国产精品夜夜嗨| 国产精品一卡二卡| 国产精品一区二区在线观看不卡 | 韩国成人在线视频| 激情六月婷婷综合| 国内精品久久久久影院薰衣草 | www国产精品av| 久久久久久日产精品| 国产色婷婷亚洲99精品小说| 久久亚洲精品小早川怜子| 精品美女在线观看| 久久精品日产第一区二区三区高清版| 精品国产乱码久久久久久闺蜜| 日韩免费观看高清完整版| 日韩欧美高清一区| 日韩精品一区二区三区蜜臀 | 国产偷国产偷亚洲高清人白洁| 国产午夜精品久久久久久免费视 | 国产不卡视频在线播放| 国产成人自拍在线| 国产一区二区看久久| 972aa.com艺术欧美| 国产一区二区福利| 91女厕偷拍女厕偷拍高清| 在线精品视频免费观看| 欧美xxxxx牲另类人与| 国产精品电影院| 蓝色福利精品导航| 99久久99久久综合| 欧美一级久久久久久久大片| 国产精品水嫩水嫩| 日韩高清在线电影| 国产成人自拍高清视频在线免费播放| 成人免费毛片高清视频| 91精品啪在线观看国产60岁| 亚洲日本护士毛茸茸| 麻豆精品蜜桃视频网站| 色8久久精品久久久久久蜜| 欧美va亚洲va| 亚洲小少妇裸体bbw| 国产xxx精品视频大全| 欧美精品在线一区二区三区| 亚洲欧美综合在线精品|