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

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

?? uart.vhd

?? 此為FPGA上的一個串口通信程序
?? VHD
字號:
library IEEE;
use IEEE.std_logic_1164.all;
use WORK.UART_PACKAGE.all;

entity UART is

  generic(
     -- 數據位個數
	DATA_BIT : integer := 8;
	-- 總數據個數
	TOTAL_BIT : integer := 10;
	-- 奇偶校驗規則
	PARITY_RULE : PARITY := NONE;
	--完整波特率時鐘對應的計數
	FULL_PULSE_COUNT : BD_COUNT := BD9600_FPC;
	--波特率時鐘上升沿對應的計數
	RISE_PULSE_COUNT : BD_COUNT := BD9600_HPC 
  );
  port(
	  -- 時鐘信號
       clk : in STD_LOGIC;
	  -- 復位信號
       reset_n : in STD_LOGIC;
	  -- 發送控制信號
       send : out STD_LOGIC;
	  -- 數據發送總線
       send_bus : out STD_LOGIC_VECTOR(DATA_BIT-1 downto 0);
	  -- 發送完成信號
      -- send_over : out STD_LOGIC;
	  -- 錯誤提示信號
       --error : out STD_LOGIC;
	  -- 接收提示信號
      -- recv : out STD_LOGIC;
	  -- 數據接收總線
       recv_bus : out STD_LOGIC_VECTOR(DATA_BIT-1 downto 0);
	  -- RS-232數據接收端口
       RxD : in STD_LOGIC;
	  -- RS-232數據發送端口
       TxD : out STD_LOGIC );
end UART;

architecture UART of UART is

-- 波特率發生器組件聲明
component baudrate_generator
  generic(
       FULL_PULSE_COUNT : BD_COUNT := BD9600_FPC;
       RISE_PULSE_COUNT : BD_COUNT := BD9600_HPC
  );
  port (
       ce : in STD_LOGIC;
       clk : in STD_LOGIC;
       reset_n : in STD_LOGIC;
       bg_out : out STD_LOGIC;
       indicator : out STD_LOGIC
  );
end component;
-- 計數器組件聲明
component counter
  generic(
       MAX_COUNT : INTEGER := 10
  );
  port (
       ce : in STD_LOGIC;
       clk : in STD_LOGIC;
       reset_n : in STD_LOGIC;
       overflow : out STD_LOGIC
  );
end component;
-- 信號監測器
component detector
  port (
       RxD : in STD_LOGIC;
       clk : in STD_LOGIC;
       reset_n : in STD_LOGIC;
       new_data : out STD_LOGIC
  );
end component;
-- 奇偶校驗器
component parity_verifier
  generic(
       DATA_LENGTH : INTEGER := DATA_BIT;
       PARITY_RULE : PARITY := PARITY_RULE
  );
  port (
       source : in STD_LOGIC_VECTOR(DATA_LENGTH-1 downto 0);
       parity : out STD_LOGIC
  );
end component;
-- 移位寄存器
component shift_register
  generic(
       TOTAL_BIT : INTEGER := TOTAL_BIT
  );
  port (
       clk : in STD_LOGIC;
       din : in STD_LOGIC;
       reset_n : in STD_LOGIC;
       dout : out STD_LOGIC;
       regs : out STD_LOGIC_VECTOR(TOTAL_BIT-1 downto 0)
  );
end component;
-- 二選一選擇器
component switch
  port (
       din1 : in STD_LOGIC;
       din2 : in STD_LOGIC;
       sel : in STD_LOGIC;
       dout : out STD_LOGIC
  );
end component;
-- 總線選擇器
component switch_bus
  generic(
       BUS_WIDTH : INTEGER := DATA_BIT
  );
  port (
       din1 : in STD_LOGIC_VECTOR(BUS_WIDTH-1 downto 0);
       din2 : in STD_LOGIC_VECTOR(BUS_WIDTH-1 downto 0);
       sel : in STD_LOGIC;
       dout : out STD_LOGIC_VECTOR(BUS_WIDTH-1 downto 0)
  );
end component;
-- UART內核
component uart_core
  generic(
       DATA_BIT : INTEGER := DATA_BIT;
       PARITY_RULE : PARITY := PARITY_RULE;
       TOTAL_BIT : INTEGER := TOTAL_BIT
  );
  port (
       clk : in STD_LOGIC;
       new_data : in STD_LOGIC;
       overflow : in STD_LOGIC;
       parity : in STD_LOGIC;
       regs : in STD_LOGIC_VECTOR(TOTAL_BIT-1 downto 0);
       reset_n : in STD_LOGIC;
       send : in STD_LOGIC;
	   sending:out std_logic;
       send_bus : in STD_LOGIC_VECTOR(DATA_BIT-1 downto 0);
       ce_parts : out STD_LOGIC;
       error : out STD_LOGIC;
       recv : out STD_LOGIC;
       recv_bus : out STD_LOGIC_VECTOR(DATA_BIT-1 downto 0);
       reset_dt : out STD_LOGIC;
       reset_parts : out STD_LOGIC;
       sel_clk : out STD_LOGIC;
       sel_out : out STD_LOGIC;
       sel_pv : out STD_LOGIC;
       sel_si : out STD_LOGIC;
       send_over : out STD_LOGIC;
       send_si : out STD_LOGIC
  );
end component;

component add_function
port(clk:in std_logic;
	 reset_n: in std_logic;
	 sending: in std_logic;
	 send:out std_logic;
	 recv_over:in std_logic;
	 send_buf:out std_logic_vector(DATA_BIT-1 downto 0);
	 recv_buf:in std_logic_vector(DATA_BIT-1 downto 0)
	);
end component;

----     常數     -----
constant VCC_CONSTANT   : STD_LOGIC := '1';
---- 內部信號聲明 ----
signal bg_clk : STD_LOGIC;
signal bg_out : STD_LOGIC;
signal ce_parts : STD_LOGIC;
signal clk_inv : STD_LOGIC;
signal counter_clk : STD_LOGIC;
signal indicator : STD_LOGIC;
signal new_data : STD_LOGIC;
signal overflow : STD_LOGIC;
signal parity : STD_LOGIC;
signal reset_dt : STD_LOGIC;
signal reset_parts : STD_LOGIC;
signal sel_clk : STD_LOGIC;
signal sel_out : STD_LOGIC;
signal sel_pv : STD_LOGIC;
signal sel_si : STD_LOGIC;
signal send_si : STD_LOGIC;
signal sr_in : STD_LOGIC;
signal sr_out : STD_LOGIC;
signal VCC : STD_LOGIC;
signal pv_source : STD_LOGIC_VECTOR (DATA_BIT-1 downto 0);
signal recv_parity_source : STD_LOGIC_VECTOR (DATA_BIT-1 downto 0);
signal regs : STD_LOGIC_VECTOR (TOTAL_BIT-1 downto 0);
signal send_parity_source : STD_LOGIC_VECTOR (DATA_BIT-1 downto 0);
signal sendsignal:std_logic;
signal recv_over:std_logic;
signal sending:std_logic;
signal error:std_logic;
signal send_over:std_logic;

begin

	-- 信號連接
	clk_inv <= not clk;	 
	VCC <= VCC_CONSTANT; 
	recv_bus <= recv_parity_source; 
	send_bus <= send_parity_source;
	send<=sendsignal; 
	--recv <= recv_over;

	-- 波特率發生器實例
	U_BG : baudrate_generator
	  port map(
	       bg_out => bg_out,
	       ce => ce_parts,
	       clk => clk,
	       indicator => indicator,
	       reset_n => reset_parts
	  );
	-- 總線選擇器實例
	U_BusSwitch : switch_bus
	  port map(
	       din1 => send_parity_source( DATA_BIT-1 downto 0 ),
	       din2 => recv_parity_source( DATA_BIT-1 downto 0 ),
	       dout => pv_source( DATA_BIT-1 downto 0 ),
	       sel => sel_pv
	  );
	-- UART內核實例
	U_Core : uart_core
	  port map(
	       ce_parts => ce_parts,
	       clk => clk,
	       error => error,
	       new_data => new_data,
	       overflow => overflow,
	       parity => parity,
	       recv => recv_over,
	       recv_bus => recv_parity_source( DATA_BIT-1 downto 0 ),
	       regs => regs( TOTAL_BIT-1 downto 0 ),
	       reset_dt => reset_dt,
	       reset_n => reset_n,
	       reset_parts => reset_parts,
	       sel_clk => sel_clk,
	       sel_out => sel_out,
	       sel_pv => sel_pv,
	       sel_si => sel_si,
	       send => sendsignal,
		   sending=>sending,
	       send_bus => send_parity_source( DATA_BIT-1 downto 0 ),
	       send_over => send_over,
	       send_si => send_si
	  );
	-- 計數器實例
	U_Counter : counter
	  port map(
	       ce => ce_parts,
	       clk => counter_clk,
	       overflow => overflow,
	       reset_n => reset_parts
	  );
	-- 計數器時鐘源選擇器
	U_CounterClkSwitch : switch
	  port map(
	       din1 => indicator,
	       din2 => clk_inv,
	       dout => counter_clk,
	       sel => sel_clk
	  );
	-- 信號監測器
	U_Detector : detector
	  port map(
	       RxD => RxD,
	       clk => clk,
	       new_data => new_data,
	       reset_n => reset_dt
	  );
	-- 奇偶校驗器
	U_ParityVerifier : parity_verifier
	  port map(
	       parity => parity,
	       source => pv_source( DATA_BIT-1 downto 0 )
	  );
	-- 移位寄存器輸入源選擇器實例
	U_SISwitch : switch
	  port map(
	       din1 => send_si,
	       din2 => RxD,
	       dout => sr_in,
	       sel => sel_si
	  );
	-- 移位寄存器實例
	U_SR : shift_register
	  port map(
	       clk => bg_clk,
	       din => sr_in,
	       dout => sr_out,
	       regs => regs( TOTAL_BIT-1 downto 0 ),
	       reset_n => reset_parts
	  );
	-- 移位寄存器時鐘源選擇器實例
	U_SRClkSwitch : switch
	  port map(
	       din1 => bg_out,
	       din2 => clk_inv,
	       dout => bg_clk,
	       sel => sel_clk
	  );
	-- 輸出選擇器實例
	U_TXDSwitch : switch
	  port map(
	       din1 => VCC,
	       din2 => sr_out,
	       dout => TxD,
	       sel => sel_out
	  );
	U_ADD:add_function
	  port map(
		   clk=>clk,
		   reset_n => reset_n,
		   send=>sendsignal,
		   sending=>sending,
		   recv_over => recv_over,
		   send_buf=>send_parity_source(DATA_BIT-1 downto 0),
		   recv_buf=>recv_parity_source( DATA_BIT-1 downto 0 )
	  );

end UART;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美色手机在线观看| 久久久久久久久久久久久久久99 | 老汉av免费一区二区三区| 国产一区二区中文字幕| 91小视频免费观看| 久久青草欧美一区二区三区| 亚洲午夜国产一区99re久久| 成人激情校园春色| 精品剧情v国产在线观看在线| 亚洲黄色尤物视频| 春色校园综合激情亚洲| 欧美xxx久久| 天堂成人免费av电影一区| 色婷婷综合久久久久中文| 久久亚洲私人国产精品va媚药| 亚洲成人av一区二区三区| 国产成人在线网站| 日韩精品一区二区三区在线 | 国产精品污污网站在线观看| 亚洲一卡二卡三卡四卡| www.欧美日韩| 国产精品久久久久aaaa樱花 | 日本一区中文字幕| 欧美日韩极品在线观看一区| 亚洲精品国产精华液| 成人app下载| 国产精品色一区二区三区| 福利一区二区在线观看| 欧美国产日韩精品免费观看| 精品一区二区久久久| 精品国产一区二区三区av性色| 日韩精品亚洲专区| 欧美一级黄色片| 欧美a一区二区| 欧美一卡二卡三卡| 精品中文字幕一区二区| 日韩欧美你懂的| 国产综合一区二区| 中文字幕巨乱亚洲| 不卡一区二区三区四区| 国产精品久久久久精k8| 色94色欧美sute亚洲线路一ni | 日韩国产欧美在线视频| 91精品国产91久久久久久一区二区 | 日韩欧美国产系列| 久久综合综合久久综合| 88在线观看91蜜桃国自产| 亚洲午夜三级在线| 4438x成人网最大色成网站| 奇米影视在线99精品| 日韩欧美精品在线| 东方欧美亚洲色图在线| 亚洲欧美日韩一区| 在线看国产一区二区| 日韩福利电影在线| 欧美高清一级片在线观看| 99re亚洲国产精品| 依依成人精品视频| 欧美成人女星排行榜| 国内精品伊人久久久久av一坑| 日韩欧美一级二级三级久久久| 国产一区二区三区免费观看| 亚洲视频每日更新| 色综合亚洲欧洲| 亚洲va天堂va国产va久| 久久影视一区二区| 91福利视频久久久久| 日本aⅴ亚洲精品中文乱码| 国产亚洲人成网站| 欧美亚洲图片小说| 国产综合久久久久久鬼色| 亚洲视频资源在线| 日韩免费观看2025年上映的电影| 粉嫩aⅴ一区二区三区四区| 亚洲一区二区精品视频| 久久久精品影视| 一本色道久久综合精品竹菊 | 一区二区三区久久久| 欧美一级电影网站| 91原创在线视频| 国产一区三区三区| 午夜精品福利久久久| 亚洲欧美自拍偷拍色图| 精品久久99ma| 欧美性受极品xxxx喷水| 成人av网站大全| 久久99久久99| 午夜精品一区二区三区免费视频| 国产精品久久毛片a| 精品成人一区二区三区四区| 在线国产电影不卡| 成人aa视频在线观看| 国产一区二区0| 蜜桃91丨九色丨蝌蚪91桃色| 亚洲一区在线电影| 亚洲女厕所小便bbb| 国产精品丝袜一区| 国产视频911| 久久这里只有精品6| 日韩欧美专区在线| 3atv在线一区二区三区| 欧美色男人天堂| 91黄色免费观看| 色综合久久综合网欧美综合网| 成人一区二区三区| 国产成人免费高清| 国产精品资源在线观看| 美女mm1313爽爽久久久蜜臀| 图片区小说区区亚洲影院| 亚洲一区二区视频| 亚洲在线中文字幕| 伊人色综合久久天天| 亚洲另类在线制服丝袜| 有坂深雪av一区二区精品| 亚洲欧美日韩国产另类专区| 中文字幕欧美一| 亚洲少妇30p| 亚洲天堂av一区| 亚洲精品一二三区| 一区二区三区欧美久久| 亚洲一区欧美一区| 日韩福利电影在线| 久久精品国内一区二区三区| 韩国中文字幕2020精品| 国产福利91精品一区| 成人午夜激情视频| 色www精品视频在线观看| 欧美中文字幕不卡| 欧美二区三区的天堂| 日韩欧美中文字幕制服| 国产亚洲精品福利| 亚洲精品欧美激情| 视频一区在线播放| 国产一区二区三区免费播放| 国产91精品露脸国语对白| 波波电影院一区二区三区| 91麻豆免费观看| 欧美老肥妇做.爰bbww视频| 日韩精品一区二区三区四区视频 | 亚洲精品高清在线观看| 天天色综合成人网| 国产乱淫av一区二区三区| 97se亚洲国产综合自在线观| 欧美精选午夜久久久乱码6080| 欧美成人欧美edvon| 国产精品网站在线观看| 亚洲一区二区三区三| 国内外精品视频| 93久久精品日日躁夜夜躁欧美| 欧美日韩免费一区二区三区 | 日韩一区二区免费在线电影| 日本一区二区三区在线不卡 | 欧美日韩你懂得| 久久久午夜精品理论片中文字幕| 最新高清无码专区| 麻豆精品一区二区av白丝在线| 不卡大黄网站免费看| 欧美日本乱大交xxxxx| 欧美经典一区二区| 午夜精品久久久久影视| 成人听书哪个软件好| 欧美一区二区三区四区久久 | 91视频国产资源| 亚洲精品一区在线观看| 亚洲国产日韩av| 成人免费视频播放| 91精品国产色综合久久不卡电影| 国产精品国产三级国产专播品爱网| 五月天丁香久久| 一本色道久久综合狠狠躁的推荐| 欧美mv日韩mv国产网站| 香蕉久久夜色精品国产使用方法| 国产成人免费xxxxxxxx| 欧美tk丨vk视频| 午夜天堂影视香蕉久久| 91丝袜国产在线播放| 国产欧美日韩激情| 极品少妇xxxx偷拍精品少妇| 欧美日韩精品一区二区三区四区 | 欧美美女网站色| 一区二区三区成人| 成人听书哪个软件好| 久久综合色鬼综合色| 日日摸夜夜添夜夜添精品视频| 成人晚上爱看视频| 国产日韩欧美麻豆| 国产麻豆一精品一av一免费| 欧美成人精精品一区二区频| 亚洲国产精品一区二区www| 色老头久久综合| 一区二区三区视频在线看| 91香蕉视频黄| 亚洲人成在线观看一区二区| 成人免费视频国产在线观看| 国产视频一区在线观看| 国产成人av一区二区三区在线| 精品久久久久久无| 国产真实乱对白精彩久久| 精品福利二区三区| 国产综合色在线|