自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 资源 (11)
  • 收藏
  • 关注

原创 DDR3基本概念11 - DDR Read/Write training

目录DDR3基本概念11 - DDR Read/Write trainingRead trainingWrite training参考文献DDR3基本概念11 - DDR Read/Write training所谓的读或写训练,是为了保证:写操作时,时钟边沿对齐数据眼中心读操作时,DQS边沿对齐数据眼中心Read trainingRead CenteringThe purpose of read centering is to train the internal read captur

2020-07-09 22:43:55 8913 1

原创 NeoVintageous 在sublime中的使用

本想在sublime中用NeoVim+ActualVim的 组合,奈何又是在windows10的环境变量添加NeoVim的nvim.exe路径,又是直接编辑ActualVim的sublime配置文件,为neovim_path添加路径(参照各路英雄豪杰的攻略:将路径中的\换成/, 或用\\),但还是惨遭失败,黯淡收场。 无奈,只好另觅蹊径。一通操作猛如虎,安装并使用NeoVintageous: 1)ctrl + shift + p 打开控制命令行 输入Package C...

2020-06-26 09:39:47 995 2

原创 微软office简单技巧

1) 在word文档中跳转后,重新返回至跳转前的页面 shift + F5

2020-04-22 17:58:58 523

原创 ctags在verilog代码浏览中的应用

我们通常习惯于使用verdi等GUI界面来浏览RTL代码,好处是非常直观,操作简捷方便;但前期的准备工作也比较繁琐,比如需要准备一个RTL文件列表include.f,然后用类似以下命令读入: verdi -2001 -f include.f我们还可以使用ctags工具,linux os一般情况下都已安装该工具。仅通过vim就可以完成项目所有rtl的浏览,跳转等。假设我们的RT...

2019-12-04 18:30:30 2800

原创 图像调优3: CCM参数的标定

具体的方法参见以下参考链接。参考:1)https://www.twblogs.net/a/5b8d00542b7177188338e917 Imatest 測CCM係數的方法2) http://www2.ece.rochester.edu/~gsharma/presentations/talkciede2000cic04.pdf 基于CIELAB的色差计算公式...

2019-09-24 09:25:04 3862

原创 chisel - 1: Windows下chisel工具安装和环境建立

Windows下chisel工具安装和环境建立:1,下载jdk_8.0.1310.11_64.exe或jdk-8u191-windows-x64.exe并安装好jdk,并设置环境变量。 jdk系统环境变量的设置,参考: http://www.onlinedown.net/soft/61003.htm 2, 下载sbt-1.2.8.msi并安装。将sbt安装目录下的bin文件夹加到...

2019-09-17 13:39:43 3518 1

原创 图像调优2:什么是10° D65 和 2° D65

基本概念:1)标准观察者选择:2度标准观察者还是10度标准观察者(10° observer)大部分的视锥细胞(cones)都位于人眼后方一个相对较小的范围内。在1931年的一个67人的测试中,利用一个pinhole针孔设备,入射角设定为2°,就已可激活人眼的色彩感应。因后来认为将可视角设置为10°可以获得更好的光谱响应。但至今仍然有一些行业在使用2°可视角。2)D65 还是D50作为2...

2019-09-02 09:23:13 4419

原创 图像调优1:清晰度相关参数MTF,SFR,MTF50,MTF50P 以及TVL的概念以及换算说明

1)MTF概念说明 MTF是Modulation Transfer Function的英文简称,中文为调制传递函数。是指调制度随空间频率变化的函数称为调制度传递函数。调制传递函数最初是为了说明镜头的能力。在各个摄像头镜头中经常采用MTF描述镜头的MTF曲线,表明镜头的能力。这些曲线是通过理想的测试环境下尽量减少其它系统对镜头的清晰度的衰减的情况下测试得出的。但是其实MTF也可以涵盖对整个成...

2019-08-27 14:38:30 48897 5

原创 ncverilog编译时Unrecognized system task or function: $fsdbDumpfile问题的解决方法

log中报出以下问题:Unrecognized system task or function: $fsdbDumpfile (did not match built-in or user-definee name)通过以下设置解决该问题。1)环境变量设置 以下假设使用的是csh。用echo $SHELL可看到当前所使用的shell的类型。 将verdi的PLI库路径加入环境...

2019-07-15 16:13:24 8334

原创 makefile常见问题

1) Makefile:6: *** missing separator. Stop. 报出来Makefile的第6行有缺少分隔符问题. 打开Makefile文件,找到第6行,发现是该行的命令顶行写,没有用Tab键隔离. 第六行行首加一个Tab键后问题解决. 注: 在makefile中,命令行要以tab键开头。 可通过.RECIPEPREFIX来修改tab为其他符号,如:...

2019-07-02 19:07:20 2267

原创 git命令缩写配置

git config --global alias.st statusgit config --global alias.co checkoutgit config --global alias.ci commitgit config --global alias.br branchgit config --global alias.lg "log --color -graph --pre...

2019-07-02 18:55:09 4764

原创 DDR3基本概念10 - DDR MT/S的理解

MT/S指每秒传输多少个数据(Mega-transfer per second),和时钟频率是两个不同的概念。DDR(dual data rate)是双边沿传输数据。因此MT/S是时钟频率的两倍。参见下表。...

2019-06-04 15:41:57 17322 2

原创 DDR3基本概念9 - 8n pre-fetch architecture的含义

在DDR3标准中提到"The DDR3 SDRAM uses a 8n prefetch architecture to achieve high-speed operation".n表示DDR内存颗粒的位宽(一般为4/8/16bits). 8表示burst的最大数据量。为了获取最佳的性能,DDR3一次读写数据位数为8 x n。如下图所示,READ 通道有一个32数据到8个4位burst数...

2019-06-04 09:15:00 5581 1

原创 DDR3基本概念8 - 如何理解RTT和VTT

为ODT的有效阻抗。由MR1寄存器的A9,A6和A2来设定RTT的大小。标准中提到的RZQ电阻为240欧姆,连接在ZQ管脚和VSSQ之间。例如{A9,A6,A2}=001时,RTT=RZQ/4=60欧姆。参见下图(来自DDR3标准) .参考电压VDDQ/2, 又称为VTT。其中VDDQ是DQ的供电电压。在DDR3 标准中定义了两种RTT,即RTT_nom 和RTT_wr,两者分别在MR...

2019-06-04 09:03:10 16180

原创 Lattice FPGA 使用指南4 - 全局复位网络GSR的使用

Lattice FPGA 之GSR (全局复位网络)使用GSR可以节省布线资源, 并消除难于解决的setup和hold时序违例。从以下语句来看, Lattice仅有一个GSR网络,所以最好设计仅有一个复位,则全部逻辑都可用GSR来复位。若有多个不同复位,建议GSR用于负载最重的一个复位,从而尽量减小对布线资源的占用。There are two primary ways to take a...

2019-05-24 17:29:32 2846

原创 Cadence IUS 之四:生成verdi的fsdb波形时的问题分析

报出*E, MSSYSTF :User Defined system task or function ($fsdbDumpfile) registered during elaboration and used within the simulation has not been registerd during simulation.原因之一,未设定verdi的环境变量;原因之二,在i...

2019-05-21 09:16:35 3567

原创 Lattice FPGA 使用指南3 - 如何用第三方仿真工具跑后仿及波形分析

假设设计名为mydesign1)生成网表和sdf文件在综合时,Map Design选项中选中 Verilog Simulation file,则综合完成后,会生成网表和sdf反标文件:mydesign_mapvo.sdf (sdf file)mydesign_mapvo.vo (verilog netlist)2)在testbench中读入sdf,如: initial ...

2019-04-23 21:30:15 2147

原创 Cadence IUS 之三:代码覆盖率分析

1)irun 由irun产生coverage数据。 irun 加-coverage all(表示对所有类型的coverage都产生数据)和-covtest TB_NAME(指定将要产生的数据名称): irun -coverage all -covtest TB_CASE1 ... 跑完仿真,自动生成cov_work/scope/TB_CASE1 覆盖率数据。2)imc...

2019-04-23 21:08:41 8298

原创 verilog 基础原理1 - Testbench的initial中的时间节点的判断

testbenchinitial begin: TEST1@(posedge s1);$display("start to get data");@(posedge s2);@(posedge clk);$display("The data is %h", data_in);end说明:s1的上升沿,s2的上升沿以及对应的clk的第二个时钟上升沿实际上是在一个时...

2019-04-04 20:53:09 2737

原创 DDR3基本概念7 - 写操作,以及Lattice DDR3 SDRAM controller实战

DDR3 memory支持六种写命令: WR : BL8或BC4固定burst长度写; Mode register0 的A1,A0: 00, fixed BL8;10, fixed BC4 WRS4/WRS8: BC4 or BL8 on the fly, 通过A12来区分:0, BC4; 1, BL8 ...

2019-03-08 18:17:35 1997

原创 DDR3基本概念6 - Write leveling(写入均衡)

为了提供更好的信号完整性,DDR3的memory controller可以使用write leveling来调整DQS差分对和CK差分对的相对位置,利用DQS差分对路径上的可调整延时来达成该目的。 对于简单的运用,比如on-board DDR memory,并且仅有一颗DDR内存的情况下可以考虑不需要做write leveling。 T型布线,如下图。该布线方式同步切换噪声(Si...

2019-03-07 14:33:59 26370 3

原创 DDR3基本概念5 - DDR仿真中出现的Memory overflow错误的处理

ERROR: Memory overflow. Write to Address 7000fe with data xxxxxxxxxxxxxxxx4634899aabe03499 will be lost You must increase the MEM_BITS parameter of define MAX_MEM.出现该问题的原因分析: ddr3_paramete...

2019-03-06 19:42:24 2529 2

原创 DDR3基本概念4 - 预充电和刷新,以及Lattice DDR3 SDRAM controller实战注意事项

Prechage:需要precharge的原因,关闭当前行,打开新行时,要求新的bit line充电到VDD/2。具体原理参见:https://blog.csdn.net/tbzj_2000/article/details/88042986 DDR3基本概念1 - 存储单元结构和原理Refresh:存储单元的电容,最大保持电平时间为64ms(温度小于85度),或32ms(温度大于85度)。完成...

2019-03-06 09:55:40 12454

原创 Lattice clarity designer在linux平台下无法找到已安装的IP的解决办法

在home路径下建立一个ipsetting_l.lstcd ~touch ipsetting_l.lst然后编辑该文件,加入已安装的IP的路径,如:[Installed_IP]ddr3_sdram_common_v3.0 = /tools/lattice/ip/3.10.0/ddr3_sdram_common_v3.0 = /tools/lattice/ip/3.10.0/...

2019-03-05 20:56:06 334

原创 DDR3基本概念3 - 复位初始化实战举例Lattice DDR3 IP仿真

1) 通过lattice clarify designer 配置DDR3 IP,最新版本是3.1版本2) 配置完成后,自动生成了一套包括testbenches在内的仿真环境。 以上1和2的详细过程,将在另一篇文章中说明。3)启动仿真 且记: Lattice DDR3的仿真环境中各个rtl使用了不同的timescale,所以在仿真时,必须保留每一个rtl中的timescale,...

2019-03-03 19:23:22 2067

原创 DDR3基本概念2 - 上电复位时序

复位信号RESET#和时钟使能信号CKE信号之间要求满足以下时序:对上图中的1, 2, 3和4说明如下:1)CKE在RESET#有效区间,可以有一段时间不稳定2)在RESET#释放之前,要求CKE必须在10ns之前稳定为03)RESET#释放之后,需要等待500us之后,CKE才可以置为14)在电源稳定后,RESET# 需保持至少200us在RTL设计的仿真阶段,200us的...

2019-03-03 18:04:49 4972

原创 Cadence IUS 之二: 生成波形

Cadence IUS支持生成其浏览分析工具simvision可读取的波形, 波形文件的后缀为*.trn。以下为一个在testbench中生成波形的一个例子。initial begin: DUMP_WAVE $shm_open("./waves/my_wave/"); $shm_probe("AC"); $shm_probe(u_I2C_BFM.WRITE, "AC")...

2019-03-03 17:56:06 3115

原创 verilog 基础原理1 - RTL中对数据位宽的管理

我们通常非常清楚,对于每一个数据都必须定义其位宽,如:reg [7:0] a;reg [19:0] b;但进行计算时我们通常会忽视中间结果的位宽从而出现难以理解的仿真错误。如wire [19:0] c;assign c = a*b >> 8;仿真发现c并非我们想要的结果。原因可能是仿真工具认为a*b的计算值的位宽为a和b中最大的位宽,即20位。正...

2019-02-28 19:59:28 2911 2

原创 DDR3基本概念1 - 存储单元结构和原理

一个基本存储单元结构图如下图, storage capacitor为一个基本存储单元,当access transitor被选通时,可读可写:一个4行3列的DDR 存储器如下图所示:上图中蓝色的为bit line。相邻行的对应bit的bit line之间有一个两个反相器首尾相连的sense amplifier。红色的为word line,连接了同一行的所有的存储电容的transist...

2019-02-28 19:47:07 9923 2

原创 AXI 总线基本概念1 - 如何理解outstanding传输

在AXI4的总线规范中提到AXI4的总线特性之一: Support for issuing multiple outstanding addresses.从字面理解,outstanding表示正在进行中的,未完成的意思,形象地说就是“在路上”。简单讲,如果没有outstanding,或者说outstanding能力为1,则总线Master的行为如下(AHB总线就没有outstandi...

2019-02-28 19:37:12 45822

原创 Emacs Verilog mode 简单使用指南

可实现自动生成instance,wire,parameter等,方便设计的上层模块连接设计,免去手打代码的重复工作。(参考博客 https://blog.csdn.net/tbzj_2000/article/details/81702009 安装后,给gvim也添加了verilog mode,即用emacs和gvim都可编辑verilog,并使用verilog mode下的各种功能)/*...

2019-02-28 14:21:05 9003 1

原创 在gvim中使用Emacs verilog mode的verilog代码自动插入和自动插入撤销的方法。

方法1。给emacs工具安装evil mode,使得在emacs的文件编辑方式和gvim基本一致。但仍然没有直接调用gvim方便。 emacs evil mode和verilog mode的安装方法参见: https://blog.csdn.net/tbzj_2000/article/details/81702009方法2。在gvim中调用emacs的verilog ...

2019-02-28 13:27:33 4506 4

原创 Cadence IUS 之一:简介

一套芯片设计集成仿真工具,包括:irun, nclaunch, ncverilog, ncelab, simvision, iccr( 最新版本改为imc)等。1)仿真- 通过命令行方式,可用单步irun命令,也可以用多步的ncverilog和ncelab等- GUI方式跑命令 ,可用nclaunch工具波形分析:simvision覆盖率:imc2)ius工具安装路径下有两...

2019-02-24 19:16:49 3022

原创 *Error* illegal LHS in continous assignment

以下一段代码在verdi中编译报出如题错误信息genvar i;generate   for(i=0; i<step; i=i+1) begin:fiford      assign rdata[i] = mem[raddr+i];   endendgenerate从语法看没有任何问题。原因是rdata原来是在always中被赋值的,后来才改为assign赋值,定义没有...

2019-02-19 14:39:29 6306 2

原创 何谓“pessimistic”异步FIFO的full和empty信号

full:full信号在写端产生.在写端,若判断到写指针已经回绕到等于读指针,full信号会被置起。在此期间,读指针可能还在递增,在两个周期的同步时钟后,该新的读指针才会被同步到写时钟域,并将full信号拉低。即full信号相对来说是比较悲观的(pessimistic),即写端可能因full信号长度比实际的FIFO为空的时间长,而因此多了几个周期停止写操作,稍损失了性能,但功能不受影响。...

2019-02-16 17:52:55 2292

原创 lattice FPGA 使用指南2 - DDR3 sdram controller IP配置注意事项

启动Clarity designer,配置DDR3 SDRAM controller IP。具体的参数配置,参见Lattice官方的:Double Data Rate (DDR3) SDRAM Controller IP Core User Guide (IPUG80)的Chapter 3 Parameter settings的Table 3-1 IP Core Parameters。个别参数说明...

2019-01-23 21:22:08 992

原创 verilog timescale的两种仿真处理方法

1) 若所有的设计都使用同一个timescale,则可以不需要在每一个module前都定义timescale, 如使用cadence ius的irun仿真工具,则可加timescale选项,如:   -timescale 1ps/1ps  +ncoverride_timescale   则irun将强制将所有的timescale都设置为 1ps/1ps2) 对于复杂的设计,为了加快仿真...

2019-01-22 18:21:58 6051

原创 信号差分对的优势说明

1) external electromagnetic interference tends to affect both conductors identically2)consider a single-ended digital system with supply voltage {\displaystyle V_{S}}. The high logic level is {\disp...

2019-01-16 19:02:12 1058

原创 linux 常见命令总结

常见命令都可以直接在terminal下通过man列出帮助信息,如:man ls1. ls 列出文件和文件夹。 ls * # 列出所有文件 ls ../../rtl/ #列出指令路径下的文件 ls -la ~/ #列出home路径下的所有文件(包括隐藏文件) 运用举例: ls ../../rtl/* > rtl.lst # 将命...

2019-01-14 14:00:00 955

原创 verdi编译vhdl文件时,报出"warning:*Warn* Unknown argument –vhdl08"的解决 办法

原因分析:   verdi -help打印出的帮助信息中可找到-vhdl08,但根据上下文可看到该选项是nTrace工具的选项。所以命令如“verdi -vhdl08 -f include.f"会报出warning。解决办法:   使用verdi的vhdlcom工具来编译vhdl。例如:     vhdlcom -vhdl08 top_design.vhd   然后再通过库调用的方式打...

2019-01-09 19:40:47 1825

用于chisel的环境建立,可以在window下使用

make.exe文件,配合sbt使用. 拷贝make.exe到sbt的bin目录,这是为了使用makefile来编译chisel。

2019-09-17

Lattice Synthesis Engine for Diamond User Guide

Lattice diamond综合和后仿真参考文档。后仿真可参考博客:https://blog.csdn.net/tbzj_2000/article/details/89481655

2019-04-24

verdi加载vhdl和verilog混合RTL设计的详细方法

该方法可以解决verdi中无法跟踪vhdl和verilog混合信号驱动的问题。

2019-01-10

emacs 和evil以及verilog mode全资源

和博客 https://blog.csdn.net/tbzj_2000/article/details/81702009 配套的资源包,一次性完成emacs,evil和verilog mode的部署。

2018-08-15

NXP s32k11x s3214x汽车电子用MCU管脚分布文档

S32K11x和s32k14x的“IO Signal Description Input Multiplexing“,在官方的用户手册中可能找不到。

2018-01-17

RH850 F1L 用户手册

使用于汽车电子,如车身控制等 Applications include automotive electronics, such as BCM (body control module), gateway, HVAC, lighting modules, and many others

2017-12-12

RH850 用户手册

RH850详细的用户手册,加强了功能安全,故障诊断,通信安全等特性

2017-12-11

时钟切换逻辑

详细说明了时钟切换时如何避免产生glitch,从原理到实际的电路实现

2017-12-11

Introduction to Machine Learning with Python

基于python, 有详细的例程,一步一步学下来,可初步掌握机器学习的各个算法的python实现。

2017-12-11

空空如也

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

TA关注的人

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