CORE_Generator学习记录
CORE Generator 概述
CORE Generator主要用于IP的参数化设置和例化,其涵盖功能包括:
- FIFOs和各种存储结构
- Reed-Solomon(里所码)编码器和解码器
- FIR滤波器
- FFT相关
- PCI、PCI-X等标准接口
- 网络互联接口(以太网, SPI-4.2, RapidIO, CAN 和 PCI Express)
Xilinx IP
- 包括简单功能实现到复杂系统组件
- 信息查阅网站:http://www.xilinx.com/ipcenter
- 可配置IP类型:IP Cores,Architecture Wizard IP(芯片内部自有特殊功能块约束例化),Fixed Netlist IP(第三方黑盒IP)
- 可到官网Software Update中心进行IP的更新和扩充下载
- 复杂IP使用需具备相应的license(仅仿真/限时全可用/全可用)
CORE Generator操作界面
设计流程
- 模块图设计例化,采用网表(NGC/EDN)和模块示意图方式例化IP,在Project Options做例化生成的相关设置和选择
- VHDL设计例化,进行指定工具的综合、仿真、布局布线等操作
- Verilog设计例化,进行更多指定工具的综合、仿真、布局布线等操作
- ISE设计流程,部分操作无需开启CORE Generator界面
CORE Generator主要操作
- 命令行模式:执行IP设置例化,ISE中还可实现后台执行
Option |
Description |
-b <command_file_name> |
进入batch mode并运行命令文件内容/XCO文件 |
-f <options_file_name> |
读取命令行参数,适用于长期使用某些命令固定参数 |
-i <coregen_ini_file_name> |
指定INI文件位置,每次打开都会执行其中的命令 |
-p <project_path> |
指定工程路径/相对路径 |
-q <polling_dir_path> |
指定第三方软件调用polling mode的路径 |
-intstyle <ise| xflow | silent> |
10.1版本无此功能 |
-h |
显示帮助和版本信息 |
-d |
进入调试模式,产生更多运行相关信息 |
- 参数设置:包括PDF阅读器和浏览器的指定等操作
- 工程设置:包括器件选型修改和输出文件指定等操作
- 灰色IP表明不适用于当前器件,可进行IP的文档查看、license观测、网页信息和版本浏览等操作
- 修改和重生成IP,导入XCO文件实现工程对IP的加载,通过readme文件查看IP输出文件集,查看资源使用情况,点选Load Coefficients加载COE文件实现存储单元的例化加载,更新IP资源
- 存储块建立和编辑:利用CGF文件记录生成存储块信息的COE约束,同时定义存储块内容CGF文件;用Add Block添加存储单元;利用File > Import > CSV file添加存储块内容文件
Memory Depth |
CSV文件的数据字量,最大容限为1048576. |
Word Width |
单个字包含的位数 |
Address Radix |
内存地址基数(二进制/16进制) |
Data Radix |
数据基数(二进制/16进制),可选有/无符号 |
Start Address |
CSV文件中数据起始地址 |
批处理模式
- 进行批处理方式:1、命令输入行后台启动CORE Generator时运行批处理文件 2、CORE Generator窗口直接调用XCO文件/命令行执行批处理文件
- CORE Generator批处理文件:包含命令和注释(#开头),文件为 .ini 格式
- 用户自编写命令集文件: 可保存为任意名称和扩展
- XCO文件:记录工程选项和IP参数设置的相关信息,在已生成IP栏双击对应IP可对其进行参数修改
- coregen.log文件:记录IP生成的所有过程信息,由软件自动记录生成
CORE Generator命令和工程参数
命令 |
参数 |
功能 |
CSET |
<core_property=value> |
设置IP参数值 |
END |
N/A |
结束配置 |
EXECUTE |
<command_file_path> |
执行批处理文件 |
GENERATE |
N/A |
例化生成选定IP |
LAUNCHXCO |
<xco_filename> |
引用例化记录例化新的IP |
NEWPROJECT |
<project_path> |
创建新工程 |
SELECT |
<core_name><architecture> <vendor> <core_version> |
选定IP |
SET |
<project_property=value> |
设定工程参数,子选项见CORE Generator Project Properties. |
SETPROJECT |
<project_path> |
更改现有工程属性 |
相关文件说明
- COE文件 => 针对关键词的参数值设置,便于存储块的初始化,文件结尾必须是COEFDATA/MEMDATA/MEMORY_INITIALIZATION_VECTOR之一
关键词 |
描述 |
RADIX |
针对无存储结构IP指定滤波器系数 |
MEMORY_INITIALIZATION_RADIX |
针对存储结构指定基数数值 |
COEFDATA |
同时构成滤波器系数的额外数据 |
MEMORY_INITIALIZATION_VECTOR |
用于块/分布式存储器,数据向量 |
PATTERN |
用于位处理的COE文件,数值向量 |
BRANCH_LENGTH_VECTOR |
用于Interleaver COE文件 |
MEMDATA |
旧关键词 |
- XCO文件 => 在生成例化IP的同时产生的记录文件,包含例化IP的参数设置和工程选项
- IP文件集 => 记录文件(XCO)、符号文件(ASY<便于第三方工具调用的带IO接口的符号>/XSF<便于Mentor Graphics建立符号的网络格式端口列表>/SYM<供ISE调用的符号表征文件>)、例化模版文件(VEO<Verilog模版>/VHO<VHDL模版>)、网表文件(EDN<EDIF的网表格式,部分IP还同时包含NGO/NGC的底层描述文件>/NGO或NGC<二进制网表文件>)、约束文件(UCF布局和时序约束)、存储器初始化文件(通常由.COE文件指定初始值而自动产生MIF仿真用文件)、IP使用手册(部分IP含有的PDF文档)、记录说明文件(罗列所产生的文件的文本记录flist.txt/同时还记录更多细节描述或链接的文本记录readme.txt)
- 功能块例化=> 配置文件(记录配置设置的二进制说明XAW)、HDL文件(VHDL/Verilog用于行为仿真或结构网表仿真实现)、约束文件(UCF布局和时序约束)
推荐学习
文档程序:Xilinx ISE Help/Software Help/CORE Generator Help