代码改变世界

VHDL 语法小点(1)

2011-03-27 09:17 by yucan, 262 阅读, 0 推荐, 收藏, 编辑
摘要:1.对于以时钟触发的计数器,一般从0到N-1,共N。当时钟上升沿来临时,对于可能用于判决的计数器的值,为上一次时钟周期内所修改的值,是上个时钟周期的值,很重要。2.如何消除毛刺:可以通过用寄存器寄存输出尽量用同步电路,因为同步电路要求信号满足一定的建立保持时间,而毛刺的时间短不能满足该条件,不能触发电路,同步电路对毛刺不铭感,但不能把有可能有毛刺的信号作为触发器的异步复位和置零端。3. 理解信号(signal):在一个进程(process)的一次执行中,信号的值只会改变一次(不管被赋了几次值)。而且,对信号的赋值不是立即生效,而是在进程结束后才生效。输入(in)、输出(out)和 buffer 阅读全文

Bayer to RGB Matlab实现

2011-03-25 18:40 by yucan, 2404 阅读, 1 推荐, 收藏, 编辑
摘要:原本计划是今天上午编写Matlab代码实现Bayer到RGB的转换,但是一直忙到现在才弄完,这其中遇到一个问题,那就是数据格式的问题,在读入图像时,默认的数据类型是uint8,无符号8为整型,需要将其转换为double再进行各种运算,否则结果就出现问题。 下图是原始的RGB图像 对其应用Bayer模板,得到每个像素只有一个颜色通道的二维矩阵: 彩色显示是 由于每个像素少了两个颜色分量,故亮度很低,... 阅读全文

Quartus II FIFO学习

2011-03-24 23:35 by yucan, 783 阅读, 0 推荐, 收藏, 编辑
摘要:FIFO通常是双端口的存储器,其中一个端口用于写入数据,而另一个端口用于读出数据。可以同时对存储器字存储单元进行写入和读出操作。它的数据吞吐率是普通RAM的两倍。现在的FIFO存储器采用SRAM单元来实现。它是基于带两个指针的环行FIFO结构的。要写入的数据的存储地址放在写指针中,而FIFO结构中要读出的第一个数据的地址放在读指针中在复位后,两个指针都指向存储器的同一个字单元。每次写操作后,写指针指向下一个存储单元。对数据字的读取操作,会把读指针指向下一个要读取的数据字读指针就不断地跟随写指针,当读指针跟上写指针后,FIFO的结构里面为空。如果写指针追上读指针,FIFO结构里面的数据是满载的。 阅读全文

Bayer Pattern to RGB

2011-03-24 18:05 by yucan, 1875 阅读, 0 推荐, 收藏, 编辑
摘要:Sensor3彩色数字相机需要3个单色sensor获得彩色图像的R,G,B分量,成本较高。单CCD获得彩色图像的方法是在 CCD表面覆盖1个只含红、绿、蓝3色的马赛克滤镜,对其输出信号通过一定的处理算法实现。这个设计理念最初由拜尔提出,所以这种滤镜也被称作拜尔模板 (bayer pattern)。 The Bayer color filter array (CFA) is shown below.... 阅读全文

Windows Live Writer Blog Test

2011-03-24 16:49 by yucan, 195 阅读, 0 推荐, 收藏, 编辑
摘要:今天在博客园上写博客时看到推荐客户端Live Writer,就下载安装了玩玩。据说功能强大,遂发本文测试测试。 发博客基本上也就是文字和图片; 删除下划线斜体加粗; 具有word的基本功能,总体感觉挺不错的。 阅读全文

Color space converter: RGB to YCbCr

2011-03-23 22:38 by yucan, 1126 阅读, 0 推荐, 收藏, 编辑
摘要:今天完成了RGB到YCbCr色彩空间转换VHDL模块,总的来讲不是很难。我并没有自己编写代码,像这种典型的应用一般都有现成的比较好的代码。我在opencore网站找到了Color Converter IP Core代码,但是这个代码太复杂(有很多可调参数),很像altera VIP IP核中的CSC;另外我还找到了Xilinx的两个版本的RGB2YCbCr的VHDL代码,一个是Color-Space Converter: RGB to YCrCb,XAPP930,这个代码包还有对应的说明文档,这些都能在Xilinx官网上下载到;另一个是在国内某论坛上下载的,相对简单一点,而且思路清晰,也是X. 阅读全文

关于容器的笔记

2011-03-17 20:08 by yucan, 162 阅读, 0 推荐, 收藏, 编辑
摘要:1.JDK1.5以后增强的for循环int[] arr = {1,2,3,4,5};for (int i : arr){...}其中arr是数组或容器。缺点是不能方便的访问下标值。对于集合,与iterator相比,不能方便删除集合中的内容。一般用于简单的遍历、读出内容。2.Set 元素不能重复且无序3.List 有序,可重复。ArrayList、LinkedListObject get(int index);Collections.shuffle4.如何选择数据结构标准:读的效率和改的效率Array 读快改慢Linked 改快读慢Hash 两者之间5.Map接口 实现Map的类,用来存储键值对 阅读全文

泛型(Generic)

2011-03-14 20:33 by yucan, 164 阅读, 0 推荐, 收藏, 编辑
摘要:起因:JDK1.4以前类型不明确:装入集合的类型都被当做Object对待,失去自己的实际类型;从集合中取出时往往需要转型,效率低,容易出错。解决办法:在定义集合的时候同时定义集合中对象的类型。List<String> c = new ArrayList<String>{};取出时,不需要强制类型转换。class MyName implements Comparable<MyName> ...好处:增强程序的可读性和稳定性。 阅读全文

关于C语言的一些小知识点

2010-12-20 17:49 by yucan, 186 阅读, 0 推荐, 收藏, 编辑
摘要:1.memcpy原型:extern void *memcpy(void *dest, void *src, unsigned int count);用法:#include string.h功能:由src所指内存区域复制count个字节到dest所指内存区域。说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。可以拿它拷贝任何数据类型的对象。举例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。2.malloc()和calloc()函数malloc()和calloc()都可以用来动态 阅读全文

从今天开始写博客

2010-12-20 17:37 by yucan, 139 阅读, 0 推荐, 收藏, 编辑
摘要:这是我第一篇博客。我会把自己的学习和工作的一些知识点、经验和感触记录于此。 阅读全文