2012年8月23日

摘要: 先前我用verilog编写了一个中值滤波模块,这种算法处理因为数据量巨大而且还重复存取,所以比较适合放在FPGA前端来处理,DSP就做小数据有技巧的算法吧。当时写这个模块的时候可真是折腾啊,呵呵,其实不是中值算法难,也不是用verilog表述出来难,难的就是在工程中搭建这个数据链,我们得根据相机的数据流来小心翼翼的存储和放出这些数据,不能阻塞而且要有效率。我很惊奇dsp builder,真的是个非常好的工具,它让我们从全局来构建我们的模块,而不是掉进了信号的泥潭,这就是我先前用verilog写中值模块的苦恼,你得关注每一个相关的信号,相机的、DSP的,这些繁杂的信号都有可能导致你无法实现效果。 阅读全文
posted @ 2012-08-23 17:39 愤怒de狂奔 阅读(4535) 评论(7) 推荐(4) 编辑

2012年8月3日

摘要: 此篇博文是对上一篇的后续补充:http://www.cnblogs.com/slhuang10714/archive/2012/08/02/2619915.htmlMatlab2010b装好之后,发现altera DSP Builder Advanced Blockset组件下的Modelprim显示的全是???,而且我在调用NOT反相器模块时,仿真时报错,提示是无法识别的组件!所以,这个组件的内容是有问题的。 图一很晕,本来就是已经解决了altera DSP Builder Blockset无法显示的问题,现在又来个Modelprim无法... 阅读全文
posted @ 2012-08-03 14:21 愤怒de狂奔 阅读(3995) 评论(7) 推荐(1) 编辑

2012年8月2日

摘要: 昨天想看看FPGA 中的DSP builder是怎么操作的,于是安装了matla和dspbuilder。我是先安装的matlab2010b,显示的是7.11.0版本。然后在altera 官方ftp上下载配套的dsp builder,网址如下:ftp://ftp.altera.com/outgoing/release因为我的QuartusII版本是9.1,所以对应的就是91_dsp_builder_windows.exe下载之后还要破解这个组件,继续在网上搜一下吧,有altera的crack集合下载,可用。装的期间,dsp builder会自动探测你机器上已经安装的matlab版本,如果你安装了 阅读全文
posted @ 2012-08-02 14:26 愤怒de狂奔 阅读(7165) 评论(6) 推荐(3) 编辑

2012年7月6日

摘要: 这篇是对上一篇我博文的补充,http://www.cnblogs.com/slhuang10714/archive/2012/07/05/Ben.html。本来是没打算写这些的,但是后面逐渐发现点问题,所以决定再写一个下篇来补充说明一下。图一细心的网友会发现上篇末尾的打印是有点问题的,因为我的数据产生器产生的是1-200,1-200,1-200,1-200,1-200,1-200,共六组1200个8bit数据,全部写进Wrfifo,写进去之后发写请求,同时给Moni_Addr[23:0]为0,也就是0地址开始写。既然第一个数据是0102,为什么打印0000呢,这里只有一个可能,就是提前了一个节 阅读全文
posted @ 2012-07-06 18:06 愤怒de狂奔 阅读(2846) 评论(25) 推荐(3) 编辑

2012年7月5日

摘要: 网上有很多的SDR SDRAM控制器的代码,但都是基于burst1/2/4/8模式下的,这种模式下传输高速的相机数据还是有点拮据的,所以花了几天把这些模式改造成了页突发模式。我的这个控制器模型是这样的: 图一这里的有两个缓冲Wrfifo和Rdfifo,它们都是dcfifo(混合宽度异步时钟FIFO)。上面的图我画的很丑,但是有些细节要注意,Wrfifo进来是8bit出去是16bit。不管是手机那种摄像头还是工业相机camera_clk都不会很... 阅读全文
posted @ 2012-07-05 16:05 愤怒de狂奔 阅读(6842) 评论(6) 推荐(3) 编辑

2012年6月19日

摘要: 学习了TimeQuest一段时间,感觉很纠结。大部分的资料都是直接引用权威的Altera文档,那些公式那些严谨的表达,让我一头雾水,几个星期都没缓过神来。我憎恨这种自以为高明的表述方式!后面无意间看到akuei2的文章,受到启发,结合自己的经验,写一下我对这些概念的通俗化的理解。Verilog的过程赋值提供了为寄存器型变量的赋值方法,里面包含阻塞赋值(=)和非阻塞赋值(<=)。多条阻塞赋值语句是顺序执行的,而多条非阻塞语句是并行执行的。在时序逻辑中一般使用的非阻塞赋值(<=)为变量赋值,在执行到赋值语句时,仅仅对”<=”右侧的表达式的值进行评估,但并不马上执行赋值,然后继续执 阅读全文
posted @ 2012-06-19 17:42 愤怒de狂奔 阅读(3366) 评论(0) 推荐(1) 编辑
摘要: 在做Testbench的时候,QuartusII中的本地链接已经设置好,用Altera-modelsim工具启动,发现没有产生波形。查看modelsim,没有错误信息,回过头来看发现QuartusII有几个重复的报警信息:Warning: An incorrect timescale is selected forthe Verilog Output (.VO) file of this PLL design. It's required that thetimescale should be 1 ps when simulating a PLL design in a third p 阅读全文
posted @ 2012-06-19 12:22 愤怒de狂奔 阅读(894) 评论(0) 推荐(0) 编辑
摘要: 在工程中,发现有编译的警告,如下:PLL "<name>" output port <name> feeds output pin "<name>" via non-dedicated routing -- jitter performance depends on switching rate of other design elements. Use PLL dedicated clock outputs to ensure jitter performance。初步断定是PLL的输出引脚不在特定的走线上造成的,于 阅读全文
posted @ 2012-06-19 11:57 愤怒de狂奔 阅读(8018) 评论(1) 推荐(1) 编辑

导航