VHDL(FPGA/CPLD开发)学习心得

近期又学习了VHDL(FPGA/CPLD开发), 现总结心得体会:

  1. 要有硬件的思想, VHDL(或Verilog HDL)毕竟是HDL(硬件描述语言)。用写”程序”的思想来写硬件, 是错误的。程序对应的是机器指令, 是一条一条执行的; 而HDL对应的是具体电路, 即使是行为级描述。HDL写出来的代码有可能无法被synthesise出来。
  2. 数字电路课程, 我还需要多学习一个。
  3. 在编写FSM(有限状态机)时, 需要用触发器对外部输入信号进行采样, 确保时序和系统时钟是同步的。我在写UART的时候就遇到了类似问题, FSM莫名其妙卡死, 然而加上触发器对RXD输入信号进行采样之后, 就没有这个问题了。
  4. 硬件的调试比软件难, 主要在于可能出错的情况变多了。我在调试蓝牙模块的时候, 发现触摸某个特定的位置就会使得模块重启。检查模块, 未见异常; 猜测是电源有干扰的问题, 给电源加上一个电容, 也没用(实际上模块自己已经加了)。最后发现是用于连接模块和FPGA的杜邦线坏了。

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/9673QrCode