<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Frederick_Bala的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Frederick_Bala</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Frederick_Bala]]></copyright><item><title><![CDATA[Verilog的$random函数]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/122255915</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/122255915</guid><author>Frederick_Bala</author><pubDate>Fri, 31 Dec 2021 14:44:21 +0800</pubDate><description><![CDATA[最近在verilog做功能仿真时遇到了一个小细节，$random的使用方法。码一下以备学习。原文链接：Verilog$random用法随机数生成_Embedded_kai_新浪博客

$random函数，调用时返回一个32位的随机数，它是一个带符号的整形数。在使用时根据具体场景对符号以及位宽进行调整。

比如：


reg[23:0] rand;
rand=$random % 60; //产生一个在 -59—59范围的随机数


reg[23:0] rand;
rand={$random...]]></description><category></category></item><item><title><![CDATA[数字芯片后端 LVT, RVT, HVT 的区别]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/120350137</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/120350137</guid><author>Frederick_Bala</author><pubDate>Fri, 17 Sep 2021 15:37:23 +0800</pubDate><description><![CDATA[最近接触到了不同DC库,码一下区别。

这几个都是CMOS集成电路的Vth阈值电压相关的基本概念。通常将传输特性曲线中输出电压随输入电压改变而急剧变化转折区的中点对应的输入电压称为阈值电压。

HVT = High V threshold. Can be used in the path where timing is not critical. So by using HVT cells we can save power.

LVT =L...]]></description><category></category></item><item><title><![CDATA[芯片工艺SSG/FFG/TT的区别与联系]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/119905704</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/119905704</guid><author>Frederick_Bala</author><pubDate>Wed, 25 Aug 2021 10:39:06 +0800</pubDate><description><![CDATA[最近在调试foundry的IP库，发现所有的库文件都已标注了各种适用信息，其命名规则很明确。其中涉及到芯片的制作工艺，包括ffg、ssg、tt。查到一篇博客讲的很好，总结转载一下。

涉及到的知识：

TT: Typical Typical
FF:Fast nmos Fast pmos
SS:Slow nmos Slow pmos
FS:Fast nmos Slow pmos
SF:Slow nmo...]]></description><category></category></item><item><title><![CDATA[在cmd中设置网络代理并安装numpy、matplotlib]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/119882723</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/119882723</guid><author>Frederick_Bala</author><pubDate>Tue, 24 Aug 2021 09:41:44 +0800</pubDate><description><![CDATA[最近由于工作需要，需要在windows中安装python和相关库文件，但是电脑接入了区域内网，使用了统一网络代理。在cmd中安装python3.6较为顺利，但安装numpy和matplotlib时一直报错：

ERROR: Could not find a version that satisfied the requirements numpy

ERROR: No matching distribution found for numpy.

解决办法如下：

1、转接proxy权限

    ...]]></description><category></category></item><item><title><![CDATA[Design Compiler知识点汇总]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/118304022</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/118304022</guid><author>Frederick_Bala</author><pubDate>Mon, 28 Jun 2021 15:00:02 +0800</pubDate><description><![CDATA[DC是Synopsys的的逻辑综合工具，在实际使用时有很多需要注意的小点。转一下这边整理的不错的博客，不定期增添部分细节。

1.1 什么是DC?
DC(Design Compiler)是Synopsys公司的logical synthesis工具，它根据design description和design constraints自动综合出一个优化了的门级电路。它可以接受多种输入格式，如HDL、Schematics、Netlist等，并能生成多种性能 report，在reducing design...]]></description><category></category></item><item><title><![CDATA[CNN(卷积神经网络)的参数量计算和浮点计算量分析]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/118087444</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/118087444</guid><author>Frederick_Bala</author><pubDate>Mon, 21 Jun 2021 15:21:16 +0800</pubDate><description><![CDATA[1. CNN参数

params(w) = co*(ci* kw* kh)

params(b) = co

所以总的参数量为params = co*(ci* kw* kh+ 1)

当使用了BatchNormalization时，不需要bias

2. CNN计算量

FLOPs (乘法) =co*H * W * (ci* kw* kh) 其中H， W代表输出特征的宽和高

FLOPs (加法(w)) =co*H * W * (ci* kw* kh- 1) ...]]></description><category></category></item><item><title><![CDATA[chisel中=和:=的区别]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/108375915</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/108375915</guid><author>Frederick_Bala</author><pubDate>Thu, 03 Sep 2020 09:38:52 +0800</pubDate><description><![CDATA[学了chisel有一段时间了，最近发现一些基础的概念还是不行不清楚，绝了。。。。码一下供参考　

在Chisel里，所有对象都应该由val类型的变量来引用，因为硬件电路的不可变性。因此，一个变量一旦初始化时绑定了一个对象，就不能再发生更改。但是，引用的对象很可能需要被重新赋值。例如，输出端口在定义时使用了“=”与端口变量名进行了绑定，那等到驱动该端口时，就需要通过变量名来进行赋值操作，更新数据。很显然，此时“=”已经不可用了，因为变量在声明的时候不是var类型。即使是var类型，这也只是让变量引用新的对象，]]></description><category></category></item><item><title><![CDATA[linux下查看二进制文件的命令]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/108072883</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/108072883</guid><author>Frederick_Bala</author><pubDate>Tue, 18 Aug 2020 11:15:53 +0800</pubDate><description><![CDATA[原文地址：https://www.cnblogs.com/johnchain/p/3860905.html

方法一：hexdump

apt-get install libdata-hexdumper-perl

安装好之后就可以直接hexdump your_binary_file

也可以直接使用hd命令来代替hexdump

如果想要慢慢看 ： hd your_binary_file | more

方法二：

Vim 可以用来查看和编辑二进制文件

vim -b filename 加上-b参数...]]></description><category></category></item><item><title><![CDATA[解决：使用idea编写chisel代码时import导入变红]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107984913</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107984913</guid><author>Frederick_Bala</author><pubDate>Thu, 13 Aug 2020 17:18:47 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[chipyard仿真出错1]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107876473</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107876473</guid><author>Frederick_Bala</author><pubDate>Sat, 08 Aug 2020 11:06:49 +0800</pubDate><description><![CDATA[使用chipyard对gemmini的官方实例进行仿真，使用仿真器，出错如下：



riscv64-unknown-elf-gcc: Command not found

经过多方查询，锁定问题是出在工具链的路径上，网上有种解决方法是将riscv64-unknown-elf-gcc文件拷贝到根目录的/bin目录下。这样虽然可以解决命令找不到的问题，但后边会出其他问题。所以最好的办法就是修改环境变量，指定路径。


export PATH=$RISCV/bin:$PATH

在.bashrc文件里找到这句话]]></description><category></category></item><item><title><![CDATA[chipyard的toolchain安装出错2]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107865832</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107865832</guid><author>Frederick_Bala</author><pubDate>Fri, 07 Aug 2020 16:54:53 +0800</pubDate><description><![CDATA[接上步，又出错了。。。。RPC failed；curl 56 GnuTLS recv eroor (-54) : Error in the pull function



解决方法如下：



就是扩大一下缓存了。

运行一遍，好起来了！




]]></description><category></category></item><item><title><![CDATA[chipyard的toolchain安装出错1]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107863179</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107863179</guid><author>Frederick_Bala</author><pubDate>Fri, 07 Aug 2020 15:32:54 +0800</pubDate><description><![CDATA[chipyard安装步骤见官网

https://chipyard.readthedocs.io/en/latest/Simulation/Software-RTL-Simulation.html#synopsys-vcs-license-required

我是在执行这条命令时出了错：


./scripts/build-toolchains.sh riscv-tools # for a normal risc-v toolchain


错误见图



解决方法如下：在qemu/roms/edk2/Cr]]></description><category></category></item><item><title><![CDATA[/bin/bash^M : bad interpreter : No such file or Directory的解决办法]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107856415</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107856415</guid><author>Frederick_Bala</author><pubDate>Fri, 07 Aug 2020 10:17:08 +0800</pubDate><description><![CDATA[把一段脚本代码拷贝到ubuntu后，运行出现了/bin/bash^M : bad interpreter : No such file or Directory，解决方法如下：

将脚本通过vi或vim打开，按ESC进入命令模式。输入：set fileformat=unix。（注意要带冒号，是在编辑器最底部输入才对）。之后输入：wq保存即可。

重新运行，正常。
...]]></description><category></category></item><item><title><![CDATA[idea导入chisel文件后点击变量无法跳转]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107821380</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107821380</guid><author>Frederick_Bala</author><pubDate>Wed, 05 Aug 2020 17:54:45 +0800</pubDate><description><![CDATA[最近用idea学习chisel文件，按住ctrl后单击就是无法跳转。网上查到好多方法，不是很好使，可能大家的原因不太一样，我的解决方法如下，供参考：



点击工具栏右侧，add configuration。



然后点击templates。



然后点击Gradle，在右侧的gradle project处添加自己的工作路径。点apply，就搞定了。



注意，我已经安装了scala和sbt，检查一下自己的sbt装好没。装好了的情况如上图。
...]]></description><category></category></item><item><title><![CDATA[chisel学习笔记2]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107655070</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107655070</guid><author>Frederick_Bala</author><pubDate>Wed, 29 Jul 2020 09:52:21 +0800</pubDate><description><![CDATA[第一个Chisel模块

1、直接上代码


// Chisel代码：定义一个模块
class Passthrough extends Module {
  val io = IO(new Bundle {
    val in = Input(UInt(4.W))
    val out = Output(UInt(4.W))
  })
  io.out := io.in
}

以上代码定义了一个名字叫做Passthrough的ChiselModule，它有一个4比特的输入，名字叫做in，还有一个4比特.]]></description><category></category></item><item><title><![CDATA[chisel学习笔记1]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107638819</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107638819</guid><author>Frederick_Bala</author><pubDate>Tue, 28 Jul 2020 16:23:43 +0800</pubDate><description><![CDATA[chisel是在scala的基础上建立起来的，初学chisel可能有点摸不着头脑，建议去菜鸟学学scala先。码一下scala的笔记，贼适合入门。

Scala是一个面向对象的编程语言，了解这一点很重要，这也是Scala和Chisel的一个很大的优势。

变量是对象。
	运用val声明的常量也是对象。
	甚至literal也是对象（例如，1，2，3，字符串等）。
	函数本身也是对象。这之后会详细说明。
	对象（Object）是类（class）的实例。
	事实上，面向对象中的对象（object）在Scala.]]></description><category></category></item><item><title><![CDATA[RISCV-RoCC简介]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107563276</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107563276</guid><author>Frederick_Bala</author><pubDate>Fri, 24 Jul 2020 16:08:45 +0800</pubDate><description><![CDATA[RiscV作为一个新的开源指令集架构,由Aspire Lab开放,具有简单开放的特点,主要用于教育研究.

一个最主要的特点是其ISA通过支持自定义指令的方式，支持自定义硬件加速器，用于专用领域的计算加速设计。

本文简单介绍RiscV的RoCC，以及其与RiscV处理器核通信的接口RoCC Interface。

RiscV自定义指令

RiscV ISA定义了四种自定义指令用于与协处理器进行交互。


customX rd, rs1, rs2, funct


标准自定义指令格式如下：



其中rs1]]></description><category></category></item><item><title><![CDATA[chisel全套学习]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107506595</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107506595</guid><author>Frederick_Bala</author><pubDate>Wed, 22 Jul 2020 10:44:29 +0800</pubDate><description><![CDATA[win10环境

1、安装conda，参照：https://www.jianshu.com/p/920a6e18cfd6

注意，清华源已经停止了服务，使用conda config --remove-key channels换回默认源

命令窗口显示“done”表示完成。

2、使用anaconda安装Jupyter Notebook，参照：https://www.jianshu.com/p/91365f343585/

命令窗口显示“done”表示完成。

3、找到chisel教程开始搬砖，参照：htt.]]></description><category></category></item><item><title><![CDATA[定点数和浮点数的区别到底在哪里]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107505578</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107505578</guid><author>Frederick_Bala</author><pubDate>Wed, 22 Jul 2020 09:55:32 +0800</pubDate><description><![CDATA[讲的很透彻的一篇文章：https://blog.youkuaiyun.com/k331922164/article/details/75579230


]]></description><category></category></item><item><title><![CDATA[Linux环境下Tab键无法自动补全终极解决方案]]></title><link>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107410923</link><guid>https://blog.youkuaiyun.com/Frederick_Bala/article/details/107410923</guid><author>Frederick_Bala</author><pubDate>Fri, 17 Jul 2020 16:17:36 +0800</pubDate><description><![CDATA[今天突然意识到tab键无法补全是个大问题，于是乎动手解决了一下，发现原因很多，稍作整理：

1、Tab无法自动补全且没有其他功能

（1）查看使用的shell：echo $SHELL

    如果不是/bin/shell，查看ls -l /bin/sh，如果该软连接的不是/bin/shell，执行 ln -sf/bin/bash /bin/sh

（2）查看当前用户主目录下.bashrc

    比如： vim /root/.bashrc，按shift+g跳到最后一行...]]></description><category></category></item></channel></rss>