本文源于哥,断奶了在学习中做的笔记,希望分享后大家一起学习讨论。
2013/5/17
一.GRlib的使用
首先在designs下建立一个工程文件design_one,你可以把你所需要的器件类型design 内的文件复制到这个文件里,例如我要做一个V5的project,那么就可以把leon3-gr-pci-xc5v 这个文件里的文件复制到design_one里面。
然后进入虚拟机,用终端打开design_one文件,执行命令make xgrlib,打开如下界面。
1.红色区域
首先来看Simulation,这个GRlib提供了包括Modelsim、
Nasim(一位台湾人写的加工程序仿真软件)和一些其他公司
提供的仿真工具(我对着些仿真工具也不是太了解,因为只
做过Altera和Xilinx的FPGA,所以只对他们自带的仿真工
具和Modelsim比较了解,而且我们后面的实例只用到
Modelsim。
)选择所需要的仿真工具,如果在Linux下安装
了Modelsim的话,在这里可以run Modelsim。
如果没有也
没关系,他会在共享的工程文件中生成工程文件,这样你就
可以在Linux外部打开这个project。
其他连个选项也是一样的道理、,但是现在AMBA总线还没有设置参数,所以在这里先不要管它,我只是把第一个界面的选项先介绍一下。
2.蓝色区域
这个区域包括器件类型、项目名称、状态显示。
在状态显示里面我们可以看到生成的文件和一些GRlib在做什么操作。
3.紫色区域
prog prom:下载FPGA的prom。
Xconfig:启动配置工具。
Clean:撤销所有设置。
Scripts:产生工程脚本文件。
Distclean:移除所有产生的文件。
Quit:退出程序。
二.Xconfig工具
Xconfig启动配置工具后,我们就可以对工程进行编辑了,如图:
1.synthesis设置
Target technology(目标技术):Xlinx-Virtex为memory and pads选择目标器件,它包含XLINX、Altera的大多数器件。
Infer RAM(翻译成RAM):选择Y,不针对指定器件的综合,由综合工具自动生成。
选择N,指定所选的器件包进行综合。
Infer pads(翻译成pads):选择Y,不针对指定器件的综合,由综合工具自动生成。
选择N,指定所选的器件包进行综合。
Disable asynchronous reset(禁用异步复位):Y禁用,N使用。
Enable scan support(使能扫描支持):Y使用,N禁用,可以通过选择这个选项来使设计是否可测试。
2.Clock generation(时钟产生)
Clock generation:当你选择不同的器件时,它的内部Clock资源也是不相同的。
Clock multiplication factor(allowed values are tech dependent):时钟倍频系数(允许的值是高技术依赖)。
Clock division factor(allowed values are tech dependent):时钟分频系数(允许值是高科技支持)。
Output division factor(1-32):输出分频系数。
Output division factor,2nd clk(0-32,see help):第二个输出时钟系数。
Output division factor,3rd clk(0-32,see help):第三个输出时钟系数。
Enable Xilinx CLKDLL for PCI clock:使能XINLINX CLKDLL为PCI时钟。
Disable external feedback for SDRAM clock:禁用外部SRAM时钟反馈。
Use PCI clock as system clock:使用PCI时钟作为系统时钟。
3.processor(处理器)
Enable LEON3 SPARC V8 Processor(使能LEON3 SPARC V8 处理器)
Number of processors(处理器数量):选择处理器数量。
Force values from example configuration(从配置事例中强制赋值):
Minimal-configuration低性能配置
General-purpose-cfg一般用途配置
High-performance-cfg高性能配置
Custom-configuration自定义配置
下面内容为对这个选项相关的介绍:
LEON3是一种基于SPARC V8(IEEE-1754)架构的32位处理器核。
LEON3主要面对嵌入式应用,具有高性能低复杂度、低功耗等特点。
LEON3处理器核具有以下特性:
●基于哈佛结构的七级流水线
●独立的指令cache和数据cache
●硬件乘除功能
●在线调试功能
●多处理器支持
下图为LEON3的结构框图:
图5-3 LEON3 结构框图
LEON3整数单元实现了完整的SPARC V8标准,包括硬件乘除指令。
寄存器数量可以配置,默认配置为8个,七级流水线结构,带有独立的数据和指令cache接口。
LEON3带有一个可配置的cache系统,具有独立的指令和数据cache。
指令和数据都可以配置为1-4级,每级可以设置为1-256kbyte。
LEON3中可以选择使用一个基于SPARC V8架构的内存处理单元(SRMMU)。
SRMMU实现了完整的SPARC V8 MMU协议,并提供36位物理地址和32位虚拟地址之间的地址映射。
LEON3支持支持SPARC V8架构的中断模型,共有15个异步中断。
中断接口可以产生中断和识别中断。
cache系统实现了一个AMBA AHB主设备用来与cache进行数据的加载和存储。
接口遵照AMBA-2.0标准实现。
LEON3支持多处理器系统,每个处理器有一个唯一的索引可以对处理器进行列举。
3.1 integer unit(整数运算单元)
SPARC register windows(SPARC寄存器窗口):
3.2Floating-point unit
3.3 Cache system
3.4 MMU
3.5 Debug Support Unit
3.6 Fault-tolerance
3.7 VHDL debug settings
4.AMBA configuration(AMBA配置)
Default AHB master(默认AHB主):默认AHB主编号(工作在固定优先级模式下)。
Round-robin arbiter(循环优先级):
AHB split-transaction support(AHB分割交易支持):
Enable full plug&play decoding(启用完整的即插即用解码):
I/O area start address (haddr[31:20])(i/o区域起始地址):
AHB/APB bridge address(haddr[31:20])(AHB/APB桥地址):
Enable AMBA AHB monitor(使能AMBA监视器):
Report AHB errors(报告AHB错误):
Report AHB warnings (报告AHB警告):
Write trace to simulation console(仿真控制写跟踪):5.Debug Link(调试链接)。