crc16generator.vhd

来自「实现了SD的SPI模式,通过了所有的仿真及测试,支持数据的读和写.对SD卡的SP」· VHDL 代码 · 共 33 行

VHD
33
字号
LIBRARY IEEE ;USE IEEE.STD_LOGIC_1164.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ;use work.PCK_CRC16_D1.all;--CRC-CCITT=x^16+x^12+x^5+1ENTITY CRC16Generator IS     --顶层实体 PORT ( RST:in std_logic;--异步清零 TestData:in std_logic;--在时钟上升沿时读入的数据 Clock:in std_logic;--控制时钟 Hold:in std_logic;--保持数据,为1时则即使读入新数据输出不变 CRC:out std_logic_vector(15 downto 0)); --16位CRC校验码END CRC16Generator;ARCHITECTURE BEHAV_CRC16 OF CRC16Generator ISBEGIN   PROCESS(RST,Clock,Hold)--主进程	--CRCVaria为描述CRC输出的变量	variable  CRCVaria : STD_LOGIC_VECTOR(15 DOWNTO 0):=(others=>'0');	   BEGIN	if RST='1' then		CRCVaria:=(others=>'0');	else if Hold='0' then--允许计数			if Clock'event and Clock='1' then--检测到上升沿				CRCVaria:=nextCRC16_D1(TestData,CRCVaria);--读入数据并产生CRC码			end if;		end if;	end if;	CRC<=CRCVaria;   END PROCESS;	END BEHAV_CRC16;

⌨️ 快捷键说明

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