硬件编程语言
idevede
在等待的日子里,刻苦读书,谦卑做人,养得极深,日后才能枝繁叶茂
展开
-
解决Xilinx_ISE 14.7在Win10下选择“open project”崩溃闪退的问题
解决Xilinx_ISE 14.7在Win10下选择“open project”崩溃闪退的问题问题描述ISE 14.7对win10无法完美支持,在使用64位ISE时点击OPEN之类的东西时程序都会崩溃,虽然使用32位不会有这个问题,但是工程的默认打开方式不能改为32位。 解决方法如下第一步寻找安装Xilinx_ISE的安装目录下的文件夹: D:\Xilinx\14.7\ISE_DS\ISE\原创 2017-02-20 20:19:45 · 56668 阅读 · 31 评论 -
LLVM 后端移植 寄存器定义部分代码分析
对经过前端翻译后生成的 LLVM 中间代码,通过后端代码生成器可以生成对特定后端处理器的后端代码。生成的后端代码可以两种形式存在:一种是以目标处理器的汇编代码形式,可以通过汇编器编译后得到相应的目标处理器二进制代码, 并能运行在目标处理器上;另一种是直接以二进制代码存在,不能运行在目标处理 器上,但可以使用 JIT 编译器直接在本地运行。移植接口代码结构有用的抽象类::TargetMachin...原创 2019-05-22 13:28:02 · 7130 阅读 · 0 评论 -
LLVM TableGen 学习笔记
LLVM TableGen分析TableGen 描述文件是由许多的记录(record)组成的。每一个记录都有一个唯一的名字,包含一系列的数据,这些数据就是 TableGen 文件所描述的领域所需的信息。使用 tblgen 工具解析文件时,指定这些数据所针对的不同领域,就可以解析出该领域所需的记录信息。记录可以分为两种,一种称为定义(definition),一种成为类(class)。定义是最基本...原创 2019-05-21 23:14:14 · 7650 阅读 · 0 评论 -
llvm编译系统结构分析
LLVM 编译系统分析中间代码工具集编译流程整个 LLVM 编译系统的组成可分成三部分:LLVM 中间代码,用于分析、 优化、代码生成等工作的集成库,以及建立在以上集成库基础之上的工具,包括汇 编器、链接器、调试器等等。本章将先依次分析这三个组成部分,然后再对 LLVM 的编译流程作详细的说明。中间代码LLVM 中间代码是一种采用 SSA 形式的 IR(Immediate Represent...原创 2019-05-21 22:40:14 · 6933 阅读 · 0 评论 -
Improving direct-mapped cache performance by the addition of a small fully-associative cache and pre
Improving direct-mapped cache performance by the addition of a small fully-associative cache and prefetch buffers 阅读笔记摘要总结摘要计算机预测技术在不久的将来峰值将达到1000MIPS。如果这些处理器的层次结构基于传统的缓存技术,很容易损失一半甚至更多的性能。本文介绍了提高缓存性...原创 2019-05-15 22:00:57 · 6572 阅读 · 0 评论 -
MIPS R10000 文献综述
论文地址:https://ieeexplore.ieee.org/document/491460MIPS R10000 是动态超标量RISC处理器,是为克服性能限制(存储带宽和时延)而设计的,它在每个时钟周期可以取值和编码4条指令,并且能够动态的将他们发送到5级完全流水、低时延的时钟单元中。它拥有4项分支栈,可以在分支之前预测式的执行。采用动态乱序执行技术,尽管指令的执行是无序的,但是指令...原创 2019-05-07 09:47:50 · 10036 阅读 · 0 评论 -
在RISC V 上添加custom指令并在gem5 和 spike上运行
修改RISCV工具链第一步是安装RISCV工具链:$ git clone https://github.com/riscv/riscv-tools.git$ git submodule update --init --recursive$ export RISCV=/path/to/install/riscv/toolchain$ ./build.sh第二步明确要添加的指令,以...原创 2019-05-08 11:44:06 · 15507 阅读 · 21 评论 -
RISCV的实战-二级流水线的DarkRISCV
作者一夜写成RISCV处理器,设计思路清晰,描述文档也很棒,特意翻译一下,供自己和大家学习翻译 2018-10-22 11:18:12 · 14839 阅读 · 2 评论 -
Qemu中TCG操作数的定义及注释
tcg/tcg.h: Define type and accessor macros for TCG variables. TCG variables are the inputs and outputs of TCG ops, as described in tcg/README. Target CPU front-end code uses these types to deal ...原创 2018-04-26 19:57:57 · 9714 阅读 · 0 评论 -
Rocket学习常用网址整理
1.https://github.com/ucb-bar/project-template2.https://github.com/ucb-bar/rocc-template3.关于谷歌rocket chip生成指令的搜索:https://www.google.com.ar/search?q=rocket+chip+add&oq=rocket+chip+add&aqs=chrome...原创 2018-04-26 19:55:59 · 10193 阅读 · 1 评论 -
Chisel 语言(Scala)学习 2 实例化模型和向量操作
系列文章主要用来记录学习Chisel和scala过程中遇到的难点或知识点,这篇文章主要学习实例化模型和向量操作原创 2018-03-14 16:04:29 · 10817 阅读 · 0 评论 -
Chisel 语言学习 1 基本数据类型和操作
Chisel 语言学习 1 基本数据类型和操作 系列文章主要用来记录学习Chisel和scala过程中遇到的难点或知识点:目录用 [TOC]来生成目录:Chisel 语言学习 1 基本数据类型和操作目录变量的声明与赋值数据位操作截取合并练习进行测试变量的声明与赋值= , 可立即得出数值 :=, 具体值需要依赖前边变量的值。 在写Scala时要特别注意变量计算需要用“=原创 2018-03-14 14:56:59 · 12505 阅读 · 0 评论 -
RISC V Rocket-chip 模拟器使用笔记(一)
1.Rocket-chip可以做什么“Rocket是一款64bit的标量处理器,5级流水线,采用的是risc-v指令集,集成FPU,并有许多or1200没有的特性,比如:无阻塞缓存、分支预测、返回地址堆栈、硬件页表填充、cache支持ECC、支持多核等。”它允许我们生成不同配置(自定义)的SOC,包括软件工具链。2.Rocket-chip的子模块(文件目录)1.chisel3:用来进行RTL级建模...原创 2018-03-13 13:21:32 · 22325 阅读 · 7 评论 -
deepin系统(unstable 发行版 4.14)安装perf的正确姿势
想从spec入手分析程序使用状态,发现perf命令相当好用,所以打算安装一下。结果折腾了一上午才发现没有合适的方法。Perf是内置于Linux内核源码树中的性能剖析(profiling)工具。它基于事件采样原理,以性能事件为基础,支持针对处理器相关性能指标与操作系统相关性能指标的性能剖析。常用于性能瓶颈的查找与热点代码的定位。安装perf第一个错误的方法:安装perf,首先安装内核源码:sudo ...原创 2018-03-16 13:09:54 · 10838 阅读 · 3 评论 -
新型硬件发展趋势及其对数据管理与分析的挑战(下)
3 研究挑战与展望3.1 研究挑战虽然新型硬件环境为数据管理与分析提供了新的设计维度,但是不论从个体的新型硬件发展前景抑或从整体的与现有体系的整合方式来看,都具有较大的不确定性。这些新型硬件能否给上层软件系统带来期望的性能收益取决于如何发掘新型硬件的性能提升空间以及准确界定硬件自身的局限性,洞察他们蕴含的假设条件以及对于系统设计平衡点的影响,这些都是数据管理与分析领域必须面对的挑战:1) 首先,要...转载 2018-03-02 11:14:27 · 10256 阅读 · 0 评论 -
新型硬件发展趋势及其对数据管理与分析的挑战(上)
CCF于1月11日发布了最新一期《中国计算机科学技术发展报告》,对可群智协同计算、软件智能化开发技术等11个方向的研究进展做了详细介绍和讨论。加入CCF会员登录CCF官网,可在数字图书馆栏目下载和浏览。1 引言数据管理与分析系统的发展离不开硬件和软件技术的进步。硬件和软件是构成计算系统的两大要素,软件技术的发展既可以享受硬件技术升级在性能提升方面带来的直接红利,但又受到硬件自身特点和局限性的制约,...转载 2018-03-02 11:12:28 · 12541 阅读 · 0 评论 -
莱迪思产品ICEstick Evaluation Kit 简介
iCEstick评估套件是一款易于使用、小体积的评估板,通过使用板上莱迪思半导体公司的iCE40 FPGA系列,可以以极低的成本快速实现系统功能的开发。用户可以与一个IrDA收发器进行通信,一个Digilent PMOD™外设连接器可用于许多传感器扩展功能,还有16个通用I/O和LED。各部件功能及管脚介绍原创 2017-03-13 22:13:39 · 9739 阅读 · 0 评论 -
LLVM 后端移植 指令集代码学习笔记
实现关于目标处理器指令集的 TableGen 描述 以及继承并实现 TargetInstrInfo 类,也即需要实现文件“XXXInstrInfo.td”、 “XXXInstrInfo.h”和“XXXInstrInfo.cpp”。在文件“XXXInstrInfo.td”中,需要描述目标处理器的指令集,指令功能,指令的寻址方式,指令操作数,指令编码,指令汇编代码的输出格式,以及指令与 LLVM 虚...原创 2019-05-22 22:06:22 · 6942 阅读 · 0 评论