自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎加wx讨论

  • 博客(28)
  • 收藏
  • 关注

原创 CHI dataless 传输——CHI(4)

上篇介绍了read的操作类型,本篇我们来介绍一下dataless。

2024-05-24 18:28:58 974

原创 CHI Read传输——CHI(3)

本篇我们来介绍一下CHI传输类型中的Read。

2024-05-23 18:24:07 1297

原创 CHI协议层——CHI(2)

CHI协议层简介

2024-05-23 16:56:25 604

原创 什么是CHI及cache一致性协议——CHI(1)

chi协议、cache一致性协议、拓扑结构、snoop方式、CHI层次

2024-05-22 18:21:06 1295

原创 warm reset 和 cold reset 区别

cold reset = complete removal of power and restart.warm reset = forcing a restart via a reboot with out powering down.

2023-09-21 17:33:41 450

原创 Python读excel内容并写入文件

【代码】Python读excel内容并写入文件。

2023-06-02 17:40:53 274

原创 verilog多因素影响仲裁器设计

verilog多因素影响仲裁器设计

2023-05-17 18:05:23 906

原创 低功耗设计(low power design)和UPF介绍(含代码示例)

使用upf来实现低功耗芯片设计 low power design

2023-04-26 20:00:19 7532 2

原创 Verilog权重轮询仲裁器设计——Weighted Round Robin Arbiter

Verilog权重轮询仲裁器设计 Weighted Round Robin 含代码

2023-04-12 20:08:52 3095 10

原创 Verilog轮询仲裁器设计——Round Robin Arbiter

当N个source同时发出请求时,默认source 0的优先级最高,当source 0 被响应后,它的优先级变为最低,source 1的优先级转为最高,以此类推。在固定优先级仲裁器的那一篇,讲了指定最高优先级的固定优先级仲裁器的实现方法。即初始情况下,最高优先级为source 0,然后是source 1、source 2、……直到source N。轮询仲裁就是在固定优先级仲裁器的基础上,所有的request轮流当最高优先级。上篇讲了固定优先级仲裁器的设计,并给出了指定最高优先级的实现方法。

2023-03-20 17:07:39 4466 10

原创 Verilog固定优先级仲裁器——Fixed Priority Arbiter

固定优先级仲裁器的原理及实现方法

2023-03-15 14:20:30 2117 2

原创 独热码转二进制码(含代码)

独热码转二进制码,原理解释及代码

2023-01-16 19:19:08 2362

原创 FP64、FP32、FP16、FP8简介

FP64、FP32、FP16、FP8

2022-10-25 17:48:10 27709

原创 NoC简介

什么是noc,noc的优势,什么是路由,noc的种类

2022-08-08 18:00:11 12301 3

原创 有符号数的四舍五入(round)(verilog实现)

用Verilog实现有符号的四舍五入 rtl round

2022-02-24 18:41:57 3013

原创 有符号小数的表示、扩展和计算

目录一、有符号数和无符号数的表示方法二、小数的表示方法三、数的扩展四、有符号小数的计算一、有符号数和无符号数的表示方法对于n bit有符号数,其表示方法为:对于n bit无符号数,其表示方法为:例如,对于一个4bit数 4‘b1011,如果它是一个有符号数,其值为如果它是一个无符号数,其值为二、小数的表示方法对于一个有符号数,假设数据总位宽为m,小数位宽为n,则可表示为mQn例如10Q8,表示总位宽为10,小数位宽为8三、数的扩展1、整..

2022-02-24 17:31:32 2459 2

原创 一拍找出数组中的多数元素

给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。假设数据位宽为m构建如图所示矩阵,每一行为数组中的一个数,从左到右依次为数据的高bit到底bit计算时,将每一列的数相加,得到的值如果大于n/2,则多数元素的该bit为1,否则为0例如,当m=4,n=5时,结果如下图所示数组中共有5个元素,值分别为3、7、3、3、7每一列的和的值为2、2、5、5n/2=2当和为2时,不满足>2,所以该bit为0

2022-02-23 15:03:46 227

原创 对booth乘法器面积与功耗的优化

对booth乘法器的介绍见上篇:booth乘法器的原理与verilog实现_weixin_42330305的博客-CSDN博客1、部分积编码的优化上文中编码用了一个八选一的选择器,面积较大,我们对它进行进一步的优化。如图所示,对于Radix-4编码,以第二层部分积为例,其值取决于b[3:1]、a即a*(-2*b[3]+b[2]+b[1])不难看出Neg = b[3]two = (!(b[2]^b[1]))^b[3]One = b[2]^b[1]对于第一层部..

2022-02-11 17:39:43 1076 2

原创 booth乘法器的原理与verilog实现

​一、乘法原理如图所示,二进制乘法和十进制乘法类似,都是单bit相乘,移位后相加​​​​​​如a(4bit)*b(4bit)将上图中所有数相加时,我们会用到阵列乘法器其中,HA表示半加器,FA表示全加器,虚线表示进位链上图红色和紫色线表示最长路径,代表了组合逻辑深度,我们对其进行优化优化后,进位链变短由此我们可以得出,乘法运算由2部分组成:生成部分积、通过加法树对数据压缩二、部分积生成如图所示,红框中的数即为部分积我们知道,01110 = 10000 - 00010因此,上

2022-02-10 20:40:13 15838 13

原创 rtl低功耗除法器设计

对于在性能要求不高的地方,可以使用这种除法其原理是每一拍除数减去被除数,直到被除数小于除数。减的次数为商,剩下的是余数。对于a/b,假设a位宽为m,b位宽为n,则需要m拍出结果算法原理:对于无符号除法,其商不会超过,余数一定不会超过n定义变量assign a_tmp = {n{1'b0},a}assign b_tmp = {b,m{1'b0}}在每个周期开始时,先将a_tmp左移一位,末尾补0,然后与b_tmp比较,是否大于b_tmp,是则a_tmp减去b_tmp将且加上1,

2022-02-07 18:18:23 649

原创 用小位宽乘法器实现大位宽乘法

我们在使用大位宽乘法器时,有时受到工艺的限制,乘法器位宽太大,时序收不下来,这时候需要将其拆为若干个小位宽乘法再相加,并在其中插入寄存器,即可解决以上问题。其核心原理是乘法交换律。我们以两个16bit无符号数相乘为例。a[15:0] * b[15:0]a[15:0] = a[15:8]<<8 + a[7:0]b[15:0] = b[15:8]<<8 + b[7:0]a[15:0] * b[15:0] = (a[15:8]<<8 + a[7:0])

2022-01-29 15:27:38 1443 2

原创 rtl低功耗方法总结

功耗来源=动态功耗+静态功耗低功耗设计技术:时钟门控、电源关断、多电压供电、多电压阈值、动态调压调频/自适应调压一、Clock Gating时钟门控:1、模块级时钟门控对模块整体进行门控,通过例化门控单元,将空闲模块的时钟关断或者降低时钟工作的频率2、电路级门控工具根据rtl自动综合出时钟门控电路always @ (posedge clk or negedge rst_n) begin if(!rst_n) q <= 32'b0; else...

2022-01-25 20:17:58 3950

原创 CRC原理及rtl高效实现方法

CRC 算法的基本思想是将传输的数据当做一个位数很长的数。将这个数除以另一个数。得到的余数作为校验数据附加到原数据后面。CRC算法中,将二进制数据流作为多项式的系数,然后进行的是多项式的乘除法。如:除法其实做的是异或运算,可以更简便的用表格表示,假设生成项为10011转化为电路:数据从低位输入,若最高位数据为0则寄存器移位,若最高位数据为1则生成项与寄存器中的值异或后寄存器移位。因此,在生成项为10011时,待测数据移位一次结果如图所示:但是这种方法每次只能计算1..

2022-01-25 14:24:36 936

原创 Chisel Module/RawModule/MultiIOModule

Module最常用的是Module,常用于时序逻辑,不用特意用声明clock和reset,默认会自动生成,且Module内只能声明一个IOclass add extend RawModule { val io = IO(new Bundle { val a = Input(UInt(1.W)) val b = Input(UInt(1.W)) val c = Output(UInt(2.W))}) io.c := io.a + io

2022-01-24 14:42:21 509

原创 chisel编码初体验

本文记录了初次使用chisel编码时遇到的一些问题及解决办法,希望对以后的工作有所帮助。1、内部信号赋值1.1 单bit数信号定义 单bit使能需要定义为Bool型,在io端口定义如下val pipe_en = Input(Bool())注意:"Bool"后需要加"()"1.2 寄存器打拍 Chisel中支持的Reg类型有RegNext、RegInit、RegEnable、ShiftRegister,具体的差别和使用方法可参考Chisel中的几种常见的寄存器_C...

2022-01-11 17:10:59 667

原创 rtl高效定位问题的方法——verilog加打印

我们定位rtl问题一般都是通过看波形,可是当pipe line 太长,或者是数据量太多,拉波形定位定位问题就会带来一种把眼瞅瞎的感觉。如果能将中间值打印到文件中,使rtl的打印结果和rm的打印结果自动比对,则能快速精准定位问题。verilog的打印方法:`define PRINT U_PRINT_TOP.U_PRINT_ALGO.U_PRINT_OUT_0 //定义打印信号所在的层级reg [8*100-1:0] file_name_p = "p_out.txt"integer p_

2022-01-11 16:56:17 977

原创 TRIZ(一级)

TRIZ:发明问题的解决理论。由前苏联发明家根里奇·阿奇舒勒所提出,通过对250万件世界高水平发明专利的分析研究,提出了有关发明问题的基本理论。TRIZ理论成功地揭示了创造发明的内在规律和原理,着力于澄清和强调系统中存在的矛盾,其目标是完全解决矛盾,获得最终的理想解。它不是采取折中或者妥协的做法,而且它是基于技术的发展演化规律研究整个设计与开发过程,而不再是随机的行为。TRIZ发明问题解决流程问题调研客户声音、最终理想解、根因分析、资源、九宫格1、什么是系统提供的最重要的功能?(设计的最

2022-01-07 15:58:46 2365 3

原创 scala学习笔记

Chisel(Constructing Hardware In a Scala Embedded Language)是UC Berkeley开发的一种开源硬件构造语言。它是建构在Scala语言之上的领域专用语言(DSL),支持高度参数化的硬件生成器。原本以为在了解了chisel基本语法之后,在运用chisel的大道上就可以畅通无阻了。没想到在chisel的高阶应用中一脸懵逼。看来学习一下scala是十分必要的。本文为《快学scala》的学习笔记,和chisel相同部分不再记录,仅记录笔者认为对chi

2021-12-16 10:45:57 139

Synopsys Low-Power Flow User Guide

Synopsys Low-Power Flow User Guide

2023-04-19

特斯拉Dojo FP8、FP16数据规格

A Guide to Tesla’s Configurable Floating Point Formats & Arithmetic 本标准规定了用于深度学习神经网络训练的计算机编程环境中新的 8 位和 16 位二进制浮点算法的特斯拉算法格式和方法。 本标准还规定了异常条件及其状态标志。 符合该标准的浮点系统的实现可以完全用软件、完全用硬件或软件和硬件的任意组合来实现。

2022-09-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除