田春冰河
26-02-08 16:40

[1/3] 今天一整天就写了一段代码——把我昨天那个用 LED 灯当计数器的代码用 VHDL 重新实现(不用软核处理器),结果连续遇到各种困难。一开始不知道如何转化开发板上的差分信号时钟,然后不知道怎么在 VHDL 里定义保存中间结果的寄存器——我需要一个很长的整数保存时钟循环数,每当达到1亿次(100MHz)的时候就清零然后把另一个8位寄存器加1,得到的结果输出到 LED 灯上。因为板子被我塞进电脑机箱了,为了看清楚低位,我还要把输出翻转一下。我发现 VHDL 的语法设计字里行间都透露着聪明和合理——虽然我定义了三个局部变量(signal)但最终只有两个被综合成寄存器(总计32+8=40个FF),另一个只负责连线而已。相比之下Verilog里的wire和logic类型的区别我就没搞懂过。为了在床上能看到地上机箱里的情况,我还通过OBS远程控制iPhone摄像头,直播给我自己看。总之挺好玩的。

发布于 辽宁