logo资料库

西电System Verilog系统验证技术实验一报告.docx

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
西安电子科技大学 SV 实验一实验报告 课程名称 System Verilog 系统验证技术 学 号 姓 名 专 业 指导老师 1
1、 实验步骤 在 mcdt_burst_test 根据要求添加了: 1) 数据包的数据产生范围 2) 数据间隔 3) 数据包的间隔 4) 数据大小。 达到了实验要求中的实现测试用例 mcdt_burst_test,如图 1。 在 mcdt_fifo_full_test 根据要求添加了类似 mcdt_burst_test 的约束,达到了实 验要求中的实现测试用例 mcdt_fifo_full_test,如图 2。 在 mcdt_fifo_full_test 根据要求添加了停止条件,使有两个或两个以上 channel 的 ready 信号同时拉低时,并且 channel FIFO 中的数据全部从 MCDT 送出时,停止 测试,如图 3。 2、 实验结果 图 4 仿真波形中可见,三个通道的激励变化符合添加的约束,在波形中检查三个通 道的激励都能按照符合 BURST 发送要求。 图 5 仿真波形中可见,当没有 fifo 写满时,generator 会产生符合约束的连续数 据。 图 6 仿真波形中可见,当有或两个以上 channel 的 ready 信号同时拉低时, generator 停止产生数据,等待将数据全部送出,当 margin 信号为 h20 即十进制 32 时,代表 fifo 清空,停止仿真,实现实验要求。 3、 实验总结 通过这次实验我学会了 QuestaSim 的基本操作流程,对 System Verilog 的基本 语法有了进一步认识,熟悉了 mcdt 测试平台结构,了解了: 1) channel stimulator 里数据的传输过程如下: a) generator 不断产生 transaction 实例,将实例放在 mailbox 里, b) initiator 通过 req_mb 句柄不断拿到 generator 里每一个 transaction 句柄, c) 每拿到一个句柄,通过 chnl_write(req)消化,完成后通过 clone 产生 新的 rsp 对象, d) 将 rsp 对象的句柄返回 generator。 2) channel initiator 与 channel monitor 是一一对应的关系,channel monitor 从 interface 上拿到数据,monitor 都将监测到的数据送至 mcdf checker 进行比对,与之进行对比的是 mcdt monitor 监测到的数据,由于 2
arbiter 不需要握手需要,因此只外置了 mcdt monitor 而不需要 mcdt responder 3) 某一时刻,每一个 mailbox 里存放的句柄的数目不会超过一个,即一次只 产生一个有效实例,当实例传送完毕就被销毁。 4) mcdf_root_test::gen_stop_callback()使 generator 停止, mcdf_root_test::run_stop_callback()使整个仿真停止。 3
图 1 图 2 图 3 4
图 4 图 5 图 6 5
分享到:
收藏