nod*_*nja 15 programming-languages verilog
在课堂上,教授说学生不应该说他们学会了用Verilog编程.他说像Verilog这样的东西不习惯用来设计它.那么Verilog与其他编程语言有何不同?
Gre*_*reg 18
与VHDL一样,Verilog旨在描述硬件.相反,诸如C或C++之类的编程语言提供了软件程序的高级描述,即微处理器执行的一系列指令.
在实践中,Verilog和VHDL不提供与编程语言相同的功能,即使它们看起来非常相似.例如,for
C/C++中的循环描述了给定代码片段的顺序执行; 相反,for ... generate
Verilog/VHDL中的循环描述了同一硬件构建块(例如,逻辑门)的多个并行实例AND
.确切地说,for
在Verilog中也存在一个普通的循环,但同样,它必须是"可合成的",也就是说,编译器必须能够生成适合描述的逻辑.
通常,Verilog/VHDL中的初学者会试图将给定的函数/算法从C/C++类型的伪代码直接"转换"到Verilog/VHDL:令人惊讶的是,它有时可能会起作用,但它总是会导致设计极差.为了成为一名优秀的Verilog/VHDL程序员,我们必须真正意识到这些差异.