CoreSPI_HB

  • 格式:doc
  • 大小:1.07 MB
  • 文档页数:17

CoreSPI v3.0手册一、内核概述串行外设接口(SPI)总线允许微处理器/微控制器和外围设备之间高速的同步串行数据传输。

CoreSPI能实现串行外设接口,同时也能作为主机或从机进行操作。

在主模式下运行时,核产生串行数据时钟(m_sck),并选择从器件进行访问。

在从动模式下运行时,另一个主器件产生s_sck时钟并且激活从机,选择数据输入核心连接运行。

SPI从机进行了精心设计从而使提供最可靠的通信成为可能。

要实现一个时钟域的设计,必须对s_sck线进行采样并与系统时钟同步。

这额外的好处是能增加s_sck线路噪声和毛刺的宽度。

设计是完全同步的,并有一个系统时钟的时钟域。

这将更可靠,无故障合成和实施的核心。

没有使用特殊的技术功能,所以源HDL代码可以很容易地转移到任何技术。

在核中合成的其他功能还包括支持在主模式运行时,有8个从机线用于访问多达8个设备,并且能选择位的传输顺序(MSB在前或者LSB在前),从而节省工作时宝贵的时间不执行此功能的软件。

图1:CoreSPI框图二、关键的功能1、全双工,同步,8位传输串行数据2、高比特率3、主模式或者从模式4、在主模式下产生的比特率:1/2,1/4,1/8,1/16,1/32,1/64,1/128,1/256对f PCLK5、在从模式下支持的比特率:f PCLK f PCLK/26、8从机选择线7、MSB优先或者LSB优先进行数据传递8、一个时钟域的完全同步设计三、支持的器件系列1、Fusion(融合)2、IGLOO™3、IGLOOe4、ProASIC®3L5、ProASIC36、ProASIC3E四、设备利用率和性能CoreSPI可以在任何Actel的设备上实现。

CoreSPI各种设备的利用率和性能的总结在表1到表3中列出。

用于布局的速度等级如下:IGLOO系列:STD,融合:-2,ProASIC3 / E:-2,ProASIC PLUS®:STD,Axcelerator®:-2,RTAX - S:-1。

表1:CoreSPI设备利用率和性能(组合模式)器件系列瓦利用率性能顺序组合总的设备总的Fusion 109 221 330 AFS600-2 2.4% 131MHZ IGLOO 109 218 327 AGL600-STD 2.4% 80MHZ ProASIC3/E 109 221 330 M7A3P250-2 5.4% 134MHZ ProASIC PLUS109 300 409 APA075-STD 13.3% 85MHZ Axcelerator 107 152 259 AX250-2 6.1% 190MHZ RTAX-S 107 152 259 RTAX250S-1 6.1% 136MHZ 注:表1中的数据使用典型的合成和布局设置。

顶级参数/泛型设置如下:MASTER_MODE= 1,SLAVE_MODE= 1。

表2:CoreSPI设备利用率和性能(仅限主模式)器件系列瓦利用率性能顺序组合总的设备总的Fusion 81 182 263 AFS600-2 1.9% 131MHZ IGLOO 81 181 262 AGL600-STD 1.9% 86MHZ ProASIC3/E 81 182 263 M7A3P250-2 4.3% 126MHZ ProASIC PLUS78 237 315 APA075-STD 10.3% 87MHZ Axcelerator 79 127 206 AX250-2 4.9% 188MHZ RTAX-S 79 127 206 RTAX250S-1 4.9% 138MHZ 注:表2中的数据使用典型的合成和布局设置。

顶级参数/泛型设置如下:MASTER_MODE=1,SLAVE_MODE= 0。

表3: CoreSPI设备利用率和性能(仅限从模式)器件系列瓦利用率性能顺序组合总的设备总的Fusion 94 100 194 AFS600-2 1.4% 196MHZ IGLOO 94 102 196 AGL600-STD 1.4% 107MHZ ProASIC3/E 94 100 194 M7A3P250-2 3.2% 202MHZ ProASIC PLUS50 134 184 APA075-STD 6.0% 144MHZ Axcelerator 50 66 116 AX250-2 2.8% 292MHZ RTAX-S 60 66 116 RTAX250S-1 2.8% 207MHZ 注:表3中的数据使用典型的合成和布局设置。

顶级参数/泛型设置如下:MASTER_MODE= 0,SLAVE_MODE= 1。

(一)功能块描述CoreSPI主要是一个状态机,用于连接串行外设接口到高级外设总线(APB)接口。

图1显示了CoreSPI框图。

以下将描述了每个块的功能。

一、APB接口CoreSPI支持APB接口兼容Actel的Cortex™- M1的Core8051s,CoreMP7的处理器内核和CoreABC通用状态机的控制核心(简单的FSM的应用)。

这个接口提供了直接访问核心的内部寄存器(见第七页表6:CoreSPI内部寄存器注册指南)。

二、μController接口μController接口块是用来翻译APB读写命令并对SFR(特殊功能寄存器)进行读取和写入,以及提供SPI主模式和SPI从模式的控制逻辑。

三、SPI主模式SPI主模块是用来跟踪和更新,显示CoreSPI主模式功能状态的状态机。

它包含一个SPI接口去控制从模式,接口包括一条时钟线(SCK)和一条数据线(SS)。

四、SPI从模式SPI主模块是用来跟踪和更新,显示CoreSPI从模式功能状态的状态机。

它包含一个SPI接口给主模式控制,接口包括一条时钟线(SCK)和一条数据线(SS)。

(二)工具流程一、许可证CoreSPI在三个方面被授权。

根据您的许可证,工具流功能可能会受到限制。

二、评价提供预编译的仿真库,允许核心在CoreConsole被实例化并且在Actel公司的Libero®集成设计环境(IDE)中进行模拟。

设计不能合成的,同时也不提供源代码。

三、模糊处理(Obfuscated)为核心提供完整的RTL代码,允许核心在CoreConsole中实例化,在Libero IDE中仿真,综合,布局。

为核心的RTL代码是模糊处理的。

四、RTL为核心和测试平台提供完整的RTL源代码。

五、核心控制台(CoreConsole)CoreSPI是预装在CoreConsole IP开发平台(IDP)。

要使用核心时,只需将它从IP核心列表拖动到主窗口。

然后核心可以配置使用范围内的CoreConsole的配置界面,如图2所示。

CoreConsole项目可在这一点上输出到Libero IDE,同时提供唯一的访问到CoreSPI;或其他IP模块可互连,允许完整的系统从CoreConsole输出到Libero IDE中。

图2:CoreConsole的配置界面六、Actel Libero IDE的输入从CoreConsole的核心产生跟输出后,核心可以被导入到Libero IDE中。

在Libero IDE 中创建新的项目,并从LiberoExport目录导入CoreConsole项目。

Libero IDE将在之后安装核心并且选择测试平台,伴随着制约和相关文件进入到其项目。

注:如果两个或两个以上的DirectCores是必需的,他们可以同时被包含在相同的CoreConsole项目并且在同一时间内输入到Libero IDE中。

七、仿真流程进行仿真,所需的测试平台流程必须选择范围内的CoreConsole,同时保存和生成也必须在“生成”窗格中进行。

通过核心测试平台配置GUI选择所需的测试平台。

两个模拟测试平台支持CoreSPI:1、简单的CoreSPI用户测试平台(VHDL和Verilog)2、完整的CoreSPI验证测试平台(VHDL和Verilog)CoreConsole产生Libero IDE项目时,它会安装相应测试平台的文件。

要运行简单的应用程序或完整的验证环境,在Libero IDE设计层次中简单地设置CoreSPI实例,并单击在Libero IDE设计流程窗口的仿真图标。

这将调用ModelSim®并自动进行仿真。

八、在Actel的Libero IDE中综合适当设置设计程序,点击Libero IDE中的综合图标。

综合窗口出现并显示了Synplicity®项目。

当使用Verilog时要设置以Verilog2001为标准的Synplicity。

要进行综合时,单击Run图标。

九、在Actel的Libero IDE中的布局布线经适当设计的程序设置并进行综合后,点击Libero IDE的布局图标调用Designer。

CoreSPI 不需要特殊的布局布线设置。

(三)接口说明一、参数CoreSPI有参数(Verilog)和泛型(VHDL)来配置RTL代码(如表4)。

所有的参数和泛型都是整数类型。

这些参数或者泛型类型映射在CoreConsole配置窗口中的配置选项中。

表4:CoreSPI参数说明参数值说明系列0到99 必须匹配设置去支持FPGA系列:11-Axcelerator12-RTAX-S14-ProASIC PLUS15-ProASIC316-ProASIC3E17-Fusion20-IGLOO21-IGLOOe使用主模式0,1 如果为1,SPI主逻辑实例化,否则,SPI主逻辑省略使用从模式0,1 如果为1,SPI从逻辑实例化,否则,SPI从逻辑省略在表5和图3中为CoreSPI宏的端口信号定义。

所有信号都指定为“输入”(仅是输入)或“输出”(仅是输出)。

合并后CoreSPI的主模式和从模式有42个I/O信号可以执行。

表5:CoreSPI I/O信号名字类型说明PLCK 输入APB系统时钟;所有内部逻辑的参考时钟。

PRESETN 输入APB低电平有效的异步复位。

PWDATA[7:0] 输入APB写数据。

PADATA[7:0] 输出APB读数据。

PADDR[3:0] 输入APB地址总线。

此端口是用来解决内部CoreSPI寄存器。

PENABLE 输入APB频闪。

指示APB转移的第二个周期。

PSEL 输入APB从模式选择。

选择CoreSPI给APB读写。

PWRITE 输入APB选择读或写信号。

如果为逻辑高电平,APB转移到CoreSPI将进行写数据;如果为逻辑低电平,将从CoreSPI读相关数据。

ENABLE_MASTER 输出主控模式使用静态信号。

如果处于活跃状态,CoreSPI在主模式下运行。