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

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

?? rxcver.vhd

?? URAT異步通信接口的VHDL描述
?? VHD
?? 第 1 頁 / 共 2 頁
字號:
-- --------------------------------------------------------------------
-- >>>>>>>>>>>>>>>>>>>>>>>>> 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;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
粉嫩绯色av一区二区在线观看| 91黄色免费版| 国产精一品亚洲二区在线视频| 国产精品资源站在线| 国产99久久久国产精品潘金| 91色婷婷久久久久合中文| 91成人免费在线| 欧美电影免费观看高清完整版| 久久精品男人的天堂| 亚洲女同女同女同女同女同69| 天天影视色香欲综合网老头| 国产毛片一区二区| 日本韩国一区二区三区| 日韩精品一区在线观看| 亚洲私人黄色宅男| 麻豆精品一区二区av白丝在线| 成人av中文字幕| 91精品午夜视频| 亚洲国产成人在线| 天堂在线亚洲视频| av亚洲精华国产精华精| 7777精品久久久大香线蕉| 国产精品毛片无遮挡高清| 亚洲成人先锋电影| av电影在线观看不卡| 9191久久久久久久久久久| 国产精品剧情在线亚洲| 免费看精品久久片| 色哟哟精品一区| 欧美精品一区二区久久久| 亚洲精品va在线观看| 国产成人av一区二区三区在线| 欧美顶级少妇做爰| 亚洲欧美怡红院| 九一久久久久久| 日本二三区不卡| 久久精品视频网| 日本色综合中文字幕| 色婷婷一区二区三区四区| 欧美大片在线观看| 亚洲成人高清在线| 成年人网站91| 久久久综合视频| 免费在线观看精品| 欧美日韩中字一区| 亚洲免费观看高清| bt欧美亚洲午夜电影天堂| 欧美不卡视频一区| 日本成人在线网站| 欧美日韩一卡二卡| 亚洲精品第一国产综合野| 成人免费观看男女羞羞视频| 精品美女一区二区三区| 日产国产高清一区二区三区 | 91 com成人网| 亚洲视频一区二区在线| 成人av综合在线| 国产亚洲一本大道中文在线| 蜜臀av一区二区三区| 欧美丰满一区二区免费视频| 亚洲黄色小说网站| 不卡在线视频中文字幕| 国产清纯白嫩初高生在线观看91| 久久精品国产亚洲一区二区三区| 777久久久精品| 午夜在线成人av| 欧美色图12p| 亚洲成av人综合在线观看| 日本精品一级二级| 亚洲人成网站色在线观看| 成人美女在线观看| 国产日韩欧美制服另类| 国产电影精品久久禁18| 久久日一线二线三线suv| 久久se精品一区二区| 日韩精品一区二区三区中文精品| 日本欧美一区二区| 日韩一级高清毛片| 蜜桃91丨九色丨蝌蚪91桃色| 欧美大胆一级视频| 久久爱另类一区二区小说| 精品国产91久久久久久久妲己| 日韩**一区毛片| 精品国产免费视频| 国产一区二区三区美女| 欧美国产日韩a欧美在线观看 | 国产欧美va欧美不卡在线| 国产91在线观看| 中文字幕亚洲一区二区av在线 | 日韩毛片视频在线看| 色综合一个色综合| 亚洲综合在线第一页| 欧美日韩在线电影| 免费亚洲电影在线| 久久婷婷久久一区二区三区| 丁香婷婷深情五月亚洲| 亚洲少妇最新在线视频| 在线视频欧美区| 日本aⅴ亚洲精品中文乱码| 欧美sm美女调教| 国产成人精品免费在线| 亚洲精品中文字幕在线观看| 在线电影欧美成精品| 国内精品第一页| 日韩理论片一区二区| 欧美日韩国产三级| 国精品**一区二区三区在线蜜桃| 国产精品久久一卡二卡| 精品视频999| 国产九九视频一区二区三区| 一区二区三区欧美视频| 日韩一级高清毛片| 99视频精品全部免费在线| 三级在线观看一区二区| 亚洲国产精品精华液2区45| 欧美怡红院视频| 国产一区二区视频在线| 亚洲精品免费看| 精品久久久三级丝袜| av中文字幕在线不卡| 五月天激情综合| 久久久精品tv| 99re热这里只有精品免费视频| 亚洲成人先锋电影| 精品国产凹凸成av人网站| 国产成人超碰人人澡人人澡| 亚洲精品免费在线播放| 久久久久久97三级| 在线影视一区二区三区| 麻豆91免费观看| 国产精品国产三级国产普通话99| 日本高清免费不卡视频| 麻豆精品精品国产自在97香蕉| 国产欧美精品一区二区色综合朱莉| 91蜜桃网址入口| 麻豆成人91精品二区三区| 亚洲综合一二三区| 2023国产一二三区日本精品2022| 91麻豆国产在线观看| 日韩电影一二三区| ●精品国产综合乱码久久久久| 欧美日韩国产在线观看| 国产一区二区伦理| 亚洲一区二区欧美| 日韩三级视频中文字幕| 日本精品视频一区二区三区| 韩国女主播一区二区三区| 亚洲美女免费在线| 2023国产精华国产精品| 777a∨成人精品桃花网| 国产91在线观看丝袜| 日韩福利视频网| 亚洲欧洲成人自拍| 欧美精品自拍偷拍动漫精品| 丁香一区二区三区| 日本vs亚洲vs韩国一区三区二区| 亚洲欧美日韩中文播放| 亚洲精品一区二区三区香蕉| 91猫先生在线| 国产不卡免费视频| 免费精品99久久国产综合精品| 久久综合一区二区| 欧洲精品视频在线观看| 强制捆绑调教一区二区| 依依成人精品视频| 国产精品无码永久免费888| 日韩一二三区不卡| 欧美在线免费视屏| 国产精品自产自拍| 免费看黄色91| 亚洲成人中文在线| 亚洲欧美色一区| 亚洲精品日日夜夜| 国产精品久久久久久久第一福利| 欧美大尺度电影在线| 91一区在线观看| 免费看日韩精品| 日韩电影在线观看一区| 亚洲sss视频在线视频| 有码一区二区三区| 国产午夜精品一区二区三区视频 | 欧美人妇做爰xxxⅹ性高电影| 欧美在线免费视屏| 91免费国产在线| 成人免费高清在线观看| 风间由美一区二区三区在线观看| 国产精品系列在线观看| 久久黄色级2电影| 麻豆成人免费电影| 美腿丝袜亚洲三区| 日韩主播视频在线| 日韩精品91亚洲二区在线观看| 日韩欧美区一区二| 7777精品伊人久久久大香线蕉完整版 | 色综合天天综合在线视频| 国产成人综合自拍| 日本不卡免费在线视频| 青青草91视频| 麻豆91在线看| 国产一区在线精品|