2013年7月4日

C语言中typedef函数指针用法

摘要: 原帖在这里:http://blog.sina.com.cn/s/blog_5e71ee700100fo13.html我把里面的代码整理了一下,如下: 1 #include 2 3 int add(int a, int b) 4 { 5 return a + b; 6 } 7 int sub(int a, int b) 8 { 9 return a - b;10 }11 int mul(int a, int b)12 {13 return a * b;14 }15 int div(int a, int b)16 {17 return b? a/b : -1;1... 阅读全文

posted @ 2013-07-04 16:09 万里-先生 阅读(1788) 评论(0) 推荐(0) 编辑

2012年11月19日

直方图统计模块——RAM、adder1和控制模块集成仿真

摘要: 对ram、adder1和控制模块进行了集成,原来的各个模块仿真结果集成后并不正确,主要是wren信号,对此进行了更改。另外为了避免读取和清零时出现0地址时间短的问题,将地址切换单独做成一个模块。RTL图如下:CLK27为输入27M时钟,CLRRAM为ram清零信号,CPURD为读取ram信号,rst_n为复位信号,start为指示开始统计信号,pixel是输入的像素值,作为ram地址。ctrl_wren模块负责统计、读、清零时的wren信号的产生和读、清零地址的产生。addr_gen模块负责统计、读、清零状态的地址切换。统计阶段波形图如下:读取数据阶段波形图如下:清零阶段波形:清零后读取验.. 阅读全文

posted @ 2012-11-19 16:00 万里-先生 阅读(281) 评论(0) 推荐(0) 编辑

2012年11月13日

DE2_115_TV之signaltapII 时序图

摘要: 阅读全文

posted @ 2012-11-13 15:15 万里-先生 阅读(172) 评论(0) 推荐(0) 编辑

2012年11月12日

直方图统计模块——控制和地址生成模块1

摘要: 今天初步完成了直方图统计模块之控制和地址生成模块的仿真,从仿真波形来看基本符合预先的要求。整个模块的RTL图如下:PLL模块输入27M像素时钟,输出108M时钟供其他模块使用,另外输出一路给niosII使用。wr_gen是WREN信号产生模块,WREN信号是片内RAM的读写控制信号。counter1模块是RAM读信号,负责读出RAM中存储的像素信息。counter2模块是RAM清零模块,负责对RAM内部单元清零。两个MUX是地址选择单元,此模块地址输出可能是像素值或两个counter模块的输出。WREN模块代码如下: 1 module wr_gen(clk,rst_n,start,cpur.. 阅读全文

posted @ 2012-11-12 17:00 万里-先生 阅读(252) 评论(0) 推荐(0) 编辑

2012年10月29日

直方图统计模块——地址生成模块时序

摘要: 地址生成模块主要产生ram读、写所需地址,写地址是像素值,27MHz。读地址为0-255递增,时序图如下:图中poxaddr为像素值,即写地址。rd为cpu读信号,当rd有效时,地址由写地址切换为读地址,速率变为108MHz,读地址是内部counter模块生成的。 阅读全文

posted @ 2012-10-29 17:18 万里-先生 阅读(153) 评论(0) 推荐(0) 编辑

直方图统计模块——地址生成器counter模块时序

摘要: 直方图统计模块需要的地址由两部分组成:读地址和写地址。范围是0-255,写地址由图像像素数据控制,27MHz,读地址从0-255递增,使用magecore中的counter模块,时序图见下:当set信号有效时,out变为15,此后从0开始重新计数。2012-11-5对模块进行了更改,使时钟上升沿发生在有效数据中部,避免发生错误。见下图: 阅读全文

posted @ 2012-10-29 15:56 万里-先生 阅读(158) 评论(0) 推荐(0) 编辑

2012年10月26日

直方图统计模块——WREN产生模块1时序图

摘要: 初步写了一个1port-ram模块写信号WREN的信号产生模块,输入27MHz时钟,CPURD信号。输出108MHz时钟和WREN信号。见下图:要求WREN信号在27MHz的最后1/4有效。当CPURD信号有效时,WREN无效。2012-11-5 对模块进行了更改:对wren信号时序更改,避免统计出错;增加了clearram信号,用于统计完成后对ram清零。见下图: 阅读全文

posted @ 2012-10-26 17:13 万里-先生 阅读(155) 评论(0) 推荐(0) 编辑

2012年10月24日

直方图统计模块——pll时序图

摘要: 直方图统计模块中的Ram需要工作在较高的时钟频率下,才能正常完成统计。像素时钟为27MHz,经仿真可知Ram至少需要3倍频,这里使用PLL模块对4倍频进行仿真,效果如下图: 阅读全文

posted @ 2012-10-24 17:26 万里-先生 阅读(269) 评论(0) 推荐(0) 编辑

2012年10月23日

直方图统计模块——1portRAM和adder模块时序仿真

摘要: 最近在做直方图统计模块,其中用到1port ram模块存储像素个数,还需要加1模块,都可以用megacore实现。重点研究了正确统计直方图要达到的时序关系。见下图: 经过仿真验证,ram的工作频率至少要达到像素时钟(27MHz)的3倍即81MHz,才能正确完成统计。图中是4倍频,108MHz。addr是ram地址,即像素值,频率为27MHz。下面一种波形也可以,主要是WREN信号的区别。 阅读全文

posted @ 2012-10-23 16:49 万里-先生 阅读(231) 评论(0) 推荐(0) 编辑

2012年8月31日

关于DE2_115_TV范例的说明

摘要: 我自从去年开始接触DE2_115开发板,主要研究的是视频处理算法,因此想好好研究一下TV范例,不过限于当时水平有限很多模块的代码,还没有弄的很明白。前几天又用到它了,决定再好好研究一下。经过了2天的研究,收获还是不少的,很多代码终于看明白了,于是决定分享一下我的看法。 首先我觉得大家需要了解一下PAL、NTSC以及ITU-R BT.656。详见:http://www.cnblogs.com/sunev/archive/2012/05/21/2512149.html 1.TD_Detect模块 1 module TD_Detect( 2 oTD_Stable,... 阅读全文

posted @ 2012-08-31 16:56 万里-先生 阅读(2129) 评论(4) 推荐(1) 编辑

导航