基于ULPI接口的USB IP核设计与验证

基于ULPI接口的USB IP核设计与验证

论文摘要

USB已经成为了一种主流的接口技术,成为了计算机、通信和消费类电子等应用领域最广泛的工业标准总线。同时,基于片上系统的可重用设计方法已经成为了当前IC设计的主流技术。本文介绍了一种USB设备IP核的设计方法。与一般的理论研究不同,本设计是为了向企业提供一种能够商用的可重用IP核,需要同时权衡IP集成后产品的功能、性能、面积、速度、功耗以及成本,而不仅仅是IP核功能的实现。本论文介绍的USB IP核支持USB 2.0规范,并兼容USB 1.1规范;支持UTMI 1.05规范、ULPI 1.1规范;支持AMBA AHB规范。该IP核一侧通过ULPI接口或者UTMI接口的PHY直接与USB 2.0主机端进行通信,另一侧则通过AHB总线与ARM相连。该USB IP核包括三个模块:ULPI模块(ULPI)、串行接口引擎(SIE)模块(UTMI)和AHB总线接口模块(AHB)。ULPI模块实现了UTMI接口转ULPI接口。串行接口引擎模块为USB 2.0数据链路层协议处理模块。AHB模块负责SoC设计时对外提供AHB总线接口功能。本论文中USB IP核的设计完全遵从可重用IP核的设计流程和方法。该IP核具有可配置性,以满足不同设计的需要;对外的所有接口(ULPI、UTMI、AHB)都是业界标准接口;遵守设计规则,代码具有良好的可读性、可修改性和可重用性;交付的数据、资料完整。该USB IP核足够强壮,非常容易集成到整个芯片的设计中。该USB IP核的验证中尽量采用了主流的验证技术和方法,包括代码静态检查、基于传统验证方法的模块级功能验证、基于VIP的系统级功能验证、形式验证、静态时序分析和基于FPGA的原型验证等,验证结果表明USB IP核功能和时序是完全符合设计规范的。这些验证技术和方法的使用也严格遵守可重用设计方法学,使验证环境鲁棒性良好。本论文中,USB IP核完整的设计文档、规范的编码、详细的注释、完备的验证环境和方法以及强壮的脚本都符合可重用设计方法学的要求。该USB IP核严格符合合作单位IP核的最高级验收标准,成功入库。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 USB IP 核背景与市场现状
  • 1.2 ULPI 接口规范的发展及应用前景
  • 1.3 设计目标与本人工作
  • 1.4 本论文的安排
  • 第二章 USB、UTMI、ULPI 和AHB 协议介绍
  • 2.1 USB 协议
  • 2.1.1 USB 简介
  • 2.1.2 USB 的电气特性
  • 2.1.3 USB 的系统结构
  • 2.1.4 USB 的数据流模型
  • 2.2 UTMI 接口规范
  • 2.2.1 UTMI 接口的必要性
  • 2.2.2 UTMI 接口功能
  • 2.3 ULPI 接口规范
  • 2.3.1 ULPI 接口介绍
  • 2.3.2 ULPI 接口工作模式
  • 2.4 AHB 协议
  • 2.4.1 AMBA 总线概述
  • 2.4.2 AHB 总线结构
  • 2.5 小结
  • 第三章 SoC 中的 IP 核设计方法学
  • 3.1 IP 核设计方法学
  • 3.2 IP 核逻辑综合
  • 3.2.1 IP 核综合概述
  • 3.2.2 IP 核综合策略
  • 3.3 IP 核验证方法学
  • 3.3.1 仿真技术
  • 3.3.2 静态技术
  • 3.3.3 形式验证技术
  • 3.3.4 物理验证与分析
  • 3.4 低功耗设计技术
  • 3.4.1 IC 系统中的功耗
  • 3.4.2 低功耗设计技术
  • 3.5 小结
  • 第四章 USB IP 核系统设计
  • 4.1 USB IP 核环境及系统结构设计
  • 4.2 USB IP 核内部模块结构设计
  • 4.2.1 ULPI 模块
  • 4.2.2 SIE 模块
  • 4.2.3 AHB 模块
  • 4.3 USB IP 核软硬件体系结构设计
  • 4.4 USB IP 核主要数据通路设计
  • 4.5 小结
  • 第五章 ULPI 接口模块RTL 级设计
  • 5.1 ULPI 数据通路各子模块设计
  • ULPITX 模块设计'>5.1.1 USBULPITX 模块设计
  • ULPIRX 模块设计'>5.1.2 USBULPIRX 模块设计
  • 5.2 ULPI 控制模块设计
  • ULPIREGWR 模块设计'>5.2.1 USBULPIREGWR 模块设计
  • ULPICHIRPK 模块设计'>5.2.2 USBULPICHIRPK 模块设计
  • 5.3 低功耗管理模块设计
  • ULPISUSRES 模块设计'>5.3.1 USBULPISUSRES 模块设计
  • 5.4 数据总线转换模块设计
  • 5.5 小结
  • 第六章 USB IP 核逻辑综合
  • 6.1 USB IP 核综合结果
  • 6.2 为布图做网表修改
  • 6.3 小结
  • 第七章 USB IP 核验证
  • 7.1 代码静态检查
  • 7.1.1 Lint Verilog 源代码
  • 7.1.2 代码检视(Code Review)
  • 7.2 基于传统验证方法的ULPI 模块级验证
  • 7.3 基于VIP 的系统级验证
  • 7.3.1 基于VIP 的验证技术
  • 7.3.2 USB 端测试实例分析
  • 7.3.3 USB IP 核验证结果
  • 7.4 形式验证
  • 7.4.1 等价性验证结果
  • 7.5 静态时序分析
  • 7.5.1 静态时序分析结果
  • 7.6 基于FPGA 的原型验证
  • 7.6.1 基于FPGA 的原型验证环境
  • 7.6.2 基于FPGA 的原型验证结果
  • 7.7 版本控制
  • 7.8 小结
  • 第八章 结论与展望
  • 8.1 结论
  • 8.2 展望
  • 致谢
  • 参考文献
  • 个人简历
  • 攻读硕士学位期间的研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    基于ULPI接口的USB IP核设计与验证
    下载Doc文档

    猜你喜欢