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

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

?? miniuart.vhd

?? 一個簡單的uart的VHDL描述
?? VHD
字號:
--===========================================================================--
--
--  S Y N T H E Z I A B L E    miniUART   C O R E
--
--  www.OpenCores.Org - January 2000
--  This core adheres to the GNU public license  
--
-- Design units   : miniUART core for the OCRP-1
--
-- File name      : miniuart.vhd
--
-- Purpose        : Implements an miniUART device for communication purposes 
--                  between the OR1K processor and the Host computer through
--                  an RS-232 communication protocol.
--                  
-- Library        : uart_lib.vhd
--
-- Dependencies   : IEEE.Std_Logic_1164
--
-- Simulator      : ModelSim PE/PLUS version 4.7b on a Windows95 PC
--===========================================================================--
-------------------------------------------------------------------------------
-- Revision list
-- Version   Author                 Date           Changes
--
-- 0.1      Ovidiu Lupas     15 January 2000       New model
-- 1.0      Ovidiu Lupas     January  2000         Synthesis optimizations
-- 2.0      Ovidiu Lupas     April    2000         Bugs removed - RSBusCtrl
--          the RSBusCtrl did not process all possible situations
--
--        olupas@opencores.org
--
-- 3.0      John Kent        October  2002         Changed Status bits to match mc6805
--          Added CTS, RTS, Baud rate control & Software Reset
-------------------------------------------------------------------------------
-- Entity for miniUART Unit - 9600 baudrate                                  --
-------------------------------------------------------------------------------
library ieee;
   use ieee.std_logic_1164.all;
   use ieee.numeric_std.all;

entity miniUART is
  port (
     SysClk   : in  Std_Logic;  -- System Clock
     rst      : in  Std_Logic;  -- Reset input (active high)
     cs       : in  Std_Logic;
     rw       : in  Std_Logic;
     RxD      : in  Std_Logic;
     TxD      : out Std_Logic;
     CTS_n    : in  Std_Logic;
     RTS_n    : out Std_Logic;
     Irq      : out Std_Logic;  -- interrupt
     Addr     : in  Std_Logic;  -- Register Select
     DataIn   : in  Std_Logic_Vector(7 downto 0); -- 
     DataOut  : out Std_Logic_Vector(7 downto 0)); -- 
end entity; --================== End of entity ==============================--
-------------------------------------------------------------------------------
-- Architecture for miniUART Controller Unit
-------------------------------------------------------------------------------
architecture uart of miniUART is
  -----------------------------------------------------------------------------
  -- Signals
  -----------------------------------------------------------------------------
  signal RxData : Std_Logic_Vector(7 downto 0); -- 
  signal TxData : Std_Logic_Vector(7 downto 0); -- 
  signal StatReg : Std_Logic_Vector(7 downto 0); -- status register
  signal CtrlReg : Std_Logic_Vector(7 downto 0); -- control register
  --             StatReg detailed 
  -----------+--------+--------+--------+--------+--------+--------+--------+
  --  Int    | PErr   | ORErr  | FErr   | CTS    | DCD    | TBufE  | DRdy   |
  -----------+--------+--------+--------+--------+--------+--------+--------+
  signal EnabRx : Std_Logic;  -- Enable RX unit
  signal EnabTx : Std_Logic;  -- Enable TX unit
  signal DRdy   : Std_Logic;  -- Receive Data ready
  signal TBufE  : Std_Logic;  -- Transmit buffer empty
  signal FErr   : Std_Logic;  -- Frame error
  signal OErr   : Std_Logic;  -- Output error
  signal Read   : Std_Logic;  -- Read receive buffer
  signal Load   : Std_Logic;  -- Load transmit buffer
  signal Int    : Std_Logic;  -- Interrupt bit
  signal Reset  : Std_Logic;  -- Reset (Software & Hardware)
  -----------------------------------------------------------------------------
  -- Baud rate Generator
  -----------------------------------------------------------------------------
  component ClkUnit is
   port (
     Clk      : in  Std_Logic;  -- System Clock
     Reset    : in  Std_Logic;  -- Reset input
     EnableRX : out Std_Logic;  -- Control signal
     EnableTX : out Std_Logic;  -- Control signal
	  BaudRate : in  Std_Logic_Vector(1 downto 0));
  end component;
  -----------------------------------------------------------------------------
  -- Receive Unit
  -----------------------------------------------------------------------------
  component RxUnit is
  port (
     Clk    : in  Std_Logic;  -- Clock signal
     Reset  : in  Std_Logic;  -- Reset input
     Enable : in  Std_Logic;  -- Enable input
     RxD    : in  Std_Logic;  -- RS-232 data input
     ReadD  : in  Std_Logic;  -- Read data signal
     FRErr  : out Std_Logic;  -- Status signal
     ORErr  : out Std_Logic;  -- Status signal
     DARdy  : out Std_Logic;  -- Status signal
     DataI  : out Std_Logic_Vector(7 downto 0));
  end component;
  -----------------------------------------------------------------------------
  -- Transmitter Unit
  -----------------------------------------------------------------------------
  component TxUnit is
  port (
     Clk    : in  Std_Logic;  -- Clock signal
     Reset  : in  Std_Logic;  -- Reset input
     Enable : in  Std_Logic;  -- Enable input
     LoadD  : in  Std_Logic;  -- Load transmit data
     TxD    : out Std_Logic;  -- RS-232 data output
     TBE    : out Std_Logic;  -- Tx buffer empty
     DataO  : in  Std_Logic_Vector(7 downto 0));
  end component;
begin
  -----------------------------------------------------------------------------
  -- Instantiation of internal components
  -----------------------------------------------------------------------------

  ClkDiv  : ClkUnit port map (
                Clk      => SysClk,
					 EnableRx => EnabRX,
					 EnableTx => EnabTX,
					 BaudRate => CtrlReg(1 downto 0),
					 Reset    => Reset);
 
  TxDev   : TxUnit  port map (
                Clk      => SysClk,
					 Reset    => Reset,
					 Enable   => EnabTX,
					 LoadD    => Load,
					 TxD      => TxD,
					 TBE      => TBufE,
					 DataO    => TxData);

  RxDev   : RxUnit  port map (
                Clk      => SysClk,
					 Reset    => Reset,
					 Enable   => EnabRX,
					 RxD      => RxD,
					 ReadD    => Read,
					 FRErr    => FErr,
					 ORErr    => OErr,
					 DARdy    => DRdy,
					 DataI    => RxData);

  -----------------------------------------------------------------------------
  -- Implements the controller for Rx&Tx units
  -----------------------------------------------------------------------------
  RSBusCtrl : process(SysClk, Reset, DRdy, TBufE, FErr, OErr, Int, CtrlReg)
     variable StatM : Std_Logic_Vector(7 downto 0);
  begin
     if SysClk'event and SysClk='0' then
        if Reset = '1' then
           StatM := "00000000";
           Int <= '0';
        else
           StatM(0) := DRdy;
           StatM(1) := TBufE;
			  StatM(2) := '0'; -- DCD
			  StatM(3) := CTS_n;
           StatM(4) := FErr;
           StatM(5) := OErr;
           StatM(6) := '0'; -- Parrity error
		     StatM(7) := Int;
		     Int <= (CtrlReg(7) and DRdy) or
		           ((not CtrlReg(6)) and CtrlReg(5) and TBufE);
        end if;

		 RTS_n <= CtrlReg(6) and not CtrlReg(5);
       Irq <= Int;
       StatReg <= StatM;
     end if;
  end process;

-----------------------------------------------------------------------------
-- Combinational section
-----------------------------------------------------------------------------

control_strobe:  process(SysClk, Reset, cs, rw, Addr, DataIn, CtrlReg )
  begin
   if SysClk'event and SysClk='1' then
	  if (reset = '1') then
	    CtrlReg <= "00000000";
		 Load <= '0';
		 Read <= '0';
	  else
	    if cs = '1' then
	      if Addr = '1' then
		     CtrlReg <= CtrlReg;
		     if rw = '0' then  -- write data register
	          Load <= '1';
		       Read <= '0';
  	        else               -- read Data Register
	          Load <= '0';
             Read <= '1';
			  end if; -- rw
	      else                 -- read Status Register
	        Load <= '0';
		     Read <= '0';
		     if rw = '0' then  -- write data register
			    CtrlReg <= DataIn;
  	        else               -- read Data Register
		       CtrlReg <= CtrlReg;
			  end if; -- rw
		   end if; -- Addr
	    else                   -- not selected
	      Load <= '0';
		   Read <= '0';
			CtrlReg <= CtrlReg;
	    end if;  -- cs
	  end if; -- reset
   end if; -- SysClk
end process;

---------------------------------------------------------------
--
-- set data output mux
--
--------------------------------------------------------------

data_port: process(Addr, StatReg, RxData, DataIn )
begin
     TxData <= DataIn;
	  if Addr = '1' then
		 DataOut <= RxData;  -- read data register
	  else
		 DataOut <= StatReg;   -- read status register
	  end if; -- Addr
end process;

---------------------------------------------------------------
--
-- reset may be hardware or software
--
---------------------------------------------------------------

uart_reset: process(CtrlReg, rst )
begin
	  Reset <= (CtrlReg(1) and CtrlReg(0)) or rst;
end process;

end uart; --===================== End of architecture =======================--

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂久久一区二区三区| 精品欧美一区二区久久| 欧美性极品少妇| 国产午夜亚洲精品羞羞网站| 亚洲美女电影在线| 777午夜精品免费视频| 日韩视频在线观看一区二区| 日韩色视频在线观看| 99久久久无码国产精品| 日本视频一区二区| 亚洲免费观看视频| 国产拍揄自揄精品视频麻豆| 欧美猛男超大videosgay| av在线播放一区二区三区| 欧美激情一区二区三区四区| aaa欧美色吧激情视频| 国产精品午夜久久| 粉嫩av一区二区三区粉嫩| 日韩欧美中文一区| 亚洲亚洲人成综合网络| 成人黄色免费短视频| 中文字幕一区二区三中文字幕| 国产成人亚洲综合a∨婷婷图片| 日韩一区二区三| 久久99精品久久久久久动态图 | 久久综合色一综合色88| 日韩高清在线观看| 国产欧美日韩综合| 91小视频在线| 日韩av网站在线观看| 精品日本一线二线三线不卡| 99久久精品免费看国产| 亚洲美女在线一区| 日韩视频永久免费| 色哟哟在线观看一区二区三区| 亚洲大片在线观看| 亚洲国产婷婷综合在线精品| 精品动漫一区二区三区在线观看| 国产suv精品一区二区三区| 国产亚洲一区二区三区| 老司机精品视频线观看86| 亚洲成年人网站在线观看| 日韩va亚洲va欧美va久久| 欧美国产日韩亚洲一区| 欧美三级电影在线观看| 欧美性xxxxxxxx| 一本色道久久综合亚洲aⅴ蜜桃| 高清免费成人av| 成人免费看黄yyy456| 成人午夜电影久久影院| www.亚洲精品| 色婷婷激情综合| 亚洲制服丝袜av| 亚洲天堂久久久久久久| 亚洲精品一区二区三区香蕉| 欧美日韩一区二区在线视频| 成人免费毛片a| 国产精品亚洲午夜一区二区三区 | 国产在线一区观看| 欧美激情在线看| 久久精品亚洲一区二区三区浴池 | 亚洲视频综合在线| 亚洲精品一线二线三线无人区| 色综合视频一区二区三区高清| 国产精品一区二区男女羞羞无遮挡| 日韩在线观看一区二区| 天堂成人免费av电影一区| 日日欢夜夜爽一区| 日韩成人伦理电影在线观看| 午夜精品久久久久久久久| 日韩精品欧美精品| 日韩电影免费在线看| 免费人成精品欧美精品| 国产一区二区三区美女| 久久精品99久久久| 国产精品资源网站| 678五月天丁香亚洲综合网| 91在线无精精品入口| 日韩视频一区二区三区| 国产精品系列在线播放| 日本不卡123| 日韩制服丝袜av| 国产在线精品免费| 欧美成人性战久久| 久久97超碰国产精品超碰| 久久国产精品72免费观看| 亚洲国产美女搞黄色| 精品一二线国产| 一本到一区二区三区| 欧美一区二区三区精品| 久久精品亚洲精品国产欧美kt∨ | 亚洲欧美综合另类在线卡通| 国产精品久线观看视频| 亚洲线精品一区二区三区八戒| 久久99最新地址| 色悠悠久久综合| 久久久一区二区| 亚洲福利电影网| 国产精品一品视频| 91精品国产综合久久久久久久 | av中文字幕不卡| 在线观看日韩电影| 中文字幕中文字幕中文字幕亚洲无线| 亚洲美女屁股眼交| 波多野结衣一区二区三区 | 亚洲bdsm女犯bdsm网站| 国产在线精品免费| 欧美一级生活片| 亚洲人亚洲人成电影网站色| 国产精品一区二区三区四区| 欧美一区二区三区四区在线观看| 一区二区三区欧美激情| 欧美视频一区二区三区| 黑人巨大精品欧美黑白配亚洲| 亚洲色图视频免费播放| 91日韩精品一区| 国产女主播一区| 久久精品久久99精品久久| 91精品一区二区三区久久久久久| 一区二区三区免费网站| 欧美大片免费久久精品三p| 日韩精品在线网站| 欧美色网站导航| 色综合久久久久久久久久久| 久久久久国产一区二区三区四区 | 亚洲亚洲精品在线观看| 91天堂素人约啪| 国产精品人人做人人爽人人添| 色婷婷综合五月| 亚洲成人av一区| 日韩美女在线视频| 高清国产一区二区三区| 国产精品丝袜一区| 成人妖精视频yjsp地址| 综合网在线视频| 欧美一区二区三区四区在线观看| 首页国产欧美久久| 精品免费国产二区三区| 99国产精品国产精品毛片| 亚洲在线视频一区| 972aa.com艺术欧美| 日日摸夜夜添夜夜添精品视频| 久久久久亚洲综合| 在线免费观看不卡av| 麻豆成人在线观看| 中文字幕的久久| 91麻豆精品国产自产在线| 国产精品性做久久久久久| 亚洲电影在线播放| 欧美激情在线观看视频免费| 欧美夫妻性生活| 91视频观看免费| 丁香激情综合五月| 麻豆精品一区二区| 午夜精品一区二区三区三上悠亚| 久久亚洲春色中文字幕久久久| 99国产精品视频免费观看| 国产福利一区在线观看| 国产一区欧美日韩| 91麻豆精品秘密| 不卡的av在线播放| 国产精品久久久久9999吃药| 欧美视频一区二区三区在线观看| 成人久久视频在线观看| 久久精品国产**网站演员| 成人精品在线视频观看| 久久综合九色欧美综合狠狠| 久久超碰97中文字幕| 国产精品久久久久久久浪潮网站| 国产成人免费高清| 亚洲男女一区二区三区| 欧美日韩国产123区| 久久精品国产精品青草| 久久久久久久久久久久久久久99 | 911精品国产一区二区在线| 在线观看一区日韩| 91福利在线看| 欧美一区二区三区播放老司机| 欧美三级韩国三级日本三斤| 欧美日韩美女一区二区| 在线观看区一区二| 欧美日本不卡视频| 欧美不卡视频一区| 欧美激情中文不卡| 一区二区三区美女视频| 亚洲一区二区五区| 亚洲一级不卡视频| 免费久久99精品国产| 国产不卡视频在线观看| 91亚洲精华国产精华精华液| 91网站视频在线观看| 欧美日韩成人综合天天影院| 欧美成人免费网站| 国产精品灌醉下药二区| 亚洲成在线观看| 成人av动漫网站| 欧美一级片在线看| 亚洲激情中文1区| 久久国产精品99久久久久久老狼| 成人av先锋影音|