学习笔记No.4

来源:互联网 发布:中国gdp季度数据 编辑:程序博客网 时间:2024/06/05 18:23

换个英文编号酷一点!

这两天对verilog信号处理的东西又增进了了解。一些语法的局限性尤其印象深刻。module的output不能是array。无法定义动态数组。在动态参数输入和最大化并行处理之间有不可忽略的矛盾。

主要研究了两个功能,一个是最简单的插值,matlab语句 a = 1 : 5; 只有一行,放到verilog里面可以很多。如果要模块化的话,input是两个,size和start_number,output是一个很长的储存单元,比如 [20000:0] array。里面并行有几种方式,一个是这样,设一组有50个同时做运算,比较,剩余插值大于50个,就算一组,存数据,下一个时钟再比较一次,直到不够50个,把剩下的用循环处理掉。算是个小并行吧。

至于矩阵乘法,头疼,现在积累到几个方法。一种是每个时钟计算出一个元素,需要N*N个时钟。另一种是流水线,按行列分别进行,给个链接,http://bbs.ednchina.com/BLOG_ARTICLE_3013461.HTM,还是很受用的。再有一种就是像上一个那样分块并行。总之动态处理比较困难。或者用全补零的方式,构建一个很大的模块。再有是按50*50处理每一块,感觉这个不是很靠谱。如果完全展开,那将是上万行的代码。师兄说,肯定的,不要慌。。

这两天的缺点是代码成品有点少。赶紧搞点东西出来。继续按照这个节奏往下走,弄明白每个模块,用代码连起来。

0 0