发明名称 一种应用于PXI Express总线测试系统的通用数据压缩IP核
摘要 一种应用于PXI Express总线测试系统的通用数据压缩IP核,涉及一种通用数据压缩IP核。它是为了适应针对PXI Express总线测试系统的通用数据压缩IP核的需求。它基于LZW算法对数据进行无损压缩。其中IP核对外的接口有三个:字符数据流输入的Avalon8位内存映射型从端口,用于控制压缩启动停止及获取工作状态和压缩率的Avalon32位内存映射型从端口和用于将压缩后的数据流写入存储器的Avalon8位内存映射型主端口。本发明可广泛应用于基于PXI Express总线的设备,如:模拟量采集卡、开关量采集卡、总线分析仪等。
申请公布号 CN103268299A 申请公布日期 2013.08.28
申请号 CN201310172333.8 申请日期 2013.05.10
申请人 哈尔滨工业大学 发明人 乔家庆;尹洪涛;池哲强;凤雷;付平;张奇;刘岩
分类号 G06F13/20(2006.01)I 主分类号 G06F13/20(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 张宏威
主权项 一种应用于PXI Express总线测试系统的通用数据压缩IP核,其特征是:它包括输入接口控制模块、LZW算法核心状态机、HASH地址生成从状态机、数据位宽转换模块、输出接口控制模块、配置查询接口模块和哈希字典模块;输入接口控制模块中内嵌一个Avalon8位内存映射型从端口和一个数据输入缓冲FIFO模块;输入接口控制模块用于将写入Avalon8位内存映射型从端口的数据取出并存储到数据输入缓冲FIFO模块中;数据输入缓冲FIFO模块:用于从Avalon8位内存映射型从端口读取数据并发送给LZW算法核心状态机;LZW算法核心状态机包括如下状态:A1、空闲状态:用于判断开始信号Start的状态,当开始信号有效Start=1时,进入初始化状态;A2、初始化状态:用于初始化字典词条为未使用的状态;A3、轮询状态:用于判断输入接口控制模块是否还有未压缩的数据及用户是否结束本次压缩;当输入接口控制模块数据标识Fifo_empty=0时,表明还有未压缩的数据,下一状态进入字典查找状态;当数据标识Fifo_empty=1且用户结束压缩标识Stop=1时,表明没有未压缩的数据及用户结束本次压缩,输出压缩结束标识,下一状态进入空闲态;当数据标识Fifo_empty=1且用户结束压缩标识Stop=0时,表明用户继续对输入数据进行压缩,下一状态仍为轮询状态;A4、字典查找状态:用于配合HASH地址生成查找状态机一起进行字典查找工作;从输入接口控制模块读入的第一个数据高位补零后赋给变量di,之后读入的数据赋给变量ch,将变量di和变量ch送入HASH地址生成查找状态机进行匹配查找工作;查找完成后判断匹配标识Match,当匹配标识Match=1时,下一状态进入匹配状态;当匹配标识Match=0时,下一状态进入不匹配状态;A5、匹配状态:用于将地址为HASH地址生成查找状态机返回的索引值index的字典词条内容dict_used赋给变量di,下一状态进入轮询状态;A6、不匹配状态:用于输出变量di的值到数据位宽转换模块,下一状态进入字典维护状态;A7、字典维护状态:用于判断字典是否满及更新字典词条;HASH地址生成从状态机包括如下状态:B1、空闲状态:用于判断触发信号Trig的状态,当触发信号有效Trig=1时,表明LZW算法核心状态机已经完成对变量di和变量ch的准备,下一状态进入生成HASH索引状态;当触发信号无效Trig=0时,表明LZW算法核心状态机未准备好变量di和变量ch,下一状态进入空闲状态;B2、生成HASH索引状态,用于生成哈希字典地址index;B3、取字典数据并计算偏移量状态:根据HASH索引状态生成的哈希字典地址index取出字典数据用于比较状态的判断;同时重新生成HASH索引的偏移量offset,如果index=0,则offset=1;否则offset=TABLE_SIZE‑index;下一状态进入比较状态;式中:TABLE_SIZE为哈希字典模块的大小;B4、比较状态:根据取回的地址为index的字典数据判断查找的结果;当地址为index的字典词条标记为未使用时,表明没有地址冲突Conflict=0,下一状态进入空闲状态,同时LZW算法核心状态机判断本次查找结果为不匹配;当地址为index的字典词条已经被使用了,同时字典内容与变量di和变量ch匹配,表明没有地址冲突Conflict=0,下一状态进入空闲状态,同时LZW算法核心状态机判断本次查找结果为匹配;当不满足上述两种情况时,表明出现地址冲突Conflict=1,下一状态进入重新生成HASH索引状态;B5、重新生成HASH索引状态:用于在出现地址冲突时重新计算哈希字典地址;如果index>offset,计算公式为index=index‑offset;否则index=index‑offset+TABLE_SIZE;下一状态进入取字典数据状态;B6、取字典数据状态,根据重新生成的哈希字典地址index取出字典数据,下一状态进入比较状态;数据位宽转换模块:用于将LZW算法核心状态机模块输出的2个12位数据流转换成3个8位数据流;输出接口控制模块中内嵌一个Avalon8位内存映射型主端口和一个数据输出缓冲FIFO模块;输出接口控制模块用于将写入到数据输出缓冲FIFO模块的数据读出,还用于通过 Avalon8位内存映射型主端口写入到后端存储系统中;配置查询接口模块内嵌一个Avalon32位内存映射型从端口和一组寄存器,用于控制IP核的工作运行及获取IP核的工作状态信息;该组寄存器包括控制寄存器、状态寄存器、数据输入统计寄存器、数据输出统计寄存器和预期数据输出寄存器;哈希字典模块:用于存储输入数据的特征。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号