Rill的专栏

make the change.

排序:
默认
按更新时间
按访问量

关于使用git进行代码托管下文件的恢复

引言git是一款很好用的代码托管工具。但是如果发生了误操作,丢失的文件如何找回呢?本小节就通过亲身经历来解决这个问题。1,情景产生误操作的如下:首先,甲和乙两个人都在一个分支上进行代码修改,假设分支为develop。其次,两人最后一次同步是在2016年1月8号。在1月12号上午乙已经把自己修改的代...

2016-01-29 19:49:06

阅读数:4016

评论数:2

数字集成电路设计-20-multi-cycle

引言前面我们介绍了流水线的写法(http://blog.csdn.net/rill_zhen/article/details/45980039),流水线是数字设计中很常用的一种设计方法,可以提高运行频率,提高吞吐量。如果组合逻辑延迟较大,一个时钟周期完成不了时,除了插入寄存器将组合逻辑拆分成流水线...

2015-05-29 21:09:50

阅读数:3512

评论数:0

数字集成电路设计-19-pipeline的写法

引言之前,我们介绍了数字设计中一些基本组合逻辑的写法(http://blog.csdn.net/rill_zhen/article/details/39586191)以及状态机的写法(http://blog.csdn.net/rill_zhen/article/details/39585367),...

2015-05-25 21:50:22

阅读数:4923

评论数:0

数字集成电路设计-18-UVM

引言UVM(Universal Verification Methodology)可以理解为形而上的东西,可以理解为是基于System verilog的一个库,提供一些API调用。其实没必要把UVM抬的那么高,上升到形而上的层次。因为在实际的IC验证时,对某个复杂DUT的验证时,一般都会拆分成那几...

2015-05-24 14:58:52

阅读数:5598

评论数:0

数字集成电路设计-17-svunit环境构建

引言做IC验证时,除了采用SVA,DPI等验证手段,还可以采用svunit开实现module级别的验证。1,什么是svunit?VUnit is a unit test framework for developers writing code in systemverilog. Verify s...

2015-04-28 22:23:40

阅读数:3321

评论数:0

数字集成电路设计-16-关于AXI协议

引言AXI协议有可能是我们平时电路设计时经常遇到的一个协议,也是一个不错的协议,本小节我们就来熟悉一下。乍一看,AXI协议的信号众多,眼花缭乱,容易发蒙。但其实其基本思想很简单。只要掌握以下几点:1,valid/ready协议axi协议是典型的基于valid/ready协议的总线协议。valid/...

2015-03-12 11:40:47

阅读数:8412

评论数:0

数字集成电路设计-15-DPI(续)

引言对于SV,无论是构造测试激励,还是模拟硬件的并行行为,DPI都是非常方便的。上次我们介绍了SV里面通过“import”导入并调用C函数。本小节,我们通过一个简单的例子来说明C语言函数如何调用SV的task和function。1,SV部分/* * test.v Rill create for ...

2014-10-25 20:41:24

阅读数:3540

评论数:0

数字集成电路设计-14-DPI

引言在进行IC验证时,尤其是规模较大的时候,单纯用Verilog和SV来构建testbench,可能会稍显吃力。在这种情况下,使用C或者C++等软件语言往往会大大加快验证速度,提高验证效率。PLI,VPI,DPI正是基于这个原因开发的,很多仿真器都会提供支持。之前,我们介绍过VPI的使用,本小结就...

2014-09-29 21:43:13

阅读数:3658

评论数:0

数字集成电路设计-13-常用模块集锦

引言C语言,C++语言等软件编程语言吸引我们的一个很重要的原因是他们都能提供非常丰富的函数库供我们使用,大大提高coding的效率。但是像verilogHDL等HDL语言这方面做的比较弱,尤其是可综合的语法,基本没有通用的模块库供我们使用,所以编码效率会比较低。如果我们把平时经常使用的一些模块积累...

2014-09-26 23:17:49

阅读数:4213

评论数:0

数字集成电路设计-12-状态机的四种写法

引言在实际的数字电路设计中,状态机是最常用的逻辑,而且往往是全部逻辑的核心部分,所以状态机的质量,会在比较大的程度上影响整个电路的质量。本小节我们通过一个简单的例子(三进制脉动计数器)来说明一下状态机的4中写法。1,模块功能由于我们的目的在于说明状态机的写作方式,所以其逻辑越简单有利于理解。就是一...

2014-09-26 20:52:55

阅读数:7405

评论数:0

朝花夕拾-4-shell

引言shell,我们经常会用到,以其强大的功能,会帮助我们解决很多棘手的问题。最近遇到一个问题,要跑很多case,如果串行的执行,需要很久。能不能让他们并行起来,但又不能所有case都并行运行呢?,因为所有case同时运行,机器会挂掉的。1,方式1比较直接的一种方式是,维护两个文件队列(*.sta...

2014-05-23 22:00:25

阅读数:2843

评论数:0

OpenRisc-67-OR的汇编

引言之前我们写过OR的裸机程序,写过基于OR的linux设备驱动程序,也反汇编过OR的机器码。本小节,我们将通过一个简单的实验,对OR的汇编(指令集)做一个简单的梳理和测试。1,基本思想要想了解OR的指令集,其实只要查查OpenRISC architecture manual就可以了,但是不是最好...

2014-04-28 19:30:48

阅读数:4354

评论数:9

数字集成电路设计-11-SystemC

引言对于稍大一点的project,我们再经过算法验证(C语言/C++语言)之后,直接进行RTL设计,往往比较困难,这时,我们就需要一种介于算法验证和RTL设计之间的形式来实现,而SystemC就是其中比较好的。本小节,我们就熟悉一下SystemC。如果你有C++,C以及verilog HDL的编程...

2014-04-16 20:35:12

阅读数:4274

评论数:2

数字集成电路设计-10-关于采用两级触发器实现双时钟域信号同步方法的分析与验证

引言实现双时钟域数据的交换,最常见的方法就是采用双时钟的异步fifo。但是对于单根信号线,如果仍然采用异步fifo就显得非常stupid,这时,往往通过两级触发器来实现同步。那么,两级触发器是如何实现同步的呢?本小节就做一个简单的分析和验证。1,一段代码下面是我刚刚从ORPSoC的工程里看到的一段...

2014-04-12 11:57:04

阅读数:5049

评论数:0

OpenRisc-66-基于ORPSoC对linux进行RTL仿真

引言前面,我们介绍过对裸机程序进行RTL仿真,那些裸机程序规模比较小,只有几KB大小。另外,我们也已经实现了针对O_board的SoC进行了RTL仿真(http://blog.csdn.net/rill_zhen/article/details/21190757),本小节,我们将实现在ML501平...

2014-04-10 22:06:58

阅读数:5886

评论数:0

数字集成电路设计-9-除法器的verilog简单实现(续2)

引言两年前,我写过一个简单的除法器,当时由于时间问题,只实现了一个简单的逻辑电路,但是实际中大多都是时序的,所以后面给出了修改意见,但是并没有进行进一步的测试,最近发现那个简单的除法器引起了很多讨论,本小节就做一个终结。1,RTL编码a,div_rill.v/* * module:div_rill...

2014-04-10 18:10:18

阅读数:7359

评论数:5

FFT-2-camera模块和VGA模块的测试与验证(RTL)

引言Octopus System中最难搞定的估计就是camera模块和VGA模块了。“明知山有虎,偏向虎山行”。“FFT计划”就拿这两个模块开刀。本小节将搭建一个RTL测试系统,来对这两个模块进行RTL的测试与验证。1,实验目标采集camera图像数据,并通过VGA接口显示到显示器上。2,测试系统...

2014-04-02 21:30:19

阅读数:3582

评论数:2

FFT-1-FFT计划概述

FFT计划V1.11,         “FFT计划”是什么?FFT(FPGA Free Training)计划,是一套包含FPGA,SoC,CPU,Linux等内容的免费在线课程的总称。其目的是降低学习相关技术的门槛和费用,推动FPGA,SoC,Cpu和Linux等技术的普及和发展。 2,“FF...

2014-03-24 21:24:30

阅读数:4608

评论数:9

深入浅出FPGA-18-VPI

引言我们在进行RTL仿真时,有时候会遇到HDL工程和C语言工程需要进行数据通信时,使用$readmem()等系统任务会方便很多,但是有时候,实现较复杂功能时,$readmem()就会稍显不足。这时,就需要我们编写特殊的系统任务,来实现。HDL语言提供的PLI,VPI正是为了解决这个问题而设计的,本...

2014-03-24 21:07:48

阅读数:6359

评论数:3

程序人生-8-HFD

引言昨天(2014-03-15)在北京中关村梦想实验室的创客空间,举办了HFD(hardware free day),开源硬件大爬梯。我也有幸应邀参加了本次party,并做了“OpenRISC & Me”的主题演讲。本小节,就回忆一下我关于这次开源硬件聚会的一点想法。 1,参会人数多这次是...

2014-03-17 12:24:00

阅读数:3307

评论数:3

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