关于生成AMBA ip core的GRLIB使用笔记2(哥,断奶了)

合集下载

IPS-1000系列VoIP综合接入系统用户手册V1.05

IPS-1000系列VoIP综合接入系统用户手册V1.05

IPS-1000系列VoIP综合接入系统用户手册版本:V1.05目录1.前言 (1)2.概述 (2)3.系统指标 (3)3.1功能、性能 (3)3.2工作条件 (3)3.3配置 (4)4.结构 (5)4.1VIP板面板图 (5)4.2面板 (5)4.3出线 (6)4.4系列结构标准 (6)5.安装和操作 (7)5.1IPS设置简介 (7)5.2产品安装和呼叫 (7)5.3呼叫 (7)5.4IPS系列编程 (7)6.VIP设置命令(Telnet 远程配置) (8)6.1操作系统登录命令Telnet (8)6.2帮助命令Help (8)6.3显示配置命令Show (9)6.4设置配置命令Set (10)6.5存盘命令Save (10)6.6恢复前次配置命令Load (10)6.7恢复初始配置命令LoadDefault (10)6.8系统重起动命令Reboot (10)6.9退出命令配置Quit (11)7.配置数据 (12)7.1NetWork部分 (12)7.1.1广域网IP (12)7.1.2广域网IP子网掩码 (12)7.1.3广域网MAC值 (12)7.1.4广域网口DHCP模式 (12)7.1.5局域网IP (13)7.1.6局域网IP子网掩码 (13)7.1.7局域网MAC值 (13)7.1.8DNS状态 (13)7.1.9DNS IP (13)7.1.10默认网关IP (14)7.1.11NAT功能 (14)7.1.12NAT端口映射表 (14)7.1.13PPPoE (14)7.1.14PPPoE 用户名 ......................................... 147.1.15PPPoE 用户密码. (15)7.2GateWay部分 (15)7.2.1网关别名 (15)7.2.2网关IP (15)7.2.3网关区号 (15)7.2.4呼入前缀匹配值 (15)7.2.5呼入前缀删除状态 (16)7.2.6设备最大允许话音通道数 (16)7.2.7启用快速呼叫功能 (16)7.2.8Q.931协议端口值 (16)7.2.9RTP起始端口值 (16)7.2.10TCP起始端口值 (17)7.2.11MCC通信定时器 (17)7.2.12网守定时器 (17)7.2.13TCP定时器 (17)7.2.14ALERTING定时器 (17)7.2.15CONNECING定时器 (17)7.2.16RAS重发次数 (18)7.2.17网守状态 (18)7.2.18网守IP (18)7.2.19TUNNEL状态 (18)7.2.20网关路由表 (18)7.3CDR IP部分 (19)7.3.1中央维护台的IP (19)7.3.2普通维护台IP (19)7.3.3设置SNMP 管理站IP (19)7.4GateKeeper部分 (19)7.4.1网守最大支持呼叫数基本属性 (19)7.4.2内部网守状态 (20)7.4.3IRR消息频率 (20)7.4.4RRQ消息频率 (20)7.4.5RRQ消息超时次数 (20)7.4.6IRR消息超时次数 (20)7.4.7GKID (20)7.4.8网守信息表 (21)7.4.9DSP状态 (21)7.4.10语音编码类型 (21)7.4.11传真模式 (21)7.4.12语音包允许延迟时长 (22)7.4.13回声抵消状态 (22)7.4.14静音检测状态 (22)7.5SYSTEM部分 (22)7.5.1系统软件版本 (22)7.5.2T35国家码 (22)7.5.3T35扩展码 (22)7.5.4终端类别 (23)7.5.5产品ID号 (23)7.5.6设备厂家号 (23)7.5.7H.323协议栈版本 (23)7.5.8H.225协议栈版本 (23)7.5.9H.245协议栈版本 (23)7.6Dialedlen部分 (23)7.7IP ECHO部分 (24)7.7.1IPECHO客户端 (24)7.7.2客户机定时发送消息时间 (24)7.7.3服务器所在地址 (24)7.7.4服务器所在端口 (25)7.7.5是否作为服务器 (25)8.关于配置文件的存取 (26)8.1下载VIP配置文件至PC (26)8.2上传PC的配置文件至VIP中: (26)8.3用TFTP升级VIP系统软件 (26)9.维护注意事项 (27)9.1VIP板RUN灯长亮 (27)9.2IPS电话无法呼出 (27)图图5-1面板指示图 (5)表表5-1面板LED定义 (5)1.前言●本手册详细地介绍了IPS-1000系列V oIP综合接入系统(IPS-1016/1160/1240)的结构、工程安装说明、软件设置等,您也可以根据目录及页眉的标题进行选择性地阅读此手册。

grlib说明文档中文版

grlib说明文档中文版

5GRLIB design concept5.1introductionGRLIB是一个可重用IP Core的集合,并分成了多个VHDL库。

每一个库提供了特定厂商的元件或者一系列共享的功能或接口。

在GRLIB设计中使用的数据结构和元件声明都是通过库指定的VHDL包来输出的。

GRLIB是基于AMBA AHB和APB片上总线的,并把该总线用作标准的互联接口。

AHB/APB总线的实现是与AMBA-2.0相兼容的,并附加了额外的“sideband”(边带)信号。

这些边带信号的有三个用途:automatic address decoding,interrupt steering和device identification(a.k.a plug&play support)。

根据AHB/APB 信号的功能,GRLIB的库把这些信号以VHDL records的形式组合在一起。

GRLIB AMBA包的源文件在lib/grlib/amba/下。

所有的GRLIB core都使用同样的data structures来声明AMBA接口,这样相互之间的连接就很容易了。

GRLIB库还包含了一个AHB bus controller和一个AHB/APB bridge,借助这两个模块,可以很快组装成一个全功能的AHB/APB的系统。

下面的部分将描述AMBA总线是怎么实现的以及怎样用GRLIB来建一个SOC设计。

5.2AMAB AHB on-chip bus5.2.1General(概述)AMBA Advanced High-performance Bus(AHB)是一个multi-master的总线,可以以high data rate and/or variable latency的形式来互连各单元。

图5就是一个概念图。

图中连在总线上的单元分为masters(主)和slaves(客),并都受一个全局的总线仲裁器(global bus arbiter)控制。

ARM MP-core启动流程

ARM MP-core启动流程

ARM MP-core 启动流程
1. iROM 启动MP Core 时,通常的做法:(1)让CPU0 执行主要开机流程,
其它的处理器进入WFI.
(在启动时,每个处理器可以透过CPU ID 得知自己是否为CPU0,如果不是,就
进入WFI 的程序代码中.)
即:让AP 进入Sleep
(2) 初始化外部内存与执行系统的初始化
(3) 设定Stack
在DRAM 初始化前,Stack 是建立在SRAM 中的。

(4) 把BootRom 程序代码复制到外部内存中
(5) 重新Mapping 内存位置
(把0 乘以00000000 地址对应到外部内存或I-TCM 如果0 乘以00000000
地址要跑中断表的话(or 中断表对应到0xffff0000))
因为,Cold Reset 时为了顺利开机,把iROM 映射到了0x0000 0000 处.
(6) 把第二阶段的BootLoader 加载到外部内存中or OnChip SRAM.\
(7) 执行第二阶段的BootLoader
2. 如何识别当前是哪个CPU 在执行
执行时期,软件可以透过CPU ID Register 知道目前是MPCore 中哪个处理器
执行该程序代码,
CPU Id 储存在CP15 c0 中,长度为32bits,只能在特权等级(也就是SVC Mode 下)被读取,读取的范例如下程序代码所示:
MRC p15,0,,c0,c0,5; returns CPU ID register 31 12 11 8 7 4 3 0 SBZ Cluster ID SBZ CPU ID 说明如下, (1) Cluster ID:。

ACLLib基础文档

ACLLib基础文档
4. 声音...........................................................................................................................................6
4.1 加载...............................................................................................................................6
4.2 播放...............................................................................................................................6
4.3 停止...............................................................................................................................7
5. 事件...........................................................................................................................................7
1. 主函数.......................................................................................................................................1

python中pathlib模块的基本用法与总结

python中pathlib模块的基本用法与总结

python中pathlib模块的基本⽤法与总结前⾔相⽐常⽤的 os.path⽽⾔,pathlib 对于⽬录路径的操作更简介也更贴近 Pythonic。

但是它不单纯是为了简化操作,还有更⼤的⽤途。

pathlib 是Python内置库,Python ⽂档给它的定义是:The pathlib module – object-oriented filesystem paths(⾯向对象的⽂件系统路径)。

pathlib 提供表⽰⽂件系统路径的类,其语义适⽤于不同的操作系统。

1. pathlib模块下Path类的基本使⽤from pathlib import Pathpath = r'D:\python\pycharm2020\program\pathlib模块的基本使⽤.py'p = Path(path)print() # 获取⽂件名print(p.stem) # 获取⽂件名除后缀的部分print(p.suffix) # 获取⽂件后缀print(p.parent) # 相当于dirnameprint(p.parent.parent.parent)print(p.parents) # 返回⼀个iterable 包含所有⽗⽬录for i in p.parents:print(i)print(p.parts) # 将路径通过分隔符分割成⼀个元组运⾏结果如下:pathlib模块的基本使⽤.pypathlib模块的基本使⽤.pyD:\python\pycharm2020\programD:\python<WindowsPath.parents>D:\python\pycharm2020\programD:\python\pycharm2020D:\pythonD:\('D:\\', 'python', 'pycharm2020', 'program', 'pathlib模块的基本使⽤.py')Path.cwd():Return a new path object representing the current directoryPath.home():Return a new path object representing the user's home directoryPath.expanduser():Return a new path with expanded ~ and ~user constructsfrom pathlib import Pathpath_1 = Path.cwd() # 获取当前⽂件路径path_2 = Path.home()p1 = Path('~/pathlib模块的基本使⽤.py')print(path_1)print(path_2)print(p1.expanduser())运⾏结果如下:D:\python\pycharm2020\programC:\Users\AdministratorC:\Users\Administrator\pathlib模块的基本使⽤.pyPath.stat():Return a os.stat_result object containing information about this pathfrom pathlib import Pathimport datetimep = Path('pathlib模块的基本使⽤.py')print(p.stat()) # 获取⽂件详细信息print(p.stat().st_size) # ⽂件的字节⼤⼩print(p.stat().st_ctime) # ⽂件创建时间print(p.stat().st_mtime) # 上次修改⽂件的时间creat_time = datetime.datetime.fromtimestamp(p.stat().st_ctime)st_mtime = datetime.datetime.fromtimestamp(p.stat().st_mtime)print(f'该⽂件创建时间:{creat_time}')print(f'上次修改该⽂件的时间:{st_mtime}')运⾏结果如下:os.stat_result(st_mode=33206, st_ino=3659174698076635, st_dev=3730828260, st_nlink=1, st_uid=0, st_gid=0, st_size=543, st_atime=1597366826, st_mtime=1597366826, st_ctime=1597320585)5431597320585.76574751597366826.9711637该⽂件创建时间:2020-08-13 20:09:45.765748上次修改该⽂件的时间:2020-08-14 09:00:26.971164从不同.stat().st_属性返回的时间戳表⽰⾃1970年1⽉1⽇以来的秒数,可以⽤datetime.fromtimestamp将时间戳转换为有⽤的时间格式。

ffmpegframegrabber 原理

ffmpegframegrabber 原理

FFmpegFrameGrabber是一个基于FFmpeg多媒体处理库的Java接口,用于从视频文件中抓取帧并处理视频数据。

它可以让开发者在Java应用程序中进行音视频处理、分析和转码等操作。

FFmpegFrameGrabber的工作原理如下:1. 配置FFmpeg库:首先,需要在Java项目中配置FFmpeg库的相关依赖。

这可以通过将FFmpeg库的路径添加到项目的类路径中来实现。

2. 创建FFmpegFrameGrabber实例:在Java代码中,使用FFmpegFrameGrabber类创建一个Grabber实例,该实例表示要处理的视频文件。

3. 打开视频文件:使用Grabber的open()方法打开视频文件。

这将初始化Grabber内部的FFmpeg上下文,并获取视频文件的相关信息,如帧率、分辨率等。

4. 抓取视频帧:使用Grabber的grabFrame()方法从视频文件中连续抓取每一帧的视频数据。

可以控制抓取的帧率,以确定抓取的频率。

5. 处理视频帧:抓取到的视频帧可以进行各种处理操作,如帧级别的图像处理、分析或转码。

可以通过获取帧数据的方式来访问每一帧的像素信息。

6. 关闭Grabber:处理完所有需要的视频帧后,使用Grabber的close()方法关闭Grabber实例,释放资源。

FFmpegFrameGrabber通过封装FFmpeg的底层功能,提供了一个方便的Java接口,使得开发者可以处理视频文件并进行各种操作。

它在Java平台上为多媒体处理提供了强大而灵活的能力。

请注意,以上是对FFmpegFrameGrabber工作原理的概述,实际使用时可能会受到具体的编程环境和使用方式的影响。

如果您需要更详细的信息,建议查阅FFmpegFrameGrabber的官方文档或进一步的开发资源。

RouterOS中文手册1

RouterOS中文手册1

ISP级软件路由器之王RouerOS 宽带接入服务器用户手册――配置指南RouerOS 系列宽带接入服务器配置指南内容摘要一.概述 (3)1.RouerOS 宽带接入服务器的网络接口类型 (3)2.RouerOS 宽带接入服务器具有以下网络功能 (3)二.基本的配置管理 (5)1 1.系统的缺省帐号 (5)1 2.登录方式 (5)1 3.命令行配置的基本操作 (6)1 远程管理-权限管理 (7)1 5.日志管理 (8)1 91 7.系统时间设置 (10)8. 系统热启动 (10)三.物理接口的配置管理 (10)四.查看当前配置 (11)4.1 查看全部配置 (11)4.2 查看子项配置 (11)五.IP 参数配置 (11)1 1. 路径: (11)1 2. 功能: (11)1 3. 配置IP 地址及路由 (12)1 4. 配置Firewall (14)1 5. 配置IP Service,限定远程管理RouerOS 的地址和方式 (16)1 6. 配置Hotspot(WEB 认证) (16)1 7. 配置IP Pool (16)1 8. 启用NAT 后的策略路由配置 (16)六.配置ppp 参数 (21)1. 配置PPP 模板 (22)2. 配置Radius-client (22)七.PPPoE 配置 (23)八.HOTSPOT 配置 (25)九.VLAN 配置 (30)十.VPN 配置 (31)10.1 PPTP VPN (31)10.2 EOIP VPN (32)十一.DHCP 配置 (33)11.1 DHCP Server (33)MAC 地址(及IP 地址)与端口绑定 (34)十二.防火墙配置 (35)12.1 防“冲击波”病毒 (35)十三. 配置文件的备份与恢复 (36)1 1. 显示文件系统 (36)1 2. 备份配置文件 (36)1 3. 恢复配置文件 (37)1 4. 配置文件上载与下载 (37)1 5. 配置复位 (37)1 6. 查看系统资源状况 (37)2 7. 监视端口流量 (37)Reference: (37)一.概述RouerOS 宽带接入服务器是基于嵌入式专用网络操作系统而设计的,具有丰富的网络接口,具备多数常见的网络设备功能,处理能力超群,运行十分稳健,性价比极高。

CDP 使用指南说明书

CDP 使用指南说明书

CDP使用指南2021年05月12日目录1.文档说明 (8)2.CDP平台介绍 (8)2.1.CDP平台简介 (9)2.2.C LOUDERA M ANAGER概览 (10)2.3.C LOUDERA R UNTIME (11)2.4.工具 (11)2.5.设置对基于阿里云部署的CDP的访问权限 (12)2.5.1.配置SOCKS代理 (12)2.5.2.启动SOCKS代理 (12)2.5.3.配置Google Chrome浏览器以使用代理 (13)2.5.4.网络安全组 (14)3.CLOUDERA MANAGER (15)3.1.术语 (15)3.1.1.部署 (16)3.1.2.动态资源池 (16)3.1.3.集群 (16)3.1.4.主机 (16)3.1.5.机架 (16)3.1.6.服务 (16)3.1.7.服务实例 (17)3.1.8.角色 (17)3.1.9.角色实例 (17)3.1.10.角色组 (17)3.1.11.主机模板 (17)3.1.12.网关(Gateway) (17)3.1.13.Parcel (18)3.1.14.静态服务池 (18)3.2.C LOUDERA M ANAGER架构 (18)3.2.1.心跳 (19)3.3.状态管理 (19)3.4.C LOUDERA M ANAGER 管理控制台 (20)3.4.1.Cloudera Manager管理控制台主页 (24)3.4.2.自动登出 (28)3.5.进程管理 (30)3.6.主机管理 (30)3.7.C LOUDERA M ANAGER A GENT (31)3.7.1.cm_processes (31)3.8.资源管理 (32)3.9.用户管理 (33)3.10.安全管理 (33)3.11.使用C LOUDERA M ANAGER监控集群 (33)3.12.C LOUDERA M ANAGEMENT S ERVICE (35)3.12.1.健康测试 (35)3.12.2.指标收集和显示 (36)3.12.3.事件、警报和触发器 (36)3.13.集群配置概述 (37)3.14.服务器和客户端配置 (38)3.15.C LOUDERA M ANAGER API (39)3.16.虚拟专用集群和C LOUDERA SDX (39)3.16.1.分离计算和数据资源的优势 (40)3.16.2.架构 (40)3.16.3.权衡性能 (42)3.16.4.虚拟专用集群的兼容性注意事项 (42)3.16.5.虚拟专用集群的网络注意事项 (47)4.CDP核心组件 (53)4.1.C LOUDERA R UNTIME组件版本 (53)4.2.分布式文件系统HDFS (57)4.3.实时数据库HB ASE (58)4.4.列式存储引擎K UDU (60)4.5.统一资源管理和调度框架 (61)4.6.分布式计算框架–T EZ (66)4.7.数据仓库组件–H IVE (68)4.8.SQL分析引擎I MPALA (69)4.9.HB ASE SQL查询引擎P HOENIX (71)4.10.C LOUDERA整合全文检索引擎 (73)4.11.分布式内存计算框架–S PARK (76)4.12.数据库接入工具S QOOP (78)4.13.C LOUDERA一站式安全管理 (83)4.14.分布式消息队列K AFKA (93)4.15.A PACHE A TLAS (95)5.CLOUDERA安全概述 (98)5.1.概述 (98)5.1.1.安全要求 (99)5.1.2.安全等级 (99)5.1.3.Hadoop安全架构 (100)5.2.认证概述 (101)5.2.1.Kerberos概述 (102)5.2.2.Kerberos部署模型 (103)5.2.3.使用TLS/SSL进行安全的Keytab分发 (109)5.2.4.使用向导或手动过程来配置Kerberos身份验证 (110)5.2.5.集群组件使用的身份验证机制 (110)5.3.加密概述 (111)5.3.1.保护静态数据 (111)5.3.2.保护传输中的数据 (114)5.3.3.Hadoop项目中的数据保护 (115)5.3.4.加密机制概述 (117)5.4.授权概述 (117)5.4.1.Hadoop中的授权机制 (118)5.4.2.与身份验证机制的身份验证机制集成 (119)5.4.3.Hadoop项目中的授权 (120)5.5.治理概述 (121)5.5.1.什么是Apache Atlas? (121)5.5.2.Apache Atlas使用元数据创建血统关系 (121)5.5.3.添加到实体元数据使搜索更加容易 (121)5.5.4.Apache Atlas体系结构 (122)6.CLOUDERA最佳实践 (123)6.1.I MPALA分区 (123)6.1.1.文件计数和文件大小 (123)6.1.2.分区注意事项 (124)6.1.3.指南总结 (126)6.2.I MPALA性能 (126)6.2.1.Kudu RPC (126)6.2.2.设立专门的协调员 (127)6.2.3.按需元数据和元数据管理 (130)6.3.加速S PARK ML应用 (153)6.3.1.Spark ML的原生数学库 (153)6.3.2.启用libgfortran库 (154)6.3.3.启用英特尔MKL库 (156)6.3.4.性能比较 (157)7.故障排查 (159)7.1.安全故障排查 (159)7.1.1.错误信息和各种故障 (159)7.1.2.身份验证和Kerberos问题 (167)7.1.3.HDFS加密问题 (179)7.1.4.Key Trustee KMS加密问题 (181)7.1.5.对Cloudera Manager中的TLS/SSL问题进行故障排除 (182)7.2.YARN、MR V1和L INUX OS安全性 (185)7.2.1.MRv1和YARN:jsvc程序 (185)7.2.2.仅限MRv1:Linux TaskController (186)7.2.3.仅限YARN:Linux容器执行器 (186)7.3.对I MPALA进行故障排除 (187)7.3.1.使用Breakpad Minidumps进行崩溃报告 (188)7.4.对A PACHE Y ARN进行故障排查 (190)7.4.1.在YARN上对Docker进行故障排除 (190)7.4.2.对Linux Container Executor进行故障排除 (200)7.5.对HB ASE进行故障排除 (202)7.5.1.使用HBCK2工具修复HBase集群 (203)7.5.2.Thrift Server在收到无效数据后崩溃 (203)7.5.3.HBase正在使用比预期更多的磁盘空间 (204)7.5.4.对RegionServer分组进行故障排除 (205)7.6.对APACHE KUDU进行故障排除 (206)7.6.1.启动或重启主服务器或者Tablet服务器时出现问题 (206)7.6.2.磁盘空间使用问题 (207)7.6.3.性能问题 (208)7.6.4.可用性问题 (214)7.6.5.象征堆栈跟踪 (216)7.6.6.在多主服务器部署中从死掉的Kudu主服务器中恢复 (218)7.7.对C LOUDERA S EARCH进行故障排除 (218)7.7.1.故障排除 (218)7.7.2.动态Solr分析 (219)7.7.3.其他故障排除信息 (220)7.7.4.找出Cloudera Search部署中的问题 (220)7.7.5.Cloudera Search配置和日志文件 (223)7.8.对H UE进行故障排查 (226)7.8.1.Hue负载平衡器无法在各个Hue服务器之间平均分配用户 (226)7.8.2.无法使用SAML对Hue中的用户进行身份验证 (227)7.8.3.清理旧数据以提高性能 (227)7.8.4.无法使用提供的凭据连接到数据库 (229)7.8.5.在Hue UI上激活Hive查询编辑器 (230)7.8.6.查询执行在Hue中完成,但显示为在Cloudera Manager Impala查询页面上执行 (231)7.8.7.查找Hue超级用户列表 (232)7.8.8.通过Knox访问Hue时,用户名或密码不正确 (233)7.8.9.从Knox访问Hue UI时出现HTTP 403错误 (234)7.8.10.无法从Knox Gateway UI访问Hue (236)7.8.11.引荐检查失败,因为域与任何受信任的来源都不匹配 (239)7.8.12.无法查看Snappy压缩文件 (239)7.8.13.启用SAML时出现“未知属性名称”异常 (241)7.8.14.Impala查询因无效的查询句柄错误而失败 (242)7.8.15.PostgreSQL支持的服务失败或挂起 (243)7.8.16.验证Hue中的LDAP用户时出错 (244)7.8.17.从负载均衡器访问Hue时出现502代理错误 (245)7.8.18.提交Hive查询后,无效的方法名称:“ GetLog”错误 (246)7.8.19.在Hue中提交查询时出现“授权异常”错误 (246)7.8.20.无法更改Hue中的压缩表 (248)7.8.21.从Hue访问“搜索”应用程序(Solr)时出现连接失败错误 (249)7.8.22.从顺化下载查询结果需要时间 (250)7.8.23.启用TLS后,Hue Load Balancer无法启动 (250)7.8.24.无法终止以Kerberized集群运行的Hue作业浏览器中的Hive查询 (251)7.8.25.无法在受Knox保护的集群上的Hue中查看或创建Oozie工作流 (252)7.8.26.1040,“连接太多”异常 (253)8.参考资料 (254)1.文档说明本文档主要是基于阿里云部署的CDP的操作使用和介绍,关于CDP平台的操作和使用信息来源Cloudera官网,大家可以访问https:///cdp-private-cloud-bas e/latest/index.html来获取对应的信息。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文源于哥,断奶了在学习中做的笔记,希望分享后大家一起学习讨论。

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(调试链接)。

相关文档
最新文档