FPGA图像处理基本Verilog编程技巧 您所在的位置:网站首页 verilog难吗 FPGA图像处理基本Verilog编程技巧

FPGA图像处理基本Verilog编程技巧

2023-11-30 19:24| 来源: 网络整理| 查看: 265

https://github.com/becomequantum/Kryon

Verilog是一种思维方式

先来谈一下怎样才能学好Verilog这个问题。有人说学Verilog很难,好像比C语言还要难学。有一定难度是真的,但并没有比别的语言更难学。我们刚开始学C语言的时候也觉得C语言很难,直到我们把思维方式转变过来了,把微机原理学好了,能模拟CPU的运行方式来思考问题了,就会发现C语言也没那么难了。所以这里面存在一个思维方式的转换的过程。这对于学Verilog来说也是一样的,只不过Verilog比C语言还要更加底层,我们只掌握了CPU的思维模式还不行,还需要再往下学一层“硬件电路的思维模式”,才能更好的掌握硬件编程语言。

我对学习的一个经验总结就是,如果你想要很好的掌握某一个层面的知识技能,那就必须要往下再学一个更基础的层面。比如C语言是软件层面的,理论上你不知道CPU的工作原理也能编程。但要成为高手也还是必须对更下层的微机原理、编译原理等有深入的了解。再往下一层,也就是数字电路层,对于软件编程来说已经不太重要了。但要学好Verilog,则又必须再往下学好数字电路这一层。也就是要了解什么是时序电路,组合电路,RTL,什么是触发器的建立时间和保持时间等这些重要概念。至于触发器是由什么样的门电路构成的,逻辑门的版图又是怎么画的,这样更底层的知识其实对学Verilog来说也不太重要,但要是学芯片设计,这些又很重要。

总的来说现在会硬件编程的人才少是因为之前微电子专业培养的人太少了。而计算机专业的想来用FPGA那自然会觉得Verilog难学,因为他们可能没学过数字电路这些基础知识,或者学过也早忘了。所以如果现在想学硬件编程,而以前也没有学过数字电路的基础,那就先得补充点基础知识,再通过实践训练,也能很快掌握。Verilog没有比C更难,能学好C的肯定也能学好Verilog。但这需要你再进行一次思维方式的转换和训练。如果你直接把写C语言的方式套用来写Verilog上,那就是大错特错了,它们不是同一个层面的。

多实践,表掉进概念的坑

刚开始学Verilog的时候可能会发现有些概念很难理解。比如Verilog和VHDL有什么区别?阻塞赋值和非阻塞赋值有什么区别?什么是可综合和不可综合?

初学时可能看了很多书和文章却还是搞不清楚这些概念。其实要弄明白这些概念的关键不是去调研看别人的解释,而是要自己去实践。网上写文章解释这些概念的人未必自己就搞的很清楚。比如Verilog和VHDL我就认为它们之间只是形式上有些区别,一个简洁一点一个啰嗦一些,本质上没啥区别,换汤不换药。能看懂Verilog去看VHDL也没问题,我还干过手动把VHDL改为Verilog的事情,也就是复制粘贴然后改改关键字并删掉一些东西就行了。能这样就改过来说明它们之间就只有形式上的区别。网上的那些说它们之间区别的帖子,把它们之间的区别说的似乎有很大,但我觉得这些都是在瞎扯。

阻塞赋值和非阻塞赋值。呵呵,我也不知道当初发明硬件建模语言的人为啥要整出这样一些让人费解的术语。要知道,有些学术术语如果用大白话说实际上是很简单的,那些搞研究的人估计是为了故作高深,所以要发明一些新的让人看不懂的术语来显得自己好像水平很高。所以大家千万不要被术语给唬住了。为啥要用阻塞和非阻塞这两个术语来描述对组合逻辑电路和触发器的模拟,这个我也不明白。我只知道=和



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有