一、 实验目的
- SignalTap II Logic Analyzer使用方法;
2.掌握捕获条件的设置
3.学会硬件信号分析,了解硬件信号监视和软件调试的差异
二、 实验内容
1.基础要求:上一次在2口进3口出的基本功能UM_my/UM.v模块中设计一个信号量或者直接对信号量 输入端口in_port 进行监视。
2.设置触发捕获的条件,在某端口有信号进入时捕获数据。
3.利用原有的信号捕获设置,尝试捕获广播包(这里的数据帧头从139到127位)
从127到0为链路层的帧数据,大家可以查相关资料,了解如何捕获出广播帧。
4.设置条件,尝试捕获ARP类型的包,在验收环节和实验报告中描述是否有办法在交换机硬件中防止ARP攻击。
三、 实验环境
- 1台管理节点主机;1台主机A;(分别连接到2口和3口);
- 2根网线;
- NetMagic08开发平台;
- 软件Quartus 16。主机及网络详细配置参照附带的实验环境拓扑及软件配置文档。
四、 实验步骤
1.启动quartus,在工具tool中启动Signaltap II Logic Analyzer
2.进入如下界面,并新建一个instance
3.在下面的窗口新建一个node
4.输入待捕获信号的名称,如果只输入一部分就需在后面加上通配符”*”,在filter中选择第一项“Design Entry(all names)”
5.此处的搜索区域要精确到UM
6.点击list查找到信号并添加
7.第127到80位改成高电平以达到如图效果
8.相同步骤添加UM:UM|cdp2um_data_valid,这个信号是上升沿的时候表示开始发送
9.添加clock信号,注意是
10.编译
11.将工程下载到机器中
12.连接网线,并运行,同时ping一个地址,注意是2号端口ping3号端口捕获到符合条件的信号后将自动停止,如果没有自动停止的话,需要一直ping,一直发送包。
- 5:表示报文的头部标示位,101报文头部,100报文中间数据,110报文尾部
- F:表示有效字节数,1111表示16个字节全部有效,1110表示最高的15个字节有效,1101表示最高的14个字节有效,以此类推
- 2:表示输入端口号,位四位通道号,对应8个物理端口,序号为0-7,序号8-15保留不被使用
- FFFFFFFFFFFF:表示48位的目的MAC地址,这里是一个广播地址
- 80FA5B5649A0:代表源MAC地址,这里是从2号端口发送到3号端口的发送报文
- 0806:代表的是IP报文的协议域,这里是普通的广播报文
- 0001:代表IP报文的头部格式
五、 实验思考
1、 信号如果没有实际保留意义,在电路设计时会被优化掉,无法再信号分析工具中查看到。如何避免?
quartus综合器用的是/* synthesis keep = 1 */,现在quartus也支持/synthesis syn_keep
= 1/