原创 FPGA逻辑设计系列文章☞通往设计自由之路

2020-5-27 16:30 3893 76 10 分类: FPGA/CPLD

看到题目,你可能会略感迷惑,听说过财富自由,设计自由又是什么呢?

初学英语的时候有这样的体会,26个英文字母都认识了,单词也没啥大问题,但只知道些基础语句,不能随心所欲的表达自己的意思。

学FPGA的时候,也有这样的感觉:UART、SPI等一些协议都熟悉了;DDR及FLASH等一些存储器件也都实机用过了;硬件语言verilog及VHDL的语法也都了解了。甚至做过的项目都有十多个,但是总感觉心里不是很踏实:

接下来的项目超出自己的能力范围怎么办?

新的通信协议没有用过,甚至没有听过怎么办?

需要处理的case太多,只会堆ifelse怎么办?

用到的时钟个数多,时钟域之间处理不好怎么办?

时序约束只是懵懂,实机测试不稳定怎么办?

   需要用到多张板卡,功能划分没有依据怎么办?

 ...........................等等

 之所以有上述一些困扰,多半是对自己的设计没有信心,不知道自己处于一个怎样的水平。很想做一个复杂项目来证明一下或者提升一下自己,如果只做些初级的案子或模块,很难有进一步的成长的,毕竟并不是所有的量变都能引起质变。

然而真正遇到复杂的设计时,有前辈指导还好,如果没有,要独自闯过去,估计要扒一层皮才行。真正的问题在于,即便侥幸闯过去了,内部代码设计的怎么样只有自己知道,是否为了凑时序而生硬的堆砌语句?是否根据实机调试的结果反过来不知所以的修改代码?是否有理不清的关系的模块?如果是这样,那么后面的项目我们是否还有运气趟过去。

项目是永远做不完的,升级打怪,最终的BOSS又在哪里?技术更新更是日新月异,学会了A,后面还有A+、B+等等。所以我们要的不是鱼,而是渔。

相对其他软件工程师,国内做FPGA的人相对还是较少的,查看目前FPGA的相关书籍,也不是很多,在寥寥数本中大部分还是入门级的:

介绍vivado工具如何使用

介绍FPGA的内部架构

来个跑马灯之类的程序

讲讲数字信号的基础知识

...........................

厚厚的一本,里面的内容大部分是图片,占据的页面没有最大,只有更大。或者讲些案例,但只是案例而已。只讲是这样做的,没有进行一步讲为什么这样做。总之给人的感觉是零零散散,形不成系统,书中讲的是1加1,但实际项目一上来就是微积分,给人以沉重的打击。

那么FPGA逻辑设计有没有一些方法可寻呢?答案肯定是有的。有时候我们需要通过现象看本质,比如设计uart的程序和设计dma的程序,哪个困难一些呢?实际上都是由D触发器搭建成的,无非一个数量可能少一些,一个数量可能多一些。复杂项目也一样,是可以拆分成一个个简单的模块的,每个模块内部是可以拆分成一个个的功能段的,每个功能段又是可以用基础语句实现的。所以问题的关键在于怎么拆,如何拆。这样的话我们就不必担心未知的协议,uart和dma其实是一样的,A协议和A++协议设计的本质也是一样的。只要学会了渔,就可自由撒网。

   之前你肯定看到过这样的结构图:

   换个角度看,也可以是这样的:

后面我们将共同探讨如何渔,希望能帮助到您。


作者: 大工小工, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3885609.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论5条评论)

登录后参与讨论

eeNick 2020-6-1 10:52

非常好的分享,期待后续

bokes 2020-5-29 10:36

点赞,支持!

大工小工 2020-5-29 09:31

是木科技: 关注了,希望能给我们指路,感觉现在就是搬运,自己弄的很少。
指路谈不上,只是单纯的想分享下自己的经验而已。实际在工程中用到的verilog语法就那么一点,不像c++那样,有类,父类,子类及对象等复杂的结构。fpga逻辑设计就像建房子,用的都是些砖,水泥,钢筋等基础材料,只不过有人能建成帝国大厦,有人只能盖小平房。所以真正将设计图纸的方法归纳并用语言描述出来,也的确不是一件容易的事。之前很少写,目前也是尝试中,不妥之处, 还望指正。

是木科技 2020-5-29 09:01

关注了,希望能给我们指路,感觉现在就是搬运,自己弄的很少。

FPFA兔兔爸 2020-5-28 15:19

对FPGA 的设计,会写 状态机,基本上就 差不多了。
相关推荐阅读
大工小工 2021-02-18 15:02
阵列相机应用篇之新春伊始,为您保驾护航
春雨润泽,万物复苏,全国高风险区清零,我们有理由相信今后会越来越好。长这么大,首次在异地过了个年,年前觉得多少会有些凄凉,不过现在看来,我已经慢慢适应了身在异乡的感觉。是的,凡是都有头一次,我们只有不...
大工小工 2020-10-16 09:15
FPGA技术应用篇2☞阵列相机的显示效果
阵列相机2行*4列的4K@30的相机作为输入源,拼接融合显示的效果如下:8路视频最终缩放居中显示到4块显示屏上,之后可以通过上层ui界面对视频进行实时放大、缩小、平移等操作。其中FPGA内部对视频数据...
大工小工 2020-05-12 14:08
FPGA之速度与激情
    4路4K@30帧镜头1*4的排列方式,FPGA拼接融合后输出2路4K的效果显示如下:    不知道怎么传视频,所以各位也看不到动态效果了。只能...
大工小工 2019-03-08 14:24
【我与电子】之扫地僧的内功心法与武林绝学?
【引言】       当初看天龙八部时,扫地僧说练就绝世的武功需要有相应的佛法进行化解。不知道各位如何理解,反正本人是蒙圈了许多年。后来看到马云钟情太极拳,并将...
大工小工 2019-01-29 16:26
狗不嫌家贫,而狗年已过;猪能飞?风口又在哪里
       时间过得真快,转眼又是一年。在FPGA行业内摸爬滚打了这么多年,多少有些感慨。       近些年,AI逐...
我要评论
5
76
关闭 站长推荐上一条 /2 下一条