教授在课堂上说学生不应该说他们学会了用Verilog 编程。他说 Verilog 之类的东西不是用来编程的,而是用来设计的。那么 Verilog 与其他编程语言有何不同呢?
Verilog 与 VHDL 一样,旨在描述硬件。相反,C 或 C++ 等编程语言提供软件程序的高级描述,即微处理器执行的一系列指令。
实际上,Verilog 和 VHDL 并不提供与编程语言相同的功能,尽管它们看起来非常相似。例如,一个for
C/C++ 中的循环描述了顺序的执行给定的代码片段;相反,一个for ... generate
Verilog/VHDL 中的循环描述了多个parallel同一硬件构建块的实例(例如,AND
逻辑门)。准确地说,还存在一个简单的for
Verilog 中的循环,但同样,它必须是“可综合的”,也就是说,编译器必须能够生成符合描述的逻辑。
通常,Verilog/VHDL 的初学者会试图将给定的函数/算法从 C/C++ 类型的伪代码直接“翻译”为 Verilog/VHDL:令人惊讶的是,它有时可能有效,但它总是会导致非常糟糕的设计。为了成为一名优秀的 Verilog/VHDL 程序员,必须真正意识到这些差异。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)