基于FPGA的一体化I2C接口验证控制器设计方法技术

技术编号:22260822 阅读:46 留言:0更新日期:2019-10-10 14:00
本发明专利技术公开了一种基于FPGA的一体化I2C接口验证控制器设计方法,验证控制器基于FPGA开发,采用主从机一体化设计架构;主从机一体化设计架构通过对I2C通信过程进行分层抽象,将I2C通信主、从机集成于一体,实现验证控制器外部接口的统一封装和内部结构层次设计;外部接口包括地址总线接口、数据总线接口、控制请求信号接口、数据请求信号接口和完成信号接口,内部层次结构包括前者包含后者的主控制单元、字节控制单元和比特控制单元。本发明专利技术能够提高I2C接口验证控制器的可配置性、可复用性、操作简便性,I2C接口验证充分性和效率都得到极大提高,验证效率至少提高40%以上。

Design Method of Integrated I2C Interface Verification Controller Based on FPGA

【技术实现步骤摘要】
基于FPGA的一体化I2C接口验证控制器设计方法
本专利技术涉及一种现场可编程门阵列即FPGA的软件验证技术,尤其涉及一种基于FPGA的一体化I2C接口验证控制器设计方法。
技术介绍
I2C总线(InterICBUS)是Philips公司开发的用于芯片之间连接的总线,由于其结构简单,仅通过两根信号线(时钟线SCL和数据线SDA)就可以实现多机通信,高效的传输性能和协议的可靠性使I2C总线在单片机、串行E2PROM、LCD等器件中有广泛的应用。FPGA是一种内部含有可编程逻辑单元的半导体芯片,开发者使用硬件描述语言(VHDL或Verilog)对设计逻辑行为进行描述,经过综合、布局布线等操作后即可实现对芯片功能或结构的修改和重定义。FPGA为软件开发人员提供了一条快速开发硬件的新途径,大大降低了硬件开发人员的门槛。由于FPGA在数字系统设计方面表现出的巨大的方便性和灵活性,它成为复杂系统设计最有效的一种手段。随着FPGA设计规模和复杂度的增加,对FPGA验证的充分性和效率提出了更高的要求。在实际系统中,FPGA可能同多类型I2C接口器件进行通信,在对I2C接口进行验证时,需根据被验证FPGA特点快速设计I2C接口验证控制器,建立与待验证I2C接口间通信。由于I2C接口具有主从机工作模式不固定、时序要求严格、传输方式多样、传输数据量大以及通信过程中需要双方协作的特点,给接口功能、时序验证的充分性和效率带来了更大的挑战。现有针对FPGA的I2C接口验证控制器缺少独立化、结构化、一体化的设计思想,主要根据待验证FPGA设计的具体特点进行针对性设计,这种情况下验证控制器设计往往会受限于待验证FPGA设计的工作模式、结构特点,主从机需要单独分离设计,导致验证控制器外部接口信号多样化、复杂化;未对I2C主从机通信过程进行分层抽象,导致内部层次结构较为混乱,难以进行逻辑结构复用;主从机工作模式、数据传输模式以及数据传输长度固定导致验证控制器可复用性差、验证灵活性低,造成人力、时间资源的巨大浪费,I2C接口验证的充分性和效率难以得到保证。
技术实现思路
本专利技术的目的就在于为了解决上述问题而提供一种基于FPGA的一体化I2C接口验证控制器设计方法。本专利技术通过以下技术方案来实现上述目的:一种基于FPGA的一体化I2C接口验证控制器设计方法,所述验证控制器基于FPGA开发,采用主从机一体化设计架构;所述主从机一体化设计架构通过对I2C通信过程进行分层抽象,将I2C通信主、从机集成于一体,实现所述验证控制器外部接口的统一封装和内部结构层次设计;所述外部接口包括地址总线接口、数据总线接口、控制请求信号接口、数据请求信号接口和完成信号接口,所述内部层次结构包括前者包含后者的主控制单元、字节控制单元和比特控制单元。具体地,所述地址总线包含控制地址和数据地址,当地址为控制地址时,数据总线上数据为总线控制命令,当地址为数据地址时,总线上数据为待传输数据。作为优选,所述验证控制器与上位机之间通过总线控制方式实现外部控制;所述验证控制器的内部通过层次传输反馈机制实现内部通信。作为进一步优选,所述总线控制方式包括以下步骤:步骤1、上电复位后,所述验证控制器向所述上位机发送控制请求信号;步骤2、所述上位机检测到控制请求信号有效后,向所述验证控制器发送控制地址和总线控制命令;步骤3、所述验证控制器解析总线控制命令,完成主从机模式配置、数据传输模式配置、数据传输长度配置。作为优选,所述总线控制命令包含数据传输长度控制位、重复开始控制位、响应控制位、读写控制位、主从机控制位,所述数据传输长度控制位用于控制验证控制器发送、接收数据长度,所述重复开始控制位用于控制单次传输完成后是否需要重新开始的复合模式,所述读写控制位用于验证控制器发送、接收模式控制,所述主从机控制位用于控制验证控制器工作在主机或从机模式。具体地,所述验证控制器支持I2C总线通信中的主机发送-从机接收、主机接收-从机发送、复合模式这3种数据传输模式,一次最大传输4096字节数据。作为优选,所述层次传输反馈机制为:所述验证控制器在数据传输时按照主控制单元、字节控制单元、比特控制单元的层次结构将数据转换成字节、比特的形式并生成相应的字节、比特控制命令自上而下进行传输,同时自下而上进行反馈完成信号;所述主控制单元用于与上位机的数据交互,产生顶层控制逻辑和字节控制命令,接收字节控制单元反馈的字节完成信号,以字节数据的形式与字节控制单元通信;所述字节控制单元用于产生比特控制命令,接收比特控制单元反馈的比特完成信号,以比特数据的形式与比特控制单元通信;所述比特控制单元用于按照I2C总线通信协议要求产生SCL或SDA信号,进行比特发送或接收,并向字节控制单元反馈比特完成信号。具体地,所述验证控制器采用所述层次传输反馈机制进行I2C通信数据发送时,包括以下步骤:步骤1、所述验证控制器向所述上位机发送数据请求信号,所述上位机检测到数据请求信号有效时,向所述验证控制器发送数据地址和待发送数据;步骤2、所述验证控制器的所述主控制单元接收到数据后,将数据拆分成字节大小,产生字节写控制命令,将字节数据和控制命令送到所述字节控制单元,数据发送完成后,再次向所述上位机发送数据请求信号;步骤3、所述字节控制单元接收字节数据和控制命令后,将字节数据拆分成比特大小,并产生比特写控制命令,将比特数据和控制命令送到所述比特控制单元,字节发送完成后,向所述主控制单元反馈字节完成信号;步骤4、所述比特控制单元接收到比特数据和控制命令后,按照I2C协议要求生成相应的SCL和SDA信号,比特发送完成后,向所述字节控制单元反馈比特完成信号。具体地,所述验证控制器采用所述层次传输反馈机制进行I2C通信数据接收时,包括以下步骤:步骤1、所述验证控制器的所述主控制单元产生字节读控制命令并送到所述字节控制单元,接收到所述字节控制单元送来的字节完成信号后,产生Done信号通知所述上位机读接收数据;步骤2、所述字节控制单元根据接收到的字节读控制命令产生比特读控制命令,将其送到所述比特控制单元,字节数据接收完成后,向所述主控制单元反馈字节完成信号;步骤3、所述比特控制单元按照比特读控制命令检测开始位、停止位,逐位接收比特数据,比特接收完成后所述向字节控制单元反馈比特完成信号。本专利技术的有益效果在于:本专利技术通过采用包括主从机一体化构架、总线控制方式、层次传输反馈机制的I2C接口验证控制器设计方法,能够提高I2C接口验证控制器的可配置性、可复用性、操作简便性,I2C接口验证环境搭建周期明显缩短,I2C接口验证充分性和效率都得到极大提高,项目实践表明,验证效率至少提高40%以上;本专利技术除了能对FPGA中I2C接口进行功能、时序验证外,硬件实现后还能挂载到系统总线上对嵌入式设备中的I2C接口进行验证。附图说明图1是本专利技术所述基于FPGA的一体化I2C接口验证控制器设计方法的整体架构图;图2是本专利技术所述层次传输反馈机制的示意图;图3是本专利技术所述主控制单元的状态转移图;图4是本专利技术所述层次传输反馈机制的数据发送流程图;图5是本专利技术所述层次传输反馈机制的数据接收流程图。具体实施方式下面结合附图对本专利技术作进一步说明:如图1所示,本专利技术所述基于FPGA的一体化I2C本文档来自技高网
...

【技术保护点】
1.一种基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述验证控制器基于FPGA开发,采用主从机一体化设计架构;所述主从机一体化设计架构通过对I2C通信过程进行分层抽象,将I2C通信主、从机集成于一体,实现所述验证控制器外部接口的统一封装和内部结构层次设计;所述外部接口包括地址总线接口、数据总线接口、控制请求信号接口、数据请求信号接口和完成信号接口,所述内部层次结构包括前者包含后者的主控制单元、字节控制单元和比特控制单元。

【技术特征摘要】
1.一种基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述验证控制器基于FPGA开发,采用主从机一体化设计架构;所述主从机一体化设计架构通过对I2C通信过程进行分层抽象,将I2C通信主、从机集成于一体,实现所述验证控制器外部接口的统一封装和内部结构层次设计;所述外部接口包括地址总线接口、数据总线接口、控制请求信号接口、数据请求信号接口和完成信号接口,所述内部层次结构包括前者包含后者的主控制单元、字节控制单元和比特控制单元。2.根据权利要求1所述的基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述地址总线包含控制地址和数据地址,当地址为控制地址时,数据总线上数据为总线控制命令,当地址为数据地址时,总线上数据为待传输数据。3.根据权利要求1或2所述的基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述验证控制器与上位机之间通过总线控制方式实现外部控制;所述验证控制器的内部通过层次传输反馈机制实现内部通信。4.根据权利要求3所述的基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述总线控制方式包括以下步骤:步骤1、上电复位后,所述验证控制器向所述上位机发送控制请求信号;步骤2、所述上位机检测到控制请求信号有效后,向所述验证控制器发送控制地址和总线控制命令;步骤3、所述验证控制器解析总线控制命令,完成主从机模式配置、数据传输模式配置、数据传输长度配置。5.根据权利要求4所述的基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述总线控制命令包含数据传输长度控制位、重复开始控制位、响应控制位、读写控制位、主从机控制位,所述数据传输长度控制位用于控制验证控制器发送、接收数据长度,所述重复开始控制位用于控制单次传输完成后是否需要重新开始的复合模式,所述读写控制位用于验证控制器发送、接收模式控制,所述主从机控制位用于控制验证控制器工作在主机或从机模式。6.根据权利要求4所述的基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述验证控制器支持I2C总线通信中的主机发送-从机接收、主机接收-从机发送、复合模式这3种数据传输模式,一次最大传输4096字节数据。7.根据权利要求3所述的基于FPGA的一体化I2C接口验证控制器设计方法,其特征在于:所述层次传输反馈机制为:所述验证控制器...

【专利技术属性】
技术研发人员:郭兴林张谊颜运强卢航史龙飞周昱瑶
申请(专利权)人:中国工程物理研究院计算机应用研究所
类型:发明
国别省市:四川,51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1