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 + -
显示快捷键?