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在主模式下运行。