send_package.vhd

来自「很多仪器都输出同步时钟」· VHDL 代码 · 共 58 行

VHD
58
字号
-- 库声明
library IEEE;
use IEEE.STD_LOGIC_1164.all; 

-- 包声明
PACKAGE SEND_PACKAGE IS	 

type dt_state is
(
dt_unlock,
dt_lock
);
	
-- UART状态
type UART_STATE is
( 
UART_IDLE,
UART_LOAD,
UART_SEND,	
RECV_DETECT,
RECV,
CHECK,
UART_END_SEND
);

type PARITY is
(
NONE,		-- 无奇偶校验
ODD,		-- 奇校验
EVEN		-- 偶校验
);


-- 函数声明
function MultiXOR(
	din : in std_logic_vector )
  	return std_logic;

END SEND_PACKAGE;

-- 包体
PACKAGE BODY SEND_PACKAGE IS

-- 函数实现
function MultiXOR(
	din : in std_logic_vector )
  	return std_logic is
	variable check : std_logic;
begin
	check := din(din'LOW);
	for i in 1 to (din'HIGH) loop
		check := check xor din(i);
	end loop;
		
	return check;
end MultiXOR;

END SEND_PACKAGE;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?