参考:

(1)、PULPino datasheet:https://github.com/pulp-platform/pulpino/blob/master/doc/datasheet/datasheet.pdf

(2)、论文《基于RISC-V的PULPino+SoC的FPGA原型设计和物理实现》

1、OVERVIEW

       PULPino是为RISC-V RI5CY和zero-riscy core 构建的单核芯片系统。PULPino重用了其bigger brother PULP的大部分组件。它使用单独的单端口数据和指令ram。它包括一个引导ROM,其中包含一个引导加载程序,可以通过SPI从外部闪存设备加载程序。
       Figure 1.1 展示了SOC的框图。SoC使用AXI作为其与简单外设的APB桥的主接口。AXI和APB总线都具有32位宽的数据通道。 为了调试目的,SoC包括一个高级调试单元,它允许通过JTAG访问核心寄存器(core register)、两个RAMs和内存映射的IO。这两个ram都通过总线适配器连接到AXI总线。
                                                                      图1.1 PULPino Overview.
 
       PULPino主要针对RTL 仿真和ASICs,尽管也有一个FPGA版本。FPGA版本在性能方面并不是特别优的,因为我们主要使用它作为一个仿真平台,而不是一个standalone platform。

2、Memory Map

       图2.1显示了PULPino的默认内存映射,假设有32kB的数据和指令内存。这可以在PULPino顶级系统版本文件中进行更改。
             Figure 2.1: PULPino memory map.
 

2.1、Interrupt Vector Table

    PULPino的IVT遵循了对RI5CY核心的定义。
                                                           表2.1:中断/异常(exception)偏移向量表

3、CPU Core

      PULPino同时支持RISC-V RI5CY和RISC-V ZERO-RISCY。这两个core 具有相同的外部接口,因此与插头兼容(plug-compatible)。图3.1和3.2显示了两个core体系结构
      The core使用一个非常简单的数据和指令接口来与数据和指令内存进行交互(talk)。为了与AXI接口,在PULPino中实例化了一个 core2axi 协议转换器。
      为了调试,所有core register都被内存映射,允许通过AXI总线访问它们。core内部的调试单元通过此总线处理请求,并读取/设置 core register and/or halts the core。
      The core支持 performance counters。这些主要用于 counting core internal events,如 stalls,但也有可能 count core-external events。为此,有ext_perf_counters_i端口,可以附加任意事件。然后,每当在该端口上看到 a logic high,the core 就会为该事件类型增加其 internal performance counter。
       RISCY 核是一个有序的单发射核心,具有 4 级流水线,每个时钟周期能执行接近 1 条指令。该核心完全支持基本整数指令集、压缩指令集、乘法指令集扩展和单精度浮点指令集扩展,并且实现了多个 ISA 扩展,例如位操作指令、MAC 操作、支持定点操作、打包 SIMD 指令和点积。 它旨在提高超低功耗信号处理应用的能效。(见论文:基于RISC-V的PULPino+SoC的FPGA原型设计和物理实现)
                              Figure 3.1: RISCY core overview
 
       ZERO RISCY 核是一个有序的单发射核心,有 2 级流水线,完全支持基本整数指令集和压缩指令集。它还可以配置为具有乘法指令集扩展和为嵌入式系
统而设计的,减少整数寄存器数目的基本整数指令集。 它旨在实现超低功耗和超低面积。(见论文:基于RISC-V的PULPino+SoC的FPGA原型设计和物理实现)
                              Figure 3.2: zero-riscy core overview
 

4、Advanced Debug Unit

      高级调试单元有一个AXI主接口来访问外围设和内存。与PulpinoV1 the adv.相比,调试单元不再具有专门的调试接口来读出所有的core register。
      所有的核心寄存器(core registers)现在都是内存映射的,这意味着它们可以通过AXI接口读取。因此,调试不仅可以通过JTAG进行,而且还可以通过SPI或任何其他接口进行。
      JTAG信号被连接到SoC的引脚上。(信号:trstn、tck、tms、tdl、tdo、dbginf)
                  Figure 4.1: Advanced Debug Unit.
 
 
 
 
 
 
 
 
 
 
 
 
 
 

PULPino datasheet中文翻译并给了部分论文注释(前四章:Overview、Memory Map、CPU Core、Advanced Debug Unit)的更多相关文章

  1. 《Entity Framework 6 Recipes》中文翻译系列 目录篇 -持续更新

    为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! ...

  2. Spark官方文档 - 中文翻译

    Spark官方文档 - 中文翻译 Spark版本:1.6.0 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 引入Spark(Linki ...

  3. PS网页设计教程——30个优秀的PS网页设计教程的中文翻译教程

    PS网页设计教程--30个优秀的PS网页设计教程的中文翻译教程   作为编码者,美工基础是偏弱的.我们可以参考一些成熟的网页PS教程,提高自身的设计能力.套用一句话,"熟读唐诗三百首,不会作 ...

  4. Spark SQL 官方文档-中文翻译

    Spark SQL 官方文档-中文翻译 Spark版本:Spark 1.5.2 转载请注明出处:http://www.cnblogs.com/BYRans/ 1 概述(Overview) 2 Data ...

  5. Learning Spark: Lightning-Fast Big Data Analysis 中文翻译

    Learning Spark: Lightning-Fast Big Data Analysis 中文翻译行为纯属个人对于Spark的兴趣,仅供学习. 如果我的翻译行为侵犯您的版权,请您告知,我将停止 ...

  6. 苹果App Store审核指南中文翻译(2014.9.1更新)

    转:http://www.cocoachina.com/appstore/20140901/9500.html CocoaChina对<苹果应用商店审核指南>中文翻译最近一次更新时间为20 ...

  7. (转)PK系列之六:该不该读中文翻译的专业书

    本文引用地址:http://blog.sciencenet.cn/blog-2999994-956596.html 此文来自科学网王立新博客,转载请注明出处. 刘新建:这几天在读一本译著:投入产出分析 ...

  8. Umbraco官方技术文档 中文翻译

    Umbraco 官方技术文档中文翻译 http://blog.csdn.net/u014183619/article/details/51919973 http://www.cnblogs.com/m ...

  9. 《Introduction to Tornado》中文翻译计划——第五章:异步Web服务

    http://www.pythoner.com/294.html 本文为<Introduction to Tornado>中文翻译,将在https://github.com/alioth3 ...

随机推荐

  1. 学废了系列 - WebGL与Node.js中的Buffer

    WebGL 和 Node.js 中都有 Buffer 的使用,简单对比记录一下两个完全不相干的领域中 Buffer 异同,加强记忆. Buffer 是用来存储二进制数据的「缓冲区」,其本身的定义和用途 ...

  2. C++ //多态 //静态多态:函数重载 和 运算符重载 属于静态多态 ,复用函数名 //动态多态:派生类和虚函数实现运行时多态

    1 //多态 2 //静态多态:函数重载 和 运算符重载 属于静态多态 ,复用函数名 3 //动态多态:派生类和虚函数实现运行时多态 4 5 //静态多态和动态多态的区别 6 //静态多态的函数地址早 ...

  3. 有赞Android实习五面都挂了,复习半月再战,转拿腾讯offer!

    缘起 为了有赞的面试准备了半个月的样子,当时还投了美团.字节.滴滴.京东,目的只有一个,就是要进大厂,但是只有有赞扛过了一面,其他都是一面就挂了. 前三面都自我感觉良好,以为能稳拿offer的,没想到 ...

  4. pom.xml中web.xml is missing and <failOnMissingWebXml> is set to true错误的解决

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  5. chromium调试技巧

    调试技巧: 1.多进程不方便跟踪渲染进程,单渲染进程的设置方法     command_line->AppendSwitchWithValue("--renderer-process- ...

  6. Python - typing 模块 —— 类型别名

    前言 typing 是在 python 3.5 才有的模块 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p/15145380.html 常用类型提示 ...

  7. 谈谈 Nginx 那点事【一】

    为什么突然决定总结Nginx ? 不知不觉8月份又要过完了,时间真是个无情的崽种. 写Nginx 首先,主要源于最近项目部署工作中和公司技术中心的人对接部署相关事宜流程太繁琐了.每个部门有各自的工作安 ...

  8. SQL 练习37

    检索至少选修两门课程的学生学号 SELECT Student.SId,Student.Sname,选课数 from Student, (SELECT sid,COUNT(cid) 选课数 from s ...

  9. ASP.NET Core教程:ASP.NET Core使用AutoMapper

    一.前言 在实际的项目开发过程中,我们使用各种ORM框架可以使我们快捷的获取到数据,并且可以将获取到的数据绑定到对应的List<T>中,然后页面或者接口直接显示List<T>中 ...

  10. UWP - 介绍App Service 与新功能

    App Service 是一种背景工作运行的服务,提供给其他Apps 使用就像Web Service.它本身无使用介面(UI-less),允许Apps 在同一个设备被引用,甚至Windows 10 1 ...