- 博客(31)
- 资源 (3)
- 收藏
- 关注
原创 Ubuntu20.04 electron ssr配置完不好用可能的原因
因为20.04默认安装python3.8因此环境变量只有python3没有python,不因你运行一下electron ssr会告诉你python未安装解决方案sudo apt install python-is-python3这同时可能是很多20.04的软件跑不了的原因,建议每次配环境的时候直接跑一局这个代码。当然也可以自己加个环境变量,python链接到python3上...
2022-04-09 19:18:02
5993
1
原创 3、一条只有ADD指令的五级流水线数据通路设计(RISCV)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-18 15:42:25
2222
原创 2、chiseltest实验与大坑
目的这次的目的是利用chisel test完成对硬件代码的测试。相当于Verilog写Testbench测试硬件代码的过程。因为chisel-bootcamp和chisel-book用的chisel test都过老,和直接clone下来的chisel-templete的chisel test不符,所以这里在下还是搞了很久…主要参考:https://github.com/ucb-bar/chisel-testers2和chisel-templete中test中的gcd测试流程在之前的MyPacke
2021-07-30 22:35:35
1177
原创 1、使用sbt构建第一个chisel项目
我理解的sbt、scala、chisel的关系scala是门语言、可以类比于C语言。sbt是个项目构建工具,类比于VC++。本身.c文件可以用gnu直接编译,为了项目构建方便会用VC++构建相应的项目。chisel相当于一个库函数,比之于C语言中的<stdio.h>。我理解其本质是利用scala面向函数与面向对象的性质将chisel所写代码转换为Verilog代码。当然其本身也具有不转换就仿真硬件描述功能的性质。chisel可以当做Verilog生成器也可以当做一种硬件描述语言。sbt的
2021-07-29 22:58:39
1332
原创 安装双系统Win10+Ubuntu16.04的坑
发生在UEFI和Legacy主板共存,参考网上教程后无Grub启动界面,应该是设置/bios方式不适合UEFI1、在BIOS Setup将Legacy启动方式Disable一下不然不知为何会出现cdrom无法卸载(也许不是这个原因)。2、安装Ubuntu16.04中将设立一个分区用于保留BIOS。区域,并将下方引导器设置到保留BIOS区域的分区中3、如果出现grub设置错误,安装前连个Wifi,更新一堆莫名软件包,这个grub就好用了。...
2021-07-15 12:38:25
153
翻译 计算机性能的顶层提高空间很大:摩尔定律结束后,什么将推动计算机性能?
回顾总结背景:计算性能的提升对我们现代生活的方方面面都有巨大的改变:现在的手机比25年前房间大的电脑性能还要强劲,因特网联通了接近半个世界,强大的超级计算机帮助药物的发现。社会已经开始依赖性能随时间呈指数增长的计算机。计算机性能的提高很大程度上来自于几十年来计算机部件的小型化,这一趋势是诺贝尔奖获得者物理学家理查德·费曼在1959年对美国物理学会演讲中预见到的,“底部还有很大的空间,”1975年,英特尔创始人戈登·摩尔预测了这种小型化趋势的规律性,这种趋势现在被称为摩尔定律,从那时起到最近,计算机芯片
2021-01-21 11:07:43
1033
翻译 ISCA第四篇文献翻译:FabScalar:Composing Synthesizable RTL Designs of Arbitrary Cores within a Canonical
摘要越来越多的工作为单指令集异构多核范例提供了强有力的支持。单指令集架构异构多核提供了多种不同设计的超标量内核类型,可以简化不同程序和程序阶段的执行。单指令集架构异构多核提供了多种不同设计的超标量内核类型,可以简化不同程序和程序阶段的执行。之前没有研究解决这种范式的“致命弱点”:设计和验证工作会随着不同核心类型的数量而成倍增加。...
2020-10-24 16:51:21
597
翻译 ISCA文献翻译:第三篇Efficient Digital Neurons for Large Scale Cortical Architectures
摘要数字神经元的实现目标是支持实现新大脑皮层计算范式的架构的研究和开发。四个尖顶数字神经元在寄存器传输层以一种允许并排比较的方式被实现。其中两个神经元包含指数衰减的两个阶段,一个是突触电导衰减,另一个是膜电位衰减。其他两个神经元的膜电位指数衰减只有一个阶段。两级神经元对具有非无限前缘斜率的膜电位变化的输入脉冲作出响应;单级神经元表现出膜电位随无限前缘斜率的变化。当大量输入脉冲在非常接近的时间内出现时,这就导致了两者行为上的差异。然而,根据动态加当量操作的数量来衡量,单级神经元的能量效率比两级神经元高出
2020-10-16 21:41:02
1119
翻译 ISCA2011第二篇文献:Virtualizing Performance Asymmetric Multi-core Systems
虚拟化非对称性的多核系统
2020-09-25 21:30:48
272
原创 2020生产实习——信诺达的
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200919144103774.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTA1OTQ0NDk=,size_16,color_FFFFFF,t_70#pic_cente
2020-09-20 12:19:50
3763
1
翻译 ISCA第一篇文献翻译:Automatic Abstraction and Fault Tolerance in Cortical Microachitectures
自动抽象和错误容差在类脑皮质微结构中的运用ISCA’11, June 4–8, 2011, San Jose, California, USA.Copyright 2011 ACM 978-1-4503-0472-6/11/06摘要:近来在脑神经科学的理解给建造一个从根本上脱离冯诺依曼体系的计算机带来了诱人的机会。这些以我们所能理解的人类大脑皮层计算为前提的类脑架构是高度容错的、是在大量存在潜在错误成分的基础上求平均,但这种计算方式比传统架构去解决非常困难的问题更可靠。这些架构操作的核心原则是自动抽
2020-09-15 17:14:53
566
原创 电子类顶会文章搜索
身为一名大四准研究生,今天跟导师交流的时候,老师推荐我看看HPC和ISCA的文章。…身为小白,一开始是懵的,但第一次交流绝对不能让老师看轻在下,只得用各种手段找顶会文章。先是找到了HPCA和ISCA会议的网站:https://www.hpca-conf.org/和https://iscaconf.org/然后发现并没有什么鸟用…知网啥的…也没弄清楚怎么找会议…经过百度、知乎、谷歌等各路大神帖子之后。我去到了ieeexplore.ieee.org,在这里可以搜索会议。在这里搜索会议名称就好...
2020-09-12 15:06:03
827
原创 手撸MIPS32——6、交叉编译环境的搭建、编程与我踩到的坑
参考博客:https://blog.csdn.net/stdio_h666/article/details/104330395用VM建个虚拟机https://blog.csdn.net/qq_41782425/article/details/85119258建议选择kernel 是下图这几个的…不然就要降级或升级了:同时内存建议3G以上,不然会在配置完buildroot config后make出现什么什么恶_all,[s_auto…]的问题下载安装buildroot构建交叉编译环境用un.
2020-05-30 22:54:08
1792
原创 手撸MIPS32——5、利用Vivado IP设计指令存储器和数据存储器
指令存储器我用的是vivado 2019.1其他版本应该差不多1、建立工程名字填你想要的,这里我填inst_rom,板卡目前随便选不影响仿真32位存储,8KB相当于2048个存储单元每个4*2048=8K每个存储单元宽度32位User ENA pin带有使能为ena不勾选Primitives Output Register保证上升沿采集到的访存地址信号,不然多一个时钟周期。Coe文件相当于初始化存储器内容init.coe;Memory Width:16,Memory Dept
2020-05-20 23:00:49
5198
原创 手撸MIPS32——4、Verilog实现基本流水线
分为两部分实现,一部分处理器内核,一部分存储器。整体参考这个图:处理器内核参数宏定义先是参数宏定义,包括全局参数、指令字参数和通用寄存器参数:`timescale 1ns / 1ps/*------------------- 全局参数 -------------------*/`define RST_ENABLE 1'b0 // 复位信号有效 RST_ENABLE`define RST_DISABLE 1'b1
2020-05-19 22:24:14
3280
3
原创 手撸MIPS32——3、基本流水线理论总结
根据理论部分,可以得出结构图如下:译码控制单元DCU设计第一级组合逻辑根据指令中的op和func字段进行译码,确定具体执行的是那条指令,如下表:第二级组合逻辑根据第一级的输出,确定控制信号的具体取值。指令与控制信号真值表:两级系统级联图:访存控制单元MCU设计访存控制单元MCU根据内部操作码aluop和daddr生成3个控制信号:MCU产生控制信号真值表:...
2020-05-19 09:47:18
2031
原创 手撸MIPS32——2、基本流水线设计与实现(理论部分)
什么是流水线流水线(pipeline)技术是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。流水线是Intel首次在486芯片中开始使用的。在CPU中由5—6个不同功能的电路单元组成一条指令处理流水线,然后将一条指令分成5—6步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。——from百度百科示意图我以后会用到的是5级流水线处理器流水线设计将微结构划分为两部分,数据通路和控制单元。数据通路完成对指令中操作数的运算处理,控制单
2020-05-19 00:53:20
3966
原创 手撸MIPS32——1、MIPS32指令集
(MIPS32 Release1指令集的子集MiniMIPS32)通用寄存器命名和使用约定运算指令ALU立即数指令在立即数这里,rt相当于目的寄存器,rs相当于源寄存器,imm立即数ADDI 加立即数可触发溢出异常ADDI rt,rs,imm将rs与imm相加,结果存到rtrt<-(rs+imm)(有符号扩展32位)ADDIU 加立即数,不触发溢出异常ADDIU rt,rs,immrt<-(rs+imm)(有符号扩展32位)SLTI 有符号小于立即数置1SLTI rt
2020-05-18 12:33:01
5404
原创 数字集成电路版图设计(三)——加法器绘制
对之前的补充操作说正题之前,先讲讲之前(二)没涉及到的,但是(三)用到的额外操作吧:BUS连线Verilog版图仿真Verilog版图仿真首先Verilog版图仿真,在之前的(一)(二)中介绍了两种TB方式,一种是用pulse产生的脉冲,另一种就是基于Verilog的数模混合仿真。但在INV里版图用的是第一种。那么第二种在Layout绘制后的config里,会发现Environment里面没有switch view list就无法像之前那样直接添加calibre这次在config打开后的选项
2020-05-14 21:19:37
9720
7
原创 嵌入式Linux学习(第N天)——Linux系统知识总结
吐槽Emmmm先来吐槽一波,十分不推荐大家读的一本书《ARM嵌入式Linux系统开发详解》,第一个是年代久远,知识点太久远了,Linux发展迅速,很多已经不那么干了…比如我想看的设备树里面就一点点也没有介绍,因为这是最近10年的技术…(10年…可想而知这玩应有多out)…第二点这玩应前后顺序感觉有点坑…我飞速看完了整本书…脑瓜子都痛了…感觉帮助不是很大…所以这就当是我这个栏目的结束吧,把我飞速看...
2020-04-29 23:25:36
298
原创 (未写占坑)嵌入式Linux学习——GUI界面设计
常见嵌入式GUI1、GNOME2、KDE3、QT4、MiniGUI我们用个QT试试开发图形界面程序首先是在windows安装好QT
2020-04-24 13:06:29
453
原创 嵌入式Linux学习(第四天学习一)——串口通讯
串口的工作原理就是通过直接连接在两台设备间的线发送和接收数据。最少三根线RX、TX、GND。常见的还有RS232有9根线串口应用程序操作串口的方法和文件十分类似。#include <stdio.h> /*标准输入输出定义*/ #include <stdlib.h> /*标准函数库定义*/ ...
2020-04-24 12:19:30
1117
原创 数字集成电路版图设计(附录)——持续补充...
SMIC13工艺版图设计规则术语:Width:宽度,最小边长度Space:一个形状外部到另一个形状外部的距离Extension:外延,从外边缘到内边缘的距离Enclosure:外壳overlap:重叠length:长度规则描述先写一些常用的DNW区:Deep N-Well design minnima1、最小宽度 3um2、两个DNW之间最小space 6um...
2020-04-23 14:04:36
16809
3
原创 数字集成电路版图设计(二)——Cadence IC简单的反相器版图设计
接着(一)来说,之前我们画了一个反相器的简单原理图。现在我们来画一个反相器简单的版图…当然我们不考虑细节,比如参数最小尺寸什么的…因为我是萌新,我也在摸索,先画个玩玩…简单的反相器版图设计和之前一样Cell View设置如下:简单说明一下,这个当然可以调用别人的mos直接做个反相器但是我们为了熟悉操作从基础做起…一点点画…这就是我们的画布,下面简单介绍一下。左面是图层选择器,右面是...
2020-04-22 18:33:27
12921
5
原创 数字集成电路版图设计(一)——Cadence IC原理图绘制与仿真
以下内容以记录一次反相器绘制为例子(数据啥的都不考虑了…因为我是个小萌新)绘制原理图New->library->name建立一个自己的库New->Cell view…进入注意:因为绘制原理图,所以Tool要填写Composer-Schematic,然后View name 自动填写,点击ok。进入下图界面每个功能介绍在左边,快捷键是冒号后面的内容。我们首先用i快捷...
2020-04-22 00:55:19
14900
6
原创 嵌入式是Linux(第三天)——线程与进程和网络通讯
线程与进程线程与进程的概念和区别进程简单来说就是一个正在运行的程序。包括其运行代码和运行代码所用的资源,一个CPU可以存在多个进程但是同一时间只允许一个进程工作。但CPU切换速度很快,给我们感觉像是所有进程同时运行。线程是操作系统最小度量单位。线程和进程最大的区别就是共不共享数据,同时线程是进程的一部分,也就是进程可以由多个线程构成。进程好比火车,线程好比车厢。不同火车之间的信息当然不共享,...
2020-04-20 00:39:39
237
原创 嵌入式Linux(第二天学习二)——应用程序编程基础
应用程序编程基础这部分基本就是复习…内存分配堆和栈的概念和在系统中的应用。这个计算机组成原理大概都会讲一些,栈一般用来存储临时变量,保护数据之类的。堆类似于链表。用到的函数都是C的函数诸如:malloc、free、calloc、realloc等文件指针和流文件的操作都是围绕流进行的,操作系统屏蔽了操作文件的I/O和具体的物理细节,打开一个文件如fopen,就把文件和流绑定在了一起,对...
2020-04-18 22:57:38
116
原创 嵌入式Linux(第二天学习一)——编写Linux应用程序和了解其原理
Linux下的GCC编译器GCC(GNU Compiler Collection,GNU编译器套件)是由GNU开发的编程语言译器。GNU编译器套件包括C、C++、 Objective-C、 Fortran、Java、Ada和Go语言前端,也包括了这些语言的库(如libstdc++,libgcj等。) [1]GCC的初衷是为GNU操作系统专门编写的一款编译器。GNU系统是彻底的自由软件。此处,...
2020-04-18 15:53:22
495
原创 嵌入式Linux(第一天学习)——基础知识和感受
基础知识看了前三章,大概讲最主要会的知识的计算机组成原理和C语言基础。当然基本的模拟电路、数字电路的也得会。用过51、32可能会好一些吧,毕竟对寄存器一些熟悉。感受看了基本的ARM指令集和当初学过的8086汇编指令集非常像。不过我想后来在Linux上编程应该是用C,如果有编译器的话直接C语言代码就能编译,没有的话就得用交叉编译器编译好了再把库传到Linux上用。为什么要用linux呢?因为l...
2020-04-17 21:46:50
445
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人