- 博客(62)
- 资源 (11)
- 收藏
- 关注
转载 Endianness
Endiannessseuchenrui@126.comreference: Daniel Page. A practical introduction to computer architecture. Springer-Verlag London, 2009: 28 - 29Usually, we use a little-endian convention by reading the
2016-01-28 19:30:25
1009
原创 ModelSim 与Debussy联调
ModelSim 与Debussy联调 seuchenrui@126.comWindows环境下的Verilog仿真调试工具,也就那么几个:Mentor的ModeLsIMXilinx的ISIMLinux系统下的Verilog调试工具较多,比如,VCS,NC-SIM, NC-VERILOG等。一次偶然的机会,鄙人有幸见识到了Windows环境下的Debussy,立马感觉这就是我想要的调试工
2015-12-29 19:28:37
3178
原创 【温故而知新】【4】Verilog序列检测
【温故而知新】【4】Verilog序列检测 seuchenrui@126.com11/21/2015 2:21:04 PM 本次博客的内容是回顾状态机的的编写。状态机的经典描述方式为三段式描述。这三段分别为:状态转移(时序逻辑)–> 状态变换条件(组合逻辑)–> 输出逻辑(组合逻辑或者时序逻辑)。下文为一个序列检测的状态机代码,可持续检测序列“00100111”。代码:`timescale 1
2015-11-21 19:08:32
1698
原创 关于有限域乘法器的理解
关于有限域乘法器的理解 seuchenrui@126.com最近在看AES的标准文档FIPS-197,其中有关于有限域乘法器的描述。虽然计算过程很简单,但是就是不明白为什么如此计算。问过度娘之后,才对有限域乘法器有了基本的了解,现记录如下。 特别感谢:http://blog.sina.com.cn/s/blog_4985a6a301000837.html,注意这篇博客思路是正确的,但是给出的
2015-11-15 22:30:32
4328
3
原创 OpenCV + Python 人脸检测
OpenCV + Python 人脸检测seuchenrui@126.com注意题目啊,这只是检测,不是识别。识别比检测难多了,以后有时间再研究。 以下的代码是OpenCV自带的例子,我做了些小修改,可以让眼睛检测结果更精确的。 修改的地方是:以检测到人脸的区域的上半部分做了眼睛的检测区域。 这样修改之后,眼睛的检测区域缩小,因此,检测结果也就精确一点。import numpyimpor
2015-11-13 19:55:35
6569
2
原创 Python + OpenCV模糊处理(Bluring)
Python + OpenCV模糊处理(Bluring)seuchenrui@126.com模糊处理在边沿检测和去噪声方面有较为广泛的应用。OpenCV中提供了4种模糊算法,列举如下:averagemediangaussianbilateral本文将分别采用这4种算法对同一幅图像进行处理,并以图像的形式展现这几种算法之间的差别。1 average代码如下 import numpy
2015-11-11 19:07:04
14025
2
原创 Python + OpenCV边沿检测(Edge Detection)
Python + OpenCV边沿检测(Edge Detection)senchenrui@126.comOpenCV提供了3种边沿检测算法Laplaciansobelcanny本文分别采用这3种算法进行边沿检测,并给出比较结果1 基于Laplacian的边沿检测代码如下 import numpy import argparse import cv2 imag
2015-11-11 19:03:48
18425
原创 Python + OpenCV 直方图均衡 (Histogram Equalization)
Python + OpenCV 直方图均衡 (Histogram Equalization)seuchenrui@126.comOpenCV提供了一个直方图均衡的函数,可以直接调用,使用起来非常的方便。本文将采用OpenCV实现直方图均衡,并以图像的形式展现直方图均衡对图像的影响。代码如下: import numpy import argparse import cv2
2015-11-11 18:59:34
14960
原创 Python + OpenCV颜色空间(Color Space)
Python + OpenCV颜色空间(Color Space)seuchenrui@126.com众所周知,视频和图像领域中存在好几种颜色空间,比如RGB、HSV、YCbCr和灰色。本文将通过OpenCV来演示这些颜色空间之间的差别,以图像的形式直接展现出这些颜色空间之间的差别。代码如下 import cv2 image = cv2.imread('1.jpg') cv2.
2015-11-11 18:55:21
4134
原创 OpenCV + Python安装配置方法
OpenCV + Python安装配置方法seuchenrui@126.comPython好不好用,用过才知道啊。 Python中使用OpenCV真的是非常的方便,没有像Visual studio那样繁琐的配置。只需要简单几步就可以完成配置。具体步骤如下:下载opencv、python2.7和numpy 1.10安装文件安装opencv,然后再安装python,最后安装numpy将bui
2015-11-11 18:34:59
1579
原创 【温故而知新】【3】时钟分频-半整数分频N.5
【温故而知新】【3】时钟分频-半整数分频N.5, N>2本次实现的实现的半整数分频,N.5分频。实现的方式是通过移位寄存器,这种方式的思路来源文献“Clock dividers made easy”, writed by Mohit Arora from ST mircoelectronics, LTD. Mohit Arora 也写过一本书,叫做“The art of hardware arch
2015-10-06 20:54:52
3415
3
原创 【温故而知新】【2】时钟分频-奇数50%占空比
【温故而知新】【2】时钟分频-奇数50%占空比昨天写了个时钟分频的Verilog代码,今天继续写,只不过这次写的是:奇数分频,50%占空比 实现方法很简单:计数器,时钟正边沿计数上升沿触发的时钟分频下降沿触发的时钟分频合并上述两种时钟分频信号Verilog代码如下,依然是参数化的设计:这里写代码片//============================================
2015-09-30 10:34:10
1403
原创 【温故而知新】【1】时钟分频-整数
离开微电子行业有一年时间了,最近准备返回老本行,因此想先把Verilog捡起来。最简单的Verilog例子就是时钟分频,此处写了个整数分频,可以实现偶数分频,50%占空比,奇数分频,非50%占空比。代码是参数化,分频数可调整。代码如下://===========================================================// Author: s
2015-09-29 17:34:06
813
原创 LabView实现图像搜索
LabView实现图像搜索这一次要用LabView实现图像搜索的功能,也可以理解为图像匹配,原理很简单:将模板与目标图像逐行比较,计算模板与每一部分的Squared Difference,然后寻找最小的值,此值得坐标对应这个最匹配图像的位置。LabView代码如下图所示: Squared Difference只是实现模板匹配的最简单的方式,其他还有NCC或者Zero mean NCC等。以后有时间
2015-09-17 17:00:14
1693
原创 CUDA BY EXAMPLES第4章代码错误解决方法
CUDA BY EXAMPLES一书第4章提供了一个例子,名叫“Julia Set”,我自己尝试编译运行该代码,一直报错,错误如下1>C:/rchen/cuda_by_example/chapter04/julia_gpu.cu(44): error : calling a __host__ function("cuComplex::cuComplex") from a __device__
2015-08-31 11:02:24
2842
原创 Check the valid wavefront array index
Check the valid wavefront array index%% check valid sub-aperture index% rchen@niaot.ac.cnclear all;clc;number_of_subaperture_in_a_row = 7;k=1;m=1;for i = 0: 6 for j = 0:6 temp = (1- 1/
2015-08-27 15:20:28
572
原创 MATLAB划分一个形状为圆的区域
MATLAB划分一个形状为圆的区域下文中的代码用于提取图像的中心圆域,原理很简单,就是圆的计算公式。%% ----------------------------------%% DOCUMENT TITLE: draw a circle%% AUTHOR: rchen@niaot.ac.cn%% ----------------------------------clear all;
2015-08-26 09:54:41
3943
原创 通过try/catch block载入文件
通过try/catch block载入文件今天在《Mastering OpenCV with practical computer vision algorithm》一书中看到这样以下这段代码,感觉很清晰,很整洁,特在此处记录一下,以方便以后的使用。代码如下:#include <opencv2/objdetect/objdetect.hpp>#include <opencv2/highgui/hi
2015-08-19 20:56:48
653
原创 基于OpenCV的人脸识别
基于OpenCV的人脸识别OpenCV是个好东西啊,这个开源的CV库包含了许多函数库,比如模板匹配,边缘检测,面部识别。这一次要学习的是人脸识别。我们先从一幅图像的面部识别开始。直接上代码,下面的代码是从多个网页中抠来的,如果您发现里面包含了你的代码,请您及时通知我,我可以删掉。#include <opencv2/objdetect/objdetect.hpp>#include <opencv2/
2015-08-02 16:08:52
5984
原创 通过OpenCV打开摄像头
OpenCV打开摄像头直接上代码。代码功能就是打开摄像头。其他功能以后再慢慢添加。 此处使用的版本为OpenCV 3.0.0,编译工具为MS VS 2013。#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/core/core.hpp>using names
2015-08-01 10:07:50
1760
原创 System Generator学习笔记(六)
基于System Generator的高通滤波器设计本次学习借助system generator和FDATool设计高通滤波器的方法和流程。设计模型如图1所示,包含两路,一个是simulink的仿真输出,另外一个则是通过FPGA实现的定点数仿真输出。图中的“subststem”就是设计好的FPGA模型,如图2所示。 图1 设计模型 图2 Subsystem设计模型MATLAB自带有一个滤
2015-07-30 17:09:02
6195
2
原创 System Generator学习笔记(五)
System Generator学习笔记(五)这一次学习的是通过system Generator实现图像的二值化处理,具体流程如下:读入一幅图像;转换成每次输出1个像素,输入到xilinx gateway in;调用xilinx blocks实现图像的二值化处理;通过gateway out输出,并转换格式,显示图像Simulink模型如下图所示: 处理结果如下图所示, 原图像是这样子的
2015-07-25 12:23:13
2125
1
原创 System Generator学习笔记(四)
这一次学习的是如何将matlab工作区间的数据输入到simulink中。步骤如下:在workspace定义数据结构,定义方式如下图所示比如,定义一个正弦信号,时间是从1到101,这101个时钟周期,数据是采样一个周期的正弦波信号,那么,定义如下>> var.time = [1:101]';>> var.signals.values = 2*sin(2*
2015-07-24 21:18:41
2683
转载 System Generator学习笔记(三)
以下内容摘自:《System Generator for DSP, Getting start Guide》, Xilinx Corporation, 2012Defining the FPGA BoundarySystem Generator works with standard Simulink models. Two blocks called “Gateway In”
2015-07-24 11:42:53
1942
原创 System Generator学习笔记(二)
这一次的例子是描述一个计数器,该计数器支持加减计数,数据载入,复位和使能。具体设计如下:wavescope的仿真波形如下图所示,其中up用于控制计数器加减,load控制数据载入,din是输入载入的数据,rst是复位信号,en是是使能信号
2015-07-23 21:29:11
2233
原创 System Generator学习笔记(一)
System Generator是Xilinx公司开发的一款设计软件,该软件通过与simulink结合,可以极大地方便开发人员迅速开发FPGA应用程序。System Generator的使用方式跟Simulink几乎完全一致,但是需要注意的是,需要在模型中加入“System Generator”这样的一个模块才行。例1: 输入任意一个数,将此数延迟4个时钟周期然后输出。System G
2015-07-23 20:51:03
6025
1
原创 MATLAB中统计程序执行时间
clear all;close all;clc;onion = rgb2gray(imread('onion.png'));peppers = rgb2gray(imread('peppers.png'));tic; % start for timec = normxcorr2(onion,peppers);[ypeak, xpeak] = find(c==max(c(:)));
2015-07-19 22:24:24
949
原创 XILINX SYSTEM GENERATOR: THE FIRST PROJECT
最近开始学习xilinx system generator,学习此工具的最终目标是利用它搭建一套用于模板匹配的归一化交叉互相关系统。通过今天这个小实验,认识数据格式在FPGA中的重要性.system generator中定义的定点数格式为FIX_16_8,意思是用16比特的数据表示一个数,其中所包含的8比特为小数位,FIX表示有符号数,也就是说FIX_16_8能够表示的数据范围为-128~128。
2015-07-19 22:24:21
1249
原创 利用一维FFT查看正弦波频谱信息
利用一维FFT查看正弦波频谱信息,所需的SIMULINK模型如下图1所示。Zero-Order Hold用于采样正弦波,设置方式如图2所示。BUffer用于缓存采样数据,深度可以设置,深度等于FFT的长度,设置方式如图3所示。FFT的点数跟BUFFER的深度相同,比如,buffer深度为1024,那么此处的FFT就采用1024点的FFT。最后FFT的计算结果可以通过Vector Scope来查看,
2015-07-19 22:24:19
3067
原创 SIMULINK:两个1D FFT构建2D-FFT
在simulink中搭建这样的模块还是蛮复杂的,也可能是因为我对Simulink不熟悉,有些高级功能未能用上,所以下图中所示的显得较为复杂。整个过程如下:1, 载入一个256*256的图像,如图1所示;2, 将图像格式转化为double型;3,将2D矩阵转换为1D矩阵;4,使用buffer,每次读入一行的数据,(可能步骤3和步骤4能够合并?有没有一次直接输入一行数据的方式?);5, 1d-fft
2015-07-19 22:24:16
2487
1
原创 证明2D-FFT能够拆分成两个1D-FFT
经常可以在文献上看到2D-FFT能够以两个1D-FFT来实现,今天我用MATLAB证明了,的确如此。MATLAB的代码如下clear all;clc;f=ones(256,256);center_loc = size(f);rd = 2;f(round(center_loc(1)/2)-rd:round(center_loc(1)/2)+rd, round(center_loc(2)/2
2015-07-19 22:24:14
6064
原创 Simulink载入图像并显示
在simulink中载入图像并显示的方法如下:1, 建立simulink空文档;2, 加入“Image From File”,该Block位于Computer Virsion Systems Toolbox的“sources”中;3,点击Image FROM file, 设置图像路径3,加入“Video Viewer“, 该Block位于Computer Virsion Systems Toolb
2015-07-19 22:24:11
5754
2
原创 LabView随机生成二维数组
LabView随机生成二维数组650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6B/BB/wKioL1U16OKjeTuXAADmb0GEvRM477.jpg" title="1.jpg" alt="wKioL1U16OKjeTuXAADmb0GEvRM477.jpg" />650) this.width=650;" src="h
2015-07-19 22:24:09
8574
转载 Clock Domain Crossing (CDC) Verification
Clock Domain Crossing (CDC) VerificationbyPaul McLellanView ProfileView Forum PostsPrivate MessageView ArticlesPublished on 02-22-2011 08:12 AM 14Comments
2014-04-26 23:24:55
1345
1
转载 Quick Start Perl
Quick Start Perl Perl is about saving time. In just 20 minutes, this short introduction to Perl will show you enough to start using Perl straight away. Your new Perl knowledge may save you 20 min
2014-04-26 21:52:29
568
原创 Windows 7 + Fedora 17 双系统, 硬盘安装成功
Dual-Operation Systems:1. MS Windows 72. Redhat Fedora 17安装方式:硬盘安装所需:1. EasyBCD 2.2(free); 2. Fedora 17的DVD ISO,置于FAT32格式的硬盘中,“解压到当前文件夹”; 3. 未分配的磁盘空间20GB。
2012-10-07 15:52:35
1436
原创 Windows 7 关闭系统保护
<br />windows 7 关闭系统保护:<br /> <br />硬盘容量自动减少,经查找是因为windows 7 的系统保护功能造成的。<br />其关闭方法,如下图所示:<br /> <br />计算机--> 属性-->系统保护<br /> <br /><br />系统保护-->本地磁盘-->配置<br /> <br /><br />配置 --> 关闭系统保护,同时可以删除还原点<br /> <br /><br />
2011-04-14 15:38:00
661
原创 让Cygwin Vim编辑器正确工作
<br />Cygwin Vim在windows下不能正确使用Backspace等按键的解决办法:<br /> <br />很简单,只需要在vim编辑器输入一行命令即可,命令如下:<br /> cp /usr/share/vim/{VIM_VERSION}/vimrc_example.vim ~/.vimrc<br /><br />其中{VIM_VERSION}需要替换为vim的版本号,比如我的是vim73,那么对应的命令就是<br />cp /usr/share/vim/vim73/vimrc_exam
2011-04-11 15:25:00
742
原创 Division (除法器)
<br />Reference:<br /> <br />“Digital design andprinciples and practices”, John F. Wakerly<br />“Advanced Digital Design with Verilog HDL”, Michael D.Ciletti<br /> <br /><br /> <br />`timescale 1ns / 1ps/////////////////////////////////////////////////
2011-04-08 03:26:00
1518
Digital Integrated Circuits A Design Perspective - Jan M.Rabaey
2011-06-11
FPGA Design Best Practices for Team-based Design
2011-06-08
FPGAs 101 Everything you need to know to get started
2011-06-08
mastering your phd
2011-06-08
The Verilog Hardware Description Language, fifth edition
2011-04-08
(Ebook) Electronics - Verilog Digital Design Synthesis
2011-01-27
(Kluwer) Principles of Verifiable RTL Design (2nd Ed.)
2009-06-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人