<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nerohero的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/nerohero</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; nerohero]]></copyright><item><title><![CDATA[UVM笔记]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/108917403</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/108917403</guid><author>nerohero</author><pubDate>Sun, 04 Oct 2020 12:25:35 +0800</pubDate><description><![CDATA[一、UVM基本 概念
验证计划
功能覆盖率，结构覆盖率
模块机/芯片级/系统级
白盒/灰盒/黑盒

二、构建UVM平台


2.1、简化的UVM平台
只有master agent
1、创建transaction

2、创建sequence


含义：启动后产生10个事物对象，然后停止仿真。
3、创建agent（sequencer，monitor、driver）
sequencer：

phase：
UVM平台中所有的组件具有phase概念，它们按照一定顺序执行的任务或函数产生。

driver：


4、创]]></description><category></category></item><item><title><![CDATA[数字成像系统笔记]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/108536811</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/108536811</guid><author>nerohero</author><pubDate>Fri, 11 Sep 2020 17:15:21 +0800</pubDate><description><![CDATA[imaging algorithm specialist staff image quality engineer





cmos sensor


]]></description><category></category></item><item><title><![CDATA[HEVC笔记-2]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107960836</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107960836</guid><author>nerohero</author><pubDate>Wed, 12 Aug 2020 18:01:51 +0800</pubDate><description><![CDATA[预测编码
一副图像内临近像素之间有着较强的空间相关性，相邻图像之间也有很强的时间相关性。因此，视频编码往往采用帧内预测和帧间预测的方式，使用图像内已编码像素预测临近像素，或利用已编码图像预测待编码图像，从而有效去除视频空域和时域的相关性。视频编码后对预测后的残差而不是原始数据进行变化、量化、熵编码，由此大幅提高编码效率。
视频编码技术主要分为两大类：
1、帧内预测，即利用当前图像内已编码像素生成预测值。
2、帧间预测，即利用当前图像之前已编码图像的重建像素生成预测值。
帧内预测
H265/HEVC亮度分量帧]]></description><category></category></item><item><title><![CDATA[HEVC笔记-1]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107940277</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107940277</guid><author>nerohero</author><pubDate>Tue, 11 Aug 2020 17:43:13 +0800</pubDate><description><![CDATA[H265视频标准编码框架
1、帧内预测
该模块主要用于去除图像的空间相关性。通过边马厚的重构块信息来预测当前像素块以去除空间冗余信息，提高图像的压缩率。与以往的标准相比，H265/HEVC支持更多的帧内预测模式
2、帧间预测
该模块主要用于去除图像的时间相关性。帧间预测通过降已编码的图像作为当前帧的参考图像，来获取各个块的运动信息，从而去除时间冗余，提高压缩效率。在H265/HEVC中，帧间预测可采用单向和双向的参考图像来进行预测，包括类似H264/AVC中分层B帧的预测结构。
3、变换量化
改模块通过对.]]></description><category></category></item><item><title><![CDATA[手把手教你设计CPU-1]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107561922</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107561922</guid><author>nerohero</author><pubDate>Tue, 11 Aug 2020 09:53:39 +0800</pubDate><description><![CDATA[ISA众生相
1、x86架构
2、SPARC架构
3、MIPS
4、Power
5、Alpha
6、ARM
7、ARC
8、Andes
9、C-Sky
出了x86都是RISC
RISC-V有2条无条件跳转指令
跳转链接 （Jump and Link）指令一一jal 指令可用于进行子程序调用，同时将子程序返回地址
存在链接寄存器（ Link Register，由某一个通用整数寄存器担任〉中 。
跳转链接寄存器 （Jump and Link-Register ） 指令一jalr 指令能够用于子程序返回指令，通过]]></description><category></category></item><item><title><![CDATA[手把手教你设计CPU-4]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107864340</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107864340</guid><author>nerohero</author><pubDate>Fri, 07 Aug 2020 18:40:42 +0800</pubDate><description><![CDATA[实现SoC和FPGA原型
蜂鸟E200在Freeedim E310基础上修改。称为HBird-E200-Soc。

总线地址分配表


•HCLKGEN（High Speed Clock Generation）
•CLINT（Core-Local Interrupt Controller）主要实现RISC-V手册中规定的标准计时器和软件中断功能
•PLIC（Platform-Level Interrupt Controller）该 PLIC 能够支持多个中断源，并且每个中断可以配置中断优先级，所有中断源经过]]></description><category></category></item><item><title><![CDATA[手把手教你设计CPU-3]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107841616</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107841616</guid><author>nerohero</author><pubDate>Thu, 06 Aug 2020 18:27:36 +0800</pubDate><description><![CDATA[调试机制
对于处理器的调试功能而言，常用的两种：“交互式调试”、“追踪调试”。
交互式调试是指调试器软件（如GDB）能够直接对处理器取得控制权，进而对其以一种交互的方式进行调试，譬如
•下载或者启动程序
•通过设定各种特定条件来停止程序
•查看处理器的运行状态。包括通用寄存器的值、存储器地址的值等
•查看程序的状态。包括变量的值、函数的状态等
•改变处理器的运行状态。包括通用寄存器的值、存储器地址的值等
•改变程序的状态。包括变量的值、函数的状态等
交互性调试缺点：对处理器的运行具有打扰性。
跟踪调试，即调]]></description><category></category></item><item><title><![CDATA[手把手教你设计CPU-2]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107826988</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107826988</guid><author>nerohero</author><pubDate>Thu, 06 Aug 2020 14:27:20 +0800</pubDate><description><![CDATA[中断和异常
中断和异常最大区别在于中断往往时一种外因，而异常是由处理器内部事件或程序执行中的事件引起的，譬如本身硬件故障、程序故常。
中断和异常是狭义的划分，广义的异常，通常分为同步异常和异步异常。
RISC-V中断有机器模式、用户模式、监督模式。蜂鸟R200只实现了机器模式。
进入异常时，RISC-V架构规定的硬件行为可以简述如下。
（1）停止执行当前程序流，转而从CSR寄存器mtvec定义的PC地址开始执行。
（2）进入异常不仅会让处理器跳转到上述的PC地址开始执行，还会让硬件同时更新其他几个CSR寄存]]></description><category></category></item><item><title><![CDATA[A 100-m Range 10-Frame/s 340 96-Pixel Time-of-Flight Depth Sensor in 0.18- m CMOS翻译]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107765287</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107765287</guid><author>nerohero</author><pubDate>Mon, 03 Aug 2020 18:53:50 +0800</pubDate><description><![CDATA[摘要
本文介绍了一种基于光子时空相关性TOF距离范围的单光子检测技术。实现了一个概念验证原型，以10帧/秒的分辨率实现了高达100米的深度成像，分辨率为340c96像素。在系统的核心部分，采用0.18mcmos制作了32个宏像素的单光子雪崩二极管阵列传感器芯片。该芯片还包括一个32个电路阵列，该阵列能够在相关事件时产生精确的触发器，以及对每个相关事件中涉及的光子数进行采样，以及32个12-b时间数字转换器的阵列。TDC阵列的特性导致微分和积分非线性分别为0.52和0.73 LSB。对TOF传感器在强太阳背景]]></description><category></category></item><item><title><![CDATA[A 0.18um CMOS SOC for a 100-m-Range 10-Frame/s 200x96 pixel time-of-flight Depth Sensor翻译]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/107641321</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/107641321</guid><author>nerohero</author><pubDate>Wed, 29 Jul 2020 09:55:22 +0800</pubDate><description><![CDATA[摘要
随着ADAS对高分辨率光检测和距离技术的新兴需求，我们为了TOF传感器来介绍一个soc来执行时间相关单光子计数和完整的数字信号处理。在0.18um CMOS Soc核，我们利用16TOF线性阵列和32仅限强度宏像素基于单光子雪崩二极管这个原始规划概念，因此同时捕获有效的TOF和去除（passive）强图像。SoC包括大量一大批能根据时间相关性时间来生成精确触发器的电路，一个64 12b 十字花时间转换器，一个768Kb SRAM缓存。SoC提供系统级串行低比特率数字接口做以下功能：1）多回波距离；2）]]></description><category></category></item><item><title><![CDATA[异步FIFO]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106896324</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106896324</guid><author>nerohero</author><pubDate>Mon, 22 Jun 2020 10:03:33 +0800</pubDate><description><![CDATA[异步FIFO结构

module asyn_fifo
#(
    parameter DSIZE = 10,
    parameter ASIZE = 4
)
(
    input    wire                  wclk   ,
    input    wire                  wrst_n ,
    input    wire                  winc   ,
    input    wire   [DSIZE-1:0]    wdata]]></description><category></category></item><item><title><![CDATA[SD Host——（三）DATA控制]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106850036</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106850036</guid><author>nerohero</author><pubDate>Fri, 19 Jun 2020 10:05:21 +0800</pubDate><description><![CDATA[DATA STATE STOP  									reset state of data fsm
DATA_STATE_IDLE									determines the data direction
DATA_STATE_WAIT_RECEIVE					waits for the start bit of data from sd card
DATA_STATE_RECEIVE							receives payload data from sd card
DATA_STATE_RECEIVE_]]></description><category></category></item><item><title><![CDATA[SD Host——（二）COMMAND控制]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106834490</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106834490</guid><author>nerohero</author><pubDate>Thu, 18 Jun 2020 14:40:20 +0800</pubDate><description><![CDATA[1、配置COMMAND_REGISTER_ADDR寄存器，发送CMD0命令，使能CARD处于IDLE状态。
2、配置COMMAND_REGISTER_ADDR寄存器，先发送CMD5命令，在发送ACMD41命令，配置CARD operation condition
3、配置COMMAND_REGISTER_ADDR寄存器，发送CMD2命令，获取device unique card identification
4、配置COMMAND_REGISTER_ADDR寄存器，发送CMD3命令，获取RCA
5、配置CO]]></description><category></category></item><item><title><![CDATA[SD HOST——(一)SD简介]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106803714</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106803714</guid><author>nerohero</author><pubDate>Wed, 17 Jun 2020 16:54:23 +0800</pubDate><description><![CDATA[Micro SD有九个引脚；TF卡只要八个，少一个地。
|CLK|
|CMD|双向口，用于发命令和接收response
|VDD|
|GND|
|GND|
|D3|
|D2|
|D1|
|D0|
D3-D0不一定传输的是数据，读SD内部寄存器状态也可以从D3-30输出。
CMD格式

SD卡是以512Byte为单位操作的。
可连续读数据：

可连续写数据：

SD卡内部有nand flash controller和FTL管理。


...]]></description><category></category></item><item><title><![CDATA[march c+算法]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106682944</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106682944</guid><author>nerohero</author><pubDate>Thu, 11 Jun 2020 10:50:22 +0800</pubDate><description><![CDATA[March C+算法是改进后的March C算法，在每个状态中增加了一次读操作，使它能够覆盖Stuck-open故障，在每步增加一次读操作可大大提高对此故障的覆盖率。另外March C+算法同时可检测译码电路、MDR和MAR寄存器的SAF故障、固定故障、转换故障、地址译码故障、耦合故障以及部分NPSF故障，对于存储器RAM的故障覆盖率在95%以上，可见，它是一种很适合检测存储器的算法。

1、March C+算法的测试过程
March C+算法测试的第一个过程是：首先是初始化，对整个RAM单元写0，操作的地]]></description><category></category></item><item><title><![CDATA[Chapter2 Memory Hierarchy Design]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106523838</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106523838</guid><author>nerohero</author><pubDate>Fri, 05 Jun 2020 14:40:05 +0800</pubDate><description><![CDATA[下图展示了多层次存储结构

随着Flash和下一代存储技术缩小磁盘每一bit代价的的差距，这种技术更喜欢增加代替磁盘而不是中间存储。
因为高速存储比较贵

]]></description><category></category></item><item><title><![CDATA[Chapter1 Fundamentals of Quantitative Design and Analysis]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106530868</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106530868</guid><author>nerohero</author><pubDate>Fri, 05 Jun 2020 14:39:56 +0800</pubDate><description><![CDATA[ISA指令集体系结构，ISA的作用相当于区分软件和硬件的界限。操作的是寄存器或存储地点（地址）。
从七个方面介绍ISA
（1）ISA分类，有两种主流版本
一、寄存器-存储器ISA，比如80x86，可以在很多指令中访问存储器
二、载入-存储ISA，比如ARMv8和RISC-V，只可以用载入存储指令访问存储器
（2）存储地址
几乎所有桌面和服务计算机都用字节寻址来访问存储操作数。ARM要求操作对象必须是对齐的。
一个大小为s的对象，其地址字节为A，如果A mod s-0，则对这个对象的访问是对齐的。80x86 ]]></description><category></category></item><item><title><![CDATA[目录]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106501120</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106501120</guid><author>nerohero</author><pubDate>Fri, 05 Jun 2020 14:39:37 +0800</pubDate><description><![CDATA[Chapter1

]]></description><category></category></item><item><title><![CDATA[指令参数反复判断]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106569753</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106569753</guid><author>nerohero</author><pubDate>Fri, 05 Jun 2020 14:35:40 +0800</pubDate><description><![CDATA[cshell
#!/bin/csh
set OPTION1
set OPTION2
set DEFINE
while ( "$1" != "")
    switch ("$1")
        case "-xxx1"
            set OPTION1= 1
        breaksw
        case "-define"
            set DEFINE = ("$DEFINE""+$2")
            shift
        breaksw
  ]]></description><category></category></item><item><title><![CDATA[shell判断文件是否存在]]></title><link>https://blog.youkuaiyun.com/nerohero/article/details/106567718</link><guid>https://blog.youkuaiyun.com/nerohero/article/details/106567718</guid><author>nerohero</author><pubDate>Fri, 05 Jun 2020 12:03:53 +0800</pubDate><description><![CDATA[文件夹不存在则创建
if [ ! -d "/data/" ];then
  mkdir /data
else
  echo "文件夹已经存在"
fi

文件存在则删除
if [ ! -f "/data/filename" ];then
  echo "文件不存在"
else
  rm -f /data/filename
fi

判断文件夹是否存在
if [ -d "/data/" ];then
  echo "文件夹存在"
else
  echo "文件夹不存在"
fi

判断文件是否存在
if [ -f ]]></description><category></category></item></channel></rss>