Profile - CN091


CN091

基于DEII的网络威胁流量检测器

电子科技大学
通信与信息工程学院


Finals


[print]


Project

Name of Project:基于DEII的网络威胁流量检测器

Contact Information

Name:郑宇
E-Mail:zhengyu-629@163.com
Telephone:8613880970529
Mobile Phone:13541219961
Mailing Address:四川省成都市 电子科技大学 通信与信息工程学院 ASIC教研室 逸夫楼 213

Contest Advisor

Name:李广军
E-Mail:gjli@uestc.edu.cn
Telephone:02883207230

Members

No.NameE-MailEnglish Name
1郑宇zhengyu-629@163.comZheng Yu
2赵文豪zwh60515@uestc.edu.cnZhao Wen hao
3潘经纬ufopjw@uestc.edu.cn潘经纬

Project Paper - view as Preliminary(2009/06/15), Final(2009/09/14), Draft, Latest

1. 设计概述 (Preliminary Paper)

 

1       设计概述

1.1    设计意图

本作品设计了一种基于DEII平台的网络威胁流量检测器,可完成多种网络入侵攻击的检测与识别,具有成本低廉、性能稳定高效的特点。
随着互联网的发展,网络安全越来越受到人们的重视。入侵检测系统(IDS:Intrusion Detection System)是一种新的网络安全技术,被认为是防火墙之后的第二道安全门。IDS通过从计算机网络中的关键点收集信息,并对这些信息进行检测(如:协议解析、特征检测、异常检测等各类检测技术),从而发现网络或者系统中是否有违反安全策略的行为或遭到攻击。通常IDS的工作模式为:
1.        从网络的不同关键点收集信息
2.        将该信息与行为特征库进行比对,分析信息是否含有恶意攻击行为
3.        对检测到的行为做出响应
4.        记录并报告检测结果
目前,随着网络容量的急速提升,千兆级入侵检测系统(IDS)已经成为其主流。在众多千兆级IDS系统的技术方案中,比较流行的是基于高性能CPU、网络处理器(Network Processor,NP)以及与硬件加速器协同处理的架构等。其中,高性能CPU主要完成整个系统的控制,网络处理器(NP)用于网络协议处理、防火墙、QoS等,而硬件加速器一般采用ASIC(专用集成电路)或者FPGA(现场可编程门阵列)器件。上述基于硬件设备的IDS系统,虽然能较好地执行复杂度较高的程序(处理方法),但是这些高性能的千兆级IDS装置往往结构复杂、价格昂贵,难以在广大的中小用户中得到推广和普及。
目前,在个人电脑等平台上也有采用纯软件来实现入侵检测的方法,如:开源的SNORT IDS,该入侵检测系统首先将获取到的数据包进行预处理,然后与规则库进行规则头与内容匹配处理。其中规则头匹配包括:协议类型、源目IP地址、源目端口号匹配;内容匹配处理包括:常字符串匹配以及正则表达式匹配处理。此类入侵检测系统虽然具有运行费用低、且有很强的入侵检测能力,但由于此类IDS系统中软件抓包器的速率一般只能达到每秒数十兆比特,因而,若将其应用在千兆级网络中则存在:一是运行中会直接漏检很多数据包,二是软件方式实现的模式匹配、使协议分析等处理速度极慢,最终导致整个系统性能低下等致命的缺陷。
本作品的意图在于设计一种价格低廉并且吞吐率高、可重配置、高效的入侵检测器,该入侵检测器以DEII开发板为基础,可独立地实现一般入侵检测系统的全部功能:信息收集、规则匹配、威胁响应等。本入侵检测器在网络层、传输层、应用层上进行入侵检测处理:在网络层、传输层完成非规则攻击检测(如:SYN洪范攻击、操作系统探查、端口扫描等非规则攻击检测);而在应用层完成规则攻击检测(主要将应用层数据与规则库进行匹配处理)。当检测到威胁信息后,能够通过串口将报警信息送入主机进行实时显示与日志记录,以便于用户或网络管理人员对网络进行监控。

1.2    适用范围及人群

网络安全越来越受到人们的重视,入侵检测系统具有广阔的发展前景。但是目前的商用入侵检测系统大多系统复杂、价格昂贵、相关技术资料被厂商严格保密。本设计具有系统结构简单、价格低廉、可重配置等特点,因此非常适合于个人用户、中小企业级用户以及学校教学实验等方面。

1.3    采用本款ALTERA器件的原因

本设计选用ALTERA DE2作为开发平台,该平台提供本设计需要的丰富硬件资源:网卡接口、USB2.0接口;液晶显示器以及LED灯;丰富的存储器资源SDRAM、SRAM、FLASH;其自带的Cyclone II2C35 FPGA具有超过30000个逻辑单元,同时具有超过400K的内置RAM。ALTERA 提供的NIOS II处理器能够出色的完成软件功能并且ALVALON总线结构也极大的降低了设计难度。此外,ALTERA提供了丰富的开发文档以及例程,极大地降低了开发难度,加速了开发进程。
(Revision: 3 / 2009-09-13 23:25:46)

2. 功能描述 (Final Project Paper)

 

2     功能描述

图2-1 基于DEII平台的网络威胁流量检测器

基于DEII平台的网络威胁流量检测器如图2-1所示,本设计能够对来自网络设备的数据在网络层、传输层进行非规则攻击检测,在应用层进行规则攻击检测,并根据检测结果产生报警信息后经DE2开发板上串口将报警信息传入主机,以便在主机上进行报警信息实时显示与日志记录。其中网络层、传输层非规则攻击检测功能在软件部分实现,应用层规则攻击功能在硬件部分实现。本设计包括以下功能模块:
1.      包头净荷分离模块:完成IP包头与净荷以及传输层协议包头与净荷的分离功能。
2.      网络层非规则攻击检测模块:对网络层IP协议、ICMP协议的特征字段进行分析,判断是否存在疑似非规则攻击。若存在,则产生报警信息。
3.      传输层非规则攻击检测模块:对传输层TCP协议、UDP协议的特征字进行分析,判读是否存在传输层疑似非规则攻击存在。若存在,则产生报警信息。
4.      预处理模块:完成IP分片数据包的重组,以及HTTP协议规范化功能。重组分片的IP数据包能够有效检测利用IP协议分片进行攻击的数据包。
5.      应用层规则匹配模块:将源目IP地址、协议类型、源目端口地址与SNORT规则库中的规则头进行匹配;将应用层净荷与SNORT规则库中的规则体进行匹配。若匹配成功,则输出单元将报警信息并通过AVALON总线接口传入主机通信模块。
6.    主机通信模块:将输入的报警信息通过串口送入主机。
(Revision: 3 / 2009-09-13 21:54:47)

3. 性能参数 (Final Project Paper)

3.性能参数

3.1 主要性能指标

            系统吞吐率达到 800Mbps 

            威胁流量检测硬件加速器工作频率 100MHZ

             NIOS CPU 工作频率  50MHZ      

3.2 SOPC系统结构

3.3 综合报告

(Revision: 3 / 2009-09-13 21:57:08)

4. 设计结构 (Preliminary Paper)

4       设计结构

4.1    系统概述

 

图4-1 入侵检测系统硬件架构

如图4-1所示,入侵检测系统是一个基于NiosII处理器的嵌入式系统,在AVALON总线上包含了USB控制器、SRAM控制器、FLASH控制器、SDRAM控制器、以太网接口控制器、自定义的硬件加速模块,以充分利用了DEII开发板上丰富的外设资源。其中,紫颜色的硬件加速模块由预处理模块和应用层规则匹配构成,具体见4.3.1节和4.3.2节的叙述;蓝颜色的功能模块是DEII开发板上的外设资源,包括:SRAM存储器、FLASH存储器、SDRAM存储器、以太网卡芯片。

4.2    入侵检测处理流程

图4-2 入侵检测处理流程图

步骤1.分离处理:将传入的数据进行IP包头、IP净荷及传输协议包头分离处理,并将IP包头和IP净荷与传输协议包头和IP包头分别输入网络层非规则攻击检测模块及传输层非规则攻击检测模块以便在网络层与传输层并行完成非规则攻击检测;
步骤2. 网络层非规则攻击检测:将经步骤1分离处理后进入网络层非规则攻击检测模块的IP包头及IP净荷,按照网络层协议(IP/ICMP协议)的规定对进行数据包进行网络层非规则攻击检测,若检测到非规则攻击,则产生相应的报警信息并将其输入到主机通信模块。
步骤3. 传输层非规则攻击检测:而经步骤1分离处理后进入传输层非规则攻击检测模块的传输层包头及IP包头,则按照传输层协议(TCP/UDP协议)的相关规定进行传输层非规则攻击检测,若检测到非规则攻击,则产生相应的警报信息并将其输入到主机通信模块。
步骤4. 数据包预处理:将由步骤1分离后的IP包头、净荷通过IP重组单元重组IP分片数据、通过应用层数据规范化单元对数据进行规范化处理,然后将处理后的IP包头和传输协议包头与应用层数据分别输入应用层规则匹配模块;
步骤5. 应用层规则匹配:将由步骤4输入 的IP包头和传输协议包头经规则头匹配单元进行规则头匹配处理,而输入的应用层数据经内容匹配单元对常字符串及正则表达式进行匹配处理;匹配处理后,若检测到应用层规则攻击,则由输出单元产生报警信息并将其通过AVALON总线接口将其送入软件部分的主机通信模块。
步骤6. 主机通信模块:主机通信模块收到来自各个模块的报警信息后,将其通过串口送入主机。

4.3 硬件部分设计

4.3.1   自定义的预处理模块设计

预处理模块将数据包预先处理后再输入内容检测模块,以提高应用层规则匹配模块电路的准确性,如图4-3-1所示,预处理模块由IP分片重组功能模块和HTTP协议规范化模块构成。其中,IP分片重组模块重组在网络层被分片的数据包净荷,以防威胁内容隐藏在多个分片数据包中使应用层规则匹配模块失效。完成HTTP协议规范化,即:统一URL地址的多种表达方式,以提高后级应用层规则匹配模块的准确性。
 
 4-3-1 预处理模块架构图

 4.3.2   自定义的应用层规则匹配模块设计

应用层规则匹配模块对数据包的应用层数据与设置好的规则库完成比对,以发现隐藏在净荷内的威胁信息。
图4-3-2 应用层规则匹配模块架构图
该模块需要完成如下两部分的比对:
  • 将数据包的源目IP、源目端口号、协议类型等数据与规则库的规则头进行比对。
  • 将数据包的应用层净荷与规则库的规则体进行比对。
根据比对结果,确定该数据包应用层数据是否包含威胁信息;同时将匹配成功的规则编码后输出到AVALON总线。

4.3.3   输入输出

从DEII的以太网卡芯片中提取来自交换机的以太数据包,在对其进行包头、净荷分离后完成网络层和传输层的非规则攻击检测、预处理、应用层规则匹配三步处理,将发现的威胁信息通过USB接口送入运行在PC机上的自编软件显示示,并产生威胁信息日志文件。

4.4    软件部分设计

4.4.1   嵌入式操作系统

由于本设计涉及多线程程序,需要嵌入式操作系统来进行任务调度及资源分配。考虑到设计的复杂性以及实时性,本设计选用了microC/OS-II操作系统。microC/OS-II是一种基于优先级的可抢占式硬实时内核,ALTERA已经将其移植到了NIOSII集成开发环境当中。省去了设计中的操作系统移植步骤,加速了设计的开发。

4.4.2   软件部分功能模块
  • 包头净荷分离模块:完成IP包头、净荷分离

  • 网络层非规则攻击检测模块:在网络层对数据包进行非规则攻击检测,其中包括IP协议非规则攻击检测单元,完成IP选项字段异常检测;ICMP协议非规则攻击检测单元,完成超长或碎片ICMP攻击检测、ICMP洪范攻击检测。检测完成后,产生报警信息。

  • 传输层非规则攻击检测模块:在传输层对数据包进行非规则攻击检测,其中包括TCP协议非规则攻击检测单元,完成SYN洪范攻击、操作系统探查、端口扫描等检测;UDP协议非规则攻击检测单元,完成UDP洪范攻击检测。检测完成后,产生报警信息。

  • 主机通信模块:收到来自网络层非规则攻击检测模块、传输层非规则攻击检测模块、应用层规则匹配模块的报警信息后,将其通过串口送入主机。

 

(Revision: 3 / 2009-09-13 22:02:42)

5. 设计方法 (Final Project Paper)

5.   设计方法

5.1.软件模块设计

 

                                                                                                                                                                                       图1 软件模块处理流程图 

步骤1:网卡芯片DM9000A接收到网络数据包后产生中断信号,触发网卡中断处理程序,并由网卡中断处理程序通过信号量激活任务1。
步骤2:任务1运行后,从DM9000A中读取网络数据(一次2个字节),并将包头数据存放到OnchipRAM中,在包头接收完毕后发送信号量启动TASK2(负责完成IP重组、非规则攻击检测),任务1同时进入等待状态(等待任务2中IP分重组模块的发送消息:应用层数据的存放地址);在检测到接收的应用层数据存放地址后,任务1将应用层数据存放到指定的地址。
步骤3:在包头数据接收完毕后,任务2完成IP分片重组信息的检查,并决定是否启动应用层规则匹配操作(包括应用层规则匹配模块初始化、启动控制等)。任务2如果在网络层、传输层检测到非规则攻击存在,则通过消息队列向任务3(负责与主机通信)发送警告消息(警告消息为一个字符串信息,从内存分区中为该字符串申请存储区域,该存储区在任务3中释放);
步骤4:应用层规则匹配模块启动后,从SDRAM的指定存储区中每次读取4个字节(耗费两个时钟周期,SDRAM位宽为2字节,总线宽度为4字节)。
步骤5:应用层规则匹配模块完成匹配后,将匹配结果存储到指定的内存区域(该内存区域可以在软件中预先定义一个全局存储块来实现),并产生中断信号并启动中断处理程序,中断处理程序通过消息队列将匹配结果发送到任务3。
步骤6:任务3(负责与主机通信)将收到的队列消息发送到主机,并将相应的内存块释放。

步骤7:主机上的软件接收到信息并在显示器上显示。

 

5.2.入侵检测硬件加速器模块设计
                                                 图2 入侵检测硬件加速器模块结构
1.           运行在NIOS II处理器上的预处理模块完成数据包预处理后,将应用层数据写入SDRAM中。
2.           写入完成后,软件模块向应用层规则匹配模块的各个配置寄存器中写入应用层数据的存放地址(ADDR)、数据包长度(LEN)以及控制信号(GO)等各种配置信息。
3.           应用层规则匹配单元收到启动(GO)信号后,立即通过Read_Master以及Head_match_master端口分别从SDRAM以及FLASH中读取应用层数据与包头匹配模块所需的配置数据。
4.           在应用层匹配模块运行结束后,立即将状态寄存器的IRQ位拉高,向处理器发出中断请求信号,直到处理器将IRQ位清零。
5.2.1.    包头匹配模块设计
一个Snort rule包含了对源IP地址(32 比特)、目的IP地址(32比特)、源端口号(16比特)、目的端口号(16比特)、协议类型五个部分的匹配。其中前四个部分的匹配是核心工作,采用Tree-bitmap算法统一完成。功能框图如图3所示:
 
图3 包头匹配电路的模块框图
 
 
其中,bit_vector中的每一个比特对应一条规则,如果为1则表示该规则被成功匹配,反之,则没有被匹配上。
考虑到无论是IP地址还是端口号都可用2进制表示,所以整个包头匹配电路可基于tree-bitmap的匹配算法实现,现以匹配3比特分别为(00* 、010、101、11*)的集合为例,简要说明该算法。首先,生成如图4所示的树型结构:
 
图4 匹配比特数示意图 
 
其中,红色表示匹配点 (match_point),蓝色表示实际不需要匹配的节点。当进入的三个比特为001时,从树的起始节点按照图中箭头所指向下延伸,由于前两个节点为0,所以会到达红色的匹配点。这样就完成了一次匹配。然后再读出该匹配点对应规则的bit_vector信息,就获得了输入为000时匹配成功的规则序列。为记录某个节点是否为匹配点,我们设计了P1向量,如果是匹配点则P1=1,否则为0;为记录某节点的子节点信息,我们设计了向量P2,对于节点A而言,由于其两个子节点都不需要存储,那么P2=[00]。考虑到加速器的速度要求,本设计将图1中的每周期匹配1个比特改为了匹配4个比特。这样P2就是一个16比特的向量,P1是一个15比特的向量。
整个包头匹配电路的FPGA系统实现结构图如图5所示
 
图5 包头匹配电路的系统框图
 
其中,控制器控制整个包头的匹配流程;P2_offset存储图1所示树中节点的两点信息:P2和当前节点与子节的偏移量;迭代匹配电路是执行整个匹配过程以及计算bit_vector的地方。P2_offset存储器和控制器是手写Verilog代码生成的电路,迭代匹配电路来自Perl语言自动生成的Verilog代码。虚线框代表生成迭代匹配电路需要的信息。Node编号使用该Node存放在存储器中的地址表示,因为系统采用线性方式访问存储器,每个Node 的起始地址可以唯一表示该Node。通过该Node地址和P1向量锁定match-point,然后根据其与SID的关系自动生成迭代电路。其中,控制器的状态机如图6所示:

图6 控制器的状态机
 
P2_offset存储器保存前面生成的Tree节点,包含两种类型,一种是NON_END NODE;另外一种是END NODE。其中NON_END NODE的表示方式如图7所示:              

 

图7  NON_END NODE存储结构
图8  END NODE存储结构
 
对于NON_END NODE节点而言,P2是bit_map_tree算法中Extern_bits指示子NODE的相对位置。OFFSET是当前节点到第一个子节点的偏移量(单位:字—16Bits)。Prefix_existing指示当前节点是否匹配前缀存在,End指示当前node是否是某条路径的最后node。而对于END NODE而言由于是某条路径上的最后node,没有P2和Offset的存在意义,只需要指示当前node是否是最后一个node和是否有匹配前缀存在即可。最后通过如图4所示的电路完成bit_vector的计算。
图9  bit_vector的计算电路
 
为了方便升级包头匹配电路,我们设计了如下两个软件:(1)可将用二进制表示的IP地址或者端口号转换成tree-bitmap在存储器中的保存形式(如:图2和图3所示);(2)自动生成迭代匹配电路。
仿真波形如图10所示:

 

图10 包头匹配模块仿真波形

5.2.2.    内容匹配模块设计

内容匹配模块主要完成正则表达式匹配,电路结构如图11所示:

 

图11 内容匹配模块电路结构图 

  • ASCII预解码器
         识别输入的ASCII字符,通过译码的方式将匹配字符的指示比特有效。在多字符并行输入时(一次吞吐多个字符),该模块还需对后级处理需要的输入组合进行指示。
  • 正则匹配模块
           正则表达式模块采用NFA状态机的方式实现,每个状态对应一个寄存器,N条规则的匹配结果形成一个N比特向量。
5.2.2.1.          ASCII预解码器
ASCII预解码器可以将原本分布式的字符比较器集中到中心处理,从而降低系统的资源消耗,其本质上是一种共享机制,从图11可分析预解码器的作用。

 

图12  分布式比较单元和集中式比较单元的比较图

从上图可以看出,对于字符串为aab的匹配电路使用了两个对a字符的判断单元,可见电路中的很多比较器是可以共用的,因此,图12 的下半部就将对多个字符的比较用集中到一个比较器完成,进行解码输出,例如:当输入为字符A时,那么预解码器的输出向量为(1,0,0,……,0)。此外,预解码器的资源消耗可进一步优化,使完成a-z比较的预解码器比单独实现从a到z的比较器消耗更少的资源。
5.2.2.2 正则表达式模块
5.2.2.2.1          正则表达式中的常字符串匹配电路
正则表达式模块采用NFA状态机,每个状态用一个寄存器来表示。如正则表达式friends,对应的NFA状态机为:
图13 friends 字符串对应的状态机
对应的硬件电路为:
图14 friends 字符串对应的电路
5.2.2.2.2           正则表达式中的运算符
              正则表达式中经常用到的运算符有:

 

运算符
说明
*
匹配任意数量的
?
匹配一个或0个
+
匹配至少一个
|
或关系

 

            根据正则表达式的运算符特点,对应的硬件电路结构为:
图15 正则表达式中常用字符对应的电路结构
         图15中,r1代表规则1,r2代表规则2。
        图(a)为常量字符的硬件电路结构
        图(b)为r1r2*电路的结构,表示r2要么出现0次或出现多次
        图 (c) 为r1r2+的电路结构,表示r2至少出现一次
        图 (d) 为r1r2电路结构,表示r1匹配完后,r2要必须匹配。
        图 (e) 为r1|r2表示,r1匹配或r2匹配
        图 (f) 为 r1r2?表示,r2可能出现异常或多次。
5.2.2.2.3       正则表达式中的Constraint Repetition结构
        a{N}:字符a匹配N次
        a{N,}:字符a匹配大于等于N次
        a{N,M}:字符a匹配大于等于N次小于等于M次
        对于这种类型的正则表达式,若直接采用常字符串匹配的处理方式,则当N或M很大时,会消耗大量的硬件资源。本设计提出的对应电路结构为:
 图16 正则表达式中constraint repeatition规则对应的电路结构
 
        对于a{N},当收到一个字符a后,启动计数器,若连续收到N个A,则计数器计数N-1次后输出1(表示匹配成功),若期间收到其他字符,则计数器复位,直到下次收到字符a为止。
      对于a{N,}当收到N个a以后电路输出1,否则输出0.
      对于a{N,M}当收到N个a后,电路输出1,若当连续收到的a的个数大于M时,则输出0。
5.2.2.2.4           正则表达式模块电路自动化设计方法
图17 正则表达式自动化设计方法
由于网络攻击手段不断变化,导致SNORT规则库需要不断地更新,为了满足这种实时更新性需求,本设计提出了以上正则表达式模块设计流程,通过编写专用软件提取SNORT规则库,并自动生成相应的HDL代码,并产生测试向量,使得整个设计具有很高的实时更新性。步骤如下:

1. Snort内容规则提取:从SNORT规则库中提取PCRE正则表达式。

2. Verilog代码生成:采用软件的方式,自动读取规则库,并将正则表达式进行中缀转后缀表达转换,后缀表达转NFA状态机,NFA状态机转HDL代码。

3. 测试向量生成:一个正则表达式对应着一个字符巨集,设计软件自动生成能够匹配相应正则表达式的测试向量。

4. Modelsim仿真:根据测试向量仿真硬件模块。

5.3.设计测试与验证
由于网络中含有威胁信息的流量非常小,而且具有随机性,为了方便测试与演示,设计了如下的测试与演示环境:
 图18  测试环境
 
整个测试环境由 DE2开发板,科来网络数据包发送器,自己设计的上位机警告信息显示软件组成。
 
图19  DE2开发板
 
图20  科来网络数据包生成器
图21 上位机警告信息显示软件
如图19所示:DE2开发板上用到的接口有:网卡,串口。
如图20所示:科来网络数据包发送器可以发送任意类型的网络数据包,通过将测试数据输入到该软件中,可以生成符合测试要求的数据包。
如图21所示:上位机警告信息显示软件能够在
入侵检测器检测到含有攻击信息的网络数据包后,实时向用户显示警告信息。

     5.3.1.    测试方法

    首先由科来数据包生成器发送含有威胁信息的数据包,DE2开发板上的网卡接收数据包,并送入侵检测加速器进行检测,当检测到含有攻击信息后则将警告信息通过串口发送到上位机,并有上位机上的警告信息显示软件向用户进行提示。 

5.3.2.    测试结果

图 22 测试结果

           如图22所示:左半部分显示结果:当检测到网络中存在利用网络协议漏洞进行攻击的数据包时,显示相应的警告信息;而右半部分显示结果:当检测到存在利用协议载荷进行攻击的网络数据包时,显示相应的警告信息。因此,本设计的网络威胁流量检测器,能够实时检测到网络上的威胁信息,达到了预期的设计目的。

(Revision: 4 / 2009-09-13 22:41:39)

6. 设计特点 (Preliminary Paper)

 

6      设计特点
  • 基于FPGA的SOPC系统,实现了软硬件协同设计。通过NioII处理器以软件方式检测非规则攻击;通过硬件加速器以硬件电路的方式检测规则攻击。本设计具有工作稳定、高效、高吞吐率等特点。
  • 本设计作为一种低成本的入侵检测解决方案,可用作高速网络的安全设备,也可以作为高校教学、科研平台,填补目前市场上IDS设备价格昂贵、技术涉密等缺陷。
  • 本设计将检测出的威胁信息可通过USB接口送入在主机上运行的自编软件中显示,并形成相关日志文件。
  • 用户自定义的硬件加速器,通过硬件方式完成IP分片数据包重组和HTTP协议规范化等功能。
  • 用户自定义的硬件加速器,通过硬件方式将数据包与Snort的规则库进行匹配,处理能力达到800Mbit/s。
  • 自己设计软件将规则库中的正则表达式和常字符串的匹配转为可综合的HDL语言,使本设计可以容易地完成规则库升级。
  •  采用优化的硬件架构完成规则匹配,降低了资源消耗,提高了处理速度。

 

(Revision: 2 / 2009-09-13 23:24:18)

7. 总结 (Final Project Paper)

7.总结

         通过参加此次大赛,加深了我们对SOPC及嵌入式系统的理解,并对ALTERA的系列产品及其功能在设计中的应用有了更深刻的认识,具体体现在以下几个方面:

  1. 了解到了SOPC的强大功能:快速构建嵌入式系统。
  2. 学习了AVALON总线,对总线有了新的认识,并深刻体会到了AVALON总线的灵活、易学、易用性。
  3. 在设计仿真验证环节,体会到了Altera-Modelsim联合仿真的强大功能,这一功能极大的方便了系统设计的调试与验证,大大加快开发速度。
  4. 在设计验证中,Signal-Tap起到了至关重要的作用,对设计的验证起到重要作用。
  5. 体会到HAL硬件抽象的强大功能,非常方便。
  6. 通过in system  memory editor能够抓取片上存储器的内容,对设计测试非常重要。
(Draft / 2009-09-13 22:23:03)