FPGA移植软核的原理
FPGA设计,规模巨大而且功能复杂,因此设计的每一个部分都从头开始是不切实际的。一种解决的办法是:对于较为通用的部分可以重用现有的功能模块,而把主要的时间和资源用在设计中的那些全新的、独特的部分。这就像是你在开发应用程序的时候就不用直接去写驱动物理硬件的代码,而是直接调用Windows提供的API就行了。 这种功能模块我们称作IP核(Intelligent Property) ,IP核是具有知识产权核的集成电路芯核总称,是经过反复验证过的、具有特定功能的宏模块,与芯片制造工艺无关,可以移植到不同的半导体工艺中。到了SOC 阶段,IP 核设计已成为ASIC 电路设计公司和FPGA 提供商的重要任务,也是其实力体现。对于FPGA 开发软件,其提供的IP 核越丰富,用户的设计就越方便,其市场占用率就越高。
以ARM架构为例,透过ARM架构,需要先了解处理器内部组成、该架构支持的指令集,用verilog一步一步实现处理器软核时序的设计,动手完成一款RISC 软核处理器的设计。另一方面,在自己设计的处理器上运行程序,并移植到FPGA中实现。使用keil 开发环境编译得到ARM 机器码,把该机器码和软核处理器作为modelsim输入,验证处理器与期望功能的一致性。将ARM处理器移植到FPGA 上进行验证,使软件程序在FPGA软核上运行,在电脑端显示结果。
软核(Soft IP Core):可移植操作系统
软核在EDA 设计领域指的是综合之前的寄存器传输级 (RTL) 模型;具体在FPGA 设计中指的是对电路的硬件语言描述,包括逻辑描述、网表和帮助文档等。软核只经过功能仿真,需要经过综合以及布局布线才能使用。其优点是灵活性高、可移植性强,允许用户自配置;缺点是对模块的预测性较低,在后续设计中存在发生错误的可能性,有一定的设计风险。软核是IP 核应用最广泛的形式。
固核(Firm IP Core):IP核
固核在EDA 设计领域指的是带有平面规划信息的网表;具体在FPGA 设计中可以看做带有布局规划的软核,通常以 RTL 代码和对应具体工艺网表的混合形式提供。将 RTL 描述结合具体标准单元库进行综合优化设计,形成门级网表,再通过布局布线工具即可使用。和软核相比,固核的设计灵活性稍差,但在可靠性上有较大提高。 目前,固核也是IP 核的主流形式之一。
硬核 (Hard IP Core):设计版图
硬核在EDA 设计领域指经过验证的设计版图;具体在FPGA 设计中指布局和工艺固定、经过前端和后端验证的设计,设计人员不能对其修改。不能修改的原因有两个:首先是系统设计对各个模块的时序要求很严格,不允许打乱已有的物理版图;其次是保护知识产权的要求,不允许设计人员对其有任何改动。IP 硬核的不许修改特点使其复用有一定的困难,因此只能用于某些特定应用,使用范围较窄。
1,PS (processing system):处理系统,就是指zynq arm那部分
2,PL (programmable logic):编程逻辑,就是指zynq FPGA部分
3,SOC (system 0n chip):片上系统
4,APU (application processor unit):应用处理器单元,顾名思义,可以跑应用程序
5,SCU (snoop control unit):窥探控制单元,用来保持双核之间的数据Cache的一致性,使每个arm核的缓存里的数据和存储器同步,始终是最新数据
6,TTC (Triple Time Counter): 时间计数器,里面有3个独立通道,可以独立计数。 挂在APB上,为系统或外设提供定时或计数服务的。
7,WDT (watchdog timer): 看门狗定时器
8,SWDT(system watchdog timer):系统级看门狗定时器
9,MTD (memory technology device):内存技术设备
10,EDK (embedded developed kit):
11,XPS (xilinx platform studio):
12,SDK (software developed kit):
13,XADC 集成在zynq上的ADC
14,I2C:inter integrated circuit 内部集成单元接口
15,SPI:serial peripheral interface
16,AXI : advanced extensible interface
17,DMA,direct memory access
18,DMAC,direct memory access controller
19,ACP:accelerator conformance port
FPGA移植软核的原理相关推荐
- FPGA的软核、硬核以及固核的概念
核(CORE)是一个数字系统的核心,负责整个系统的内存调度,中断管理,算术逻辑运算等,如同整个系统的大脑,是由物理电气实现逻辑功能的关键.尽管复杂,但不可忽略的是,核同其他数字器件一样,也是一个典型的 ...
- 在 Picorv32 / 蜂鸟 E203 软核上运行 RT-Thread
这篇文章主要介绍一下如何在2个FPGA软核上运行 RT-Thread.首先会介绍一下我用的 FPGA,接下来分别介绍在 蜂鸟 E203 和 picorv32 上运行 RT-Thread. 如果大家对如 ...
- FPGA的IP软核、硬核以及固核
PART1 IP(Intellectual Property)就是常说的知识产权.美国Dataquest咨询公司将半导体产业的IP定义为用于ASIC.ASSP和PLD等当中,并且是预先设计好的电路模块 ...
- (22)FPGA软核、固核、硬核介绍
(22)FPGA软核.固核.硬核介绍 1.1 目录 1)目录 2)FPGA简介 3)Verilog HDL简介 4)FPGA软核.固核.硬核介绍 5)结语 1.2 FPGA简介 FPGA(Field ...
- 四、在Xilinx FPGA上使用Cortex M1 软核——固化Cortex-M1程序
在Xilinx FPGA上使用Cortex M1 软核--固化Cortex-M1程序 本文的硬件(FPGA)工程和软件代码.脚本均参考ARM提供的例程. 本文使用的FPGA工程: https://do ...
- PLL锁相环原理以及Altera FPGA的IP核实现
文章目录 前言 一.PLL锁相环功能核原理 1. 锁相环功能 2. 锁相环原理[1] 二.Altera的FPGA调用IP核实现 后续补充 总结 参考文献 前言 本文主要介绍了锁相环的原理,以及适用Al ...
- EtherCAT 总线主站 FPGA 挂百兆网口串接伺服 ethercat 主站 FPGA verilog 代码 全部在 FPGA上实现,纯 Verilog 实现,无软核
EtherCAT 总线 demo 板介绍 一.测试架构介绍 总线部分包括 EtherCAT 协议.Canopen 协议.1588 同步协议,全部在 FPGA上实现,纯 Verilog 实现,无软核,时 ...
- FPGA硬核和软核处理器的区别~
软核处理器 SOPC技术,即软核处理器,最早是由Altera公司提出来的,它是基于FPGA的SOC片上系统设计技术.是使用FPGA的逻辑和资源搭建的一个软核CPU系统,由于是使用FPGA的通用逻辑搭建 ...
- Lattice FPGA ecp5u mico32软核使用
1.软件 Diamond 3.11 (64-bit) LMS 1.0 for Diamond 3.11 2.硬件 ECP5U-25F 3.目的 实现ecp5u-25f使用lattice软核mico32 ...
最新文章
- python 导入numpy 导致多进程绑定同一个CPU问题解决方法
- c#图像灰度化、灰度反转、二值化
- 【操作系统】虚拟化CPU、Memory,共享文件
- 建立丰富多彩的toast的简单实例
- python + selenium - selenium常用元素定位
- 浅析HTML文档结构对DivCSS布局的意义
- TZOJ 1545 Hurdles of 110m(01背包dp)
- Gambit 6.编辑环境
- Amesim2016与Matlab2017b联合仿真环境搭建
- 收藏!万字长文盘点美国、德国、日本和韩国数字科技创新战略
- 中序遍历 java_java二叉树中序遍历递归和非递归实现
- delmatch oracle_oracle – 无法从结果集中读取列值
- 《From Captions to Visual Concepts and Back》阅读笔记
- Python 讲堂 parse_args()详解
- 应用示例:图像文字识别
- Linux认证考试心得:RHCE考试心得
- 辽宁省大连市谷歌高清卫星地图下载
- IT运维的几个关键绩效指标
- 华为服务器上传文件,云服务器上传文件方式
- C语言 typedef关键字
热门文章
- 关于环境专业学生/老师使用笔记本的调研
- 大数据预科班1~4天习题
- Dirty Pipe 漏洞原理
- 计算机科学与技术师范生就业前景,现在的大学,就业率最高的专业有哪些?听听学长学姐怎么说...
- 油溶性乳化消泡剂闪亮登场,但是现场没出息一点泡沫!
- No cached version of com.xxx.xxx available for offline mode
- matlab直接运行fig文件时报错
- 移动端小于12px 字体解决方案
- 雅思7分的思考于回忆
- 运营商SDWAN组网对比之--Juniper瞻博-SDWAN