论文部分内容阅读
在SOC设计越来越复杂的今天,SOC发展面临的两大挑战分别是IP互联和IP复用。采用串行总线协议是解决SOC互联问题最常用的方法,目前大量的串行总线协议被运用在实际的应用中。SPI协议和12C协议是目前应用非常广泛且结构简单的串行总线协议,考虑到SOC集成度越来越高的发展趋势,本文设计了一种集成SPI协议和12C协议的IP核。
综合分析对比了ARM的AMBA总线、Altera的Avalon总线和Silicore的Wishbone总线的技术特点。Wishbone总线技术简单、灵活、功能强大且易于移植;从经济角度考虑又完全开放,有丰富的免费IP核资源,更易于全面推广,再加上它已被OPENCORE联盟采用并极力推广。综合考虑以上因素,本文选用Wishbone协议总线接口作为与SOC连接的接口。
根据Top_Down设计思想,设计基于Wishbone总线的SPI/I2C IP核。首先确定设计目标、定义整体的外围接口、划分子模块、确定各模块内部信号关系。然后确定详细的寄存器设计和端口连接。最后采用Verilog HDL语言进行本IP核的代码设计,包括DIV时钟分频模块、Shift模块、WisNbone Interface接口模块、SPI Interface接口模块和12C Interface接口模块的Verilog代码设计。
使用Modelsim、ISE和Synplify Pro软件对本IP核的Verilog HDL代码设计进行了仿真验证和综合分析,分别对DIV时钟分频模块、Shift模块和整体模块进行仿真,其仿真结果符合设计要求。在FPGA开发板上对本IP核进行实物验证,通过建立上层测试模块调用本IP核,实现了FPGA与12C EEPROM和SPI EEPROM的正常通讯。