集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1308|回复: 2

整体构思与测试模块搭建

[复制链接]
小舍YZ 发表于 2017-9-21 16:39:19 | 显示全部楼层 |阅读模式
整体构思

为了确认IIC总线接口是否能够正确运行,仿真验证时需要建立Testbench(测试环境),IIC总线接口验证的环境的结构。
整个结构设计分为三个部分:第一部分是主设备仿真模块,第二部分是IIC总线接口可仿真综合模块,第三部分是从设备仿真模块。
然后用一个测试台程序将三个模块连接起来,并产生激励信号对IIC模块的功能进行仿真测试。

测试模块搭建

1、micro module: 微处理器部分可以采用ZYE1502D实验箱上有的AT89C51单片机,或者编写Testbench实现。为了仿真方便,在仿真时采用Testbench搭建。该micro模型给出了微处理器与IIC接口通讯的仿真程序。该模型能产生相应的读写信号,地址信号,并行数据信号,并能接收从器件的应答信号,来调节发送或接收数据的速度。在这个程序中,为了保证IIC接口的正确性,可以进行完整的测试,写操作时输入的地址信号和数据信号的数据由于较少,直接写入程序中。读操作时,将读数对比可以验证程序的正确性。该程序通过调用四个任务实现上述功能,write,monitor_iic_rdy,read_data,kill_time。  

2、iic_slave module: 该iic_slave模型提供了一个IIC存储器。该从模型能够侦测起始和终止命令,在地址控制字时序后产生ACK,在数据读之后置IIC总线三态。另外它通过比较“Slave Data Receive on Write”和“Slave Data Transmitted on Read”的信息,实现仿真时数据正确性的检查。

3、clk_rst module:clk_rst模块给测试平台提供时钟和复位信号。编辑clk_period参数更改时钟频率,改变reset_time参数就能改变复位信号的有效时间。            

4、iic_tb,iic_tb是测试台的顶层文件。它将IIC接口模型iic和测试程序的模型clk_rst、micro、iic_slave实例化,并连接起来。其主要程序:
i2c I2C(.data(data),.addr(addr),.rst_l(rst_l),.clock(clock),.cs_l(cs_l),
.ack_l(ack_l),.rd_wr_l(rd_wr_l),.scl_pin(scl_pin),.sda_pin(sda_pin));
clk_rst CLK(.clk(clock),.rst_l(rst_l));
micro MICRO(.clk(clock),.rst_l(rst_l),.data(data),.addr(addr),.cs_l(cs_l),
.ack_l(ack_l),.rd_wr_l(rd_wr_l));                 
i2c_slave SEP(.sda(sda_pin),.scl(scl_pin));                                 

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
zxopenljx 发表于 2019-11-9 16:09:58 | 显示全部楼层
整体构思与测试模块搭建
zxopenljx 发表于 2023-6-5 10:02:18 | 显示全部楼层
整体构思与测试模块搭建
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-28 00:46 , Processed in 0.059579 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表