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

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

?? miniuart.vhd

?? 一個(gè)簡(jiǎn)單的uart的VHDL描述
?? VHD
字號(hào):
--===========================================================================--
--
--  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
--
-- 3.1      Mike Hasenfratz  20 August   2003      Conntected Format bits to control registers
--				mikehsr@opencores.org
-------------------------------------------------------------------------------
-- 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 PErr   : Std_Logic;  -- Parity 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;  -- system 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
	  Format : in  Std_Logic_Vector(2 downto 0) := "000";
     FRErr  : out Std_Logic;  -- Status signal
     ORErr  : out Std_Logic;  -- Status signal
	  PAErr  : out Std_logic;  -- Status Signal
     DARdy  : out Std_Logic;  -- Status signal
     DAOut  : 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
	  Format : in  Std_Logic_Vector(2 downto 0) := "000"; -- word format
     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,
           Format		=> CtrlReg(4 downto 2),
					 TxD      => TxD,
					 TBE      => TBufE,
					 DataO    => TxData);

  RxDev   : RxUnit  port map (
           Clk      => SysClk,
					 Reset    => Reset,
					 Enable   => EnabRX,
					 RxD      => RxD,
					 ReadD    => Read,
           Format		=> CtrlReg(4 downto 2),
					 FRErr    => FErr,
					 ORErr    => OErr,
					 PAErr		=> PErr,
					 DARdy    => DRdy,
					 DAOut    => 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) := PErr; -- 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 =======================--

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区 在线观看视频| 久久免费午夜影院| 在线播放中文字幕一区| 91精选在线观看| 久久精品日产第一区二区三区高清版 | 亚洲精品国产一区二区精华液| 中文字幕人成不卡一区| 日韩中文字幕91| 国产中文一区二区三区| 豆国产96在线|亚洲| 色综合久久88色综合天天6| 制服视频三区第一页精品| 精品第一国产综合精品aⅴ| **性色生活片久久毛片| 日本欧美肥老太交大片| 99久久精品情趣| 日韩精品一区二区三区蜜臀| 国产精品成人一区二区艾草| 五月天丁香久久| 成人精品在线视频观看| 精品入口麻豆88视频| 亚洲精品自拍动漫在线| 国产高清久久久| 欧美日韩精品欧美日韩精品一| 国产精品午夜在线| 国产在线视频一区二区三区| 欧美色视频一区| 中文字幕一区免费在线观看| 久久99深爱久久99精品| 欧美日韩视频在线第一区| 中国色在线观看另类| 国产电影一区二区三区| 精品国产伦一区二区三区观看体验 | 国产精品资源站在线| 制服丝袜中文字幕一区| 亚洲一区二区四区蜜桃| 91视视频在线观看入口直接观看www| wwww国产精品欧美| 久久 天天综合| 日韩欧美久久一区| 久久99深爱久久99精品| 国产色婷婷亚洲99精品小说| 国产一区二区三区高清播放| 国产日韩欧美在线一区| 国产成人a级片| 亚洲免费av高清| 欧美亚洲国产怡红院影院| 一区二区三区中文字幕在线观看| 在线观看视频91| 婷婷国产v国产偷v亚洲高清| 欧美精品 国产精品| 日精品一区二区三区| 777xxx欧美| av午夜一区麻豆| 亚洲国产精品影院| 国产欧美中文在线| 欧美在线观看你懂的| 国产美女精品一区二区三区| 亚洲免费av观看| 精品国产三级电影在线观看| 色婷婷综合激情| 国内一区二区视频| 亚洲高清久久久| 国产三级精品在线| 日韩精品中文字幕在线一区| 99国产精品久久久久久久久久 | 亚洲国产精品高清| 精品久久国产97色综合| 一本久道久久综合中文字幕| 精品在线观看免费| 午夜一区二区三区视频| 最新日韩在线视频| 欧美激情在线一区二区三区| 日韩一区二区在线看片| 91久久人澡人人添人人爽欧美| 国产成人免费视频精品含羞草妖精| 亚洲一二三区不卡| 午夜精品久久久久久| 亚洲精品国产精品乱码不99| 中文字幕电影一区| 中文av一区二区| 亚洲男同性视频| 亚洲自拍偷拍图区| 偷拍自拍另类欧美| 日韩国产一二三区| 另类人妖一区二区av| 另类小说色综合网站| 国产寡妇亲子伦一区二区| 久久不见久久见免费视频1| 久久精品噜噜噜成人av农村| 精品制服美女丁香| 91女神在线视频| 欧美日韩的一区二区| 精品欧美一区二区久久| 久久久av毛片精品| 亚洲综合免费观看高清完整版在线 | 五月天一区二区| 久久精品免费看| 91网站最新地址| 欧美一级黄色录像| 国产精品美女久久久久aⅴ国产馆| 国产精品久久久久久久岛一牛影视 | 日韩精品五月天| 国产91丝袜在线播放九色| 欧美丝袜第三区| 国产三级三级三级精品8ⅰ区| 中文字幕亚洲一区二区va在线| 亚洲主播在线观看| 大美女一区二区三区| 91精品国产全国免费观看 | 美女脱光内衣内裤视频久久网站 | 午夜国产精品一区| 国产激情91久久精品导航| 欧美一区二区大片| 亚洲尤物视频在线| 成人天堂资源www在线| 精品日韩在线一区| 日韩国产在线一| 欧美日韩成人综合在线一区二区 | 国产精品99久久久久久久vr| 欧美精品日韩精品| 亚洲午夜精品在线| 在线视频观看一区| 亚洲精品欧美在线| 一本到三区不卡视频| 亚洲精品中文在线观看| 99re热这里只有精品视频| 精品国产91乱码一区二区三区 | 国产精品色眯眯| 成人免费观看视频| 综合色中文字幕| 色999日韩国产欧美一区二区| 国产日韩亚洲欧美综合| 成人午夜碰碰视频| 国产精品动漫网站| 欧美亚洲综合色| 日韩电影在线观看一区| 久久久久国产成人精品亚洲午夜 | 国产精品国产三级国产三级人妇 | 亚洲国产精品自拍| 欧美精品一级二级| 精品午夜一区二区三区在线观看| 日韩毛片精品高清免费| 色哟哟精品一区| 日本午夜精品一区二区三区电影 | 丁香一区二区三区| 亚洲午夜影视影院在线观看| 欧美一级一级性生活免费录像| 九九九久久久精品| 亚洲影院久久精品| 国产欧美日韩不卡| 欧美日韩中文字幕一区二区| 国产精品自拍三区| 午夜av一区二区| 专区另类欧美日韩| 久久久亚洲综合| 欧美一区二区三区电影| 9久草视频在线视频精品| 日本成人在线电影网| 日韩美女视频一区| 国产欧美日韩三级| 日韩一区二区三区视频| 欧美视频一区在线观看| 成人在线综合网站| 精品亚洲porn| 毛片av中文字幕一区二区| 亚洲综合一区二区| 亚洲免费观看视频| 亚洲精品视频在线看| 亚洲欧洲性图库| 日韩伦理电影网| 国产精品系列在线| 国产精品激情偷乱一区二区∴| 久久精品日产第一区二区三区高清版 | 欧美一区二区视频在线观看 | 日韩精品免费专区| 日本一不卡视频| 黄网站免费久久| 国产成人在线视频网址| 国产精品一区免费视频| 国产精品一区二区在线观看不卡 | 国产亚洲短视频| 亚洲国产精品成人综合| 1000精品久久久久久久久| 一区二区三区在线观看国产| 亚洲另类色综合网站| 亚洲一区在线视频观看| 久久国产人妖系列| 国产精品91一区二区| 日本高清不卡视频| 欧美一级爆毛片| 自拍偷拍亚洲激情| 日韩av中文字幕一区二区| 国产成人精品影院| 欧美日韩中文精品| 中文字幕精品一区二区三区精品| 亚洲乱码国产乱码精品精小说| 日韩制服丝袜av| 99在线热播精品免费| 欧美不卡在线视频|