微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 软件已经实现了,硬件实现该怎么弄?

软件已经实现了,硬件实现该怎么弄?

时间:10-02 整理:3721RD 点击:

最近在做一个算法的硬件实现,用matlab把功能实现了,可是当准备硬件化的时候,不知道从何入手?准备是用Verilog实现的,verilog本科学过,知道基本语法,没用它完成过大的工程。请问各位软硬件设计大神,像我这种情况,该怎么补,才能硬件化的时候很顺手?看那些知识?

在我们公司里,matlab设计和fpga设计是两个不同的岗位。


哦,这样啊。不过我现在还在学习阶段,就是想把自己的能力提升上去,让自己软硬件都能涉猎点。想把这个流程走一遍。发现软件实现挺简单的一个算法,到硬件就不那么简单了,不知道该补哪些知识?硬件实现不太懂啊(就比如我现在 正在做的 FFT快速傅里叶变换,我想把它硬件实现了)

感觉应该先把硬件结构想好,可以看一看相关论文,然后把模块划分一下,把模块之间的接口都规划好,然后就可以开始编代码了,刚开始编可能有点费力,编着编着思路就会越来越清晰


恩,好的,谢谢!


先把软件流程图画好,再好好看一下如何翻译成verilog。如:c的交换2个数。
--->verilog:
always @(posedge clk) begin
  a <= b;
  b <= a;
end

硬件的思想和软件的还不太一样,要提前想好,写出流程,实现方式,以及一些实现的细节,等都想明白了,再动手写硬件程序,否则边写边调边想,容易越写思维越乱。
一点点来吧,祝成功。


恩,像一些简单的结构这样做挺好的,我也这样做过。但是,结构稍微复杂一点的,就不知道该怎么办了


恩,加油!希望能掌握好技术,明年找个好工作!



    FFT可以用ipcore实现,倒是不难

用verilog实现算法,最后计算的精度越高,就需要具备厉害的计算机结构知识,要知道各种浮点、定点、四则运算、布尔运算的计算机实现。
推荐你还是用厂家的IPcore吧,用那些计算模块,比如DDS、乘法器、加法器、乘累加器、滤波器等等,现在FPGA的ipcore已经比较完善了,很多DSP模块都有,但是你还是要精读那些core的使用手册,设置好参数,并自己设计有效的逻辑匹配模块,大概就这个流程。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top