怎么运行verilog语言_(六) Verilog入门之有限状态机

本文介绍了如何在FPGA编程中结合组合逻辑和时序逻辑,以实现特定功能,例如控制输出端口产生TTL信号。通过学习Verilog语言的有限状态机概念,可以解决顺序执行问题。利用有限状态机,可以在FPGA上依次点亮LED灯,并通过定义不同状态来实现复杂的控制逻辑。文中提到了一个学习Verilog的网站资源,以及在OK板上实现有限状态机的样例程序。
摘要由CSDN通过智能技术生成

fcddc74398f1006e44354b0ee387c325.png

现在让我们回到主线,继续FPGA编程的学习。之前我们我们在测试FPGA是否工作时所用到的代码里面有组合逻辑,如加法器;也有时序逻辑,如将时钟信号分频而得到的闪烁灯。

但如何组合这两种逻辑实现我们所需的功能呢?比如我们在上一篇文章中说到的控制若干个输出端口产生给定的TTL信号。用高级语言写起来很简单:

// code to input profile[N], time[N]
for (int i=0; i<N; i++) {
    
    current_profile = profile[i];
    this_thread::sleep_for(chrono::seconds(time[i]));
}

但我们是没法用Verilog语言写出类似的代码的。一方面,我们的循环需要建立在时钟周期上。另一方面,我们习以为常的顺序执行的语句在FPGA上会并行运行。

再解决实际问题前,我们先来考虑语句执行顺序的问题,解决了这一问题,其它问题也就迎难而解了。一个最为简单的问题是:如何让OK板上的LED灯从左到右依次亮起?

这里我推荐一个很好的学习Verilog语言的网站:

Verilog Beginner's Tutorial​zipcpu.com
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值