zoukankan      html  css  js  c++  java
  • verilog状态机控制led闪烁

    一、功能

    用三段式状态机控制LED,按键,按下是0.5s闪烁一次,再次按按键A是1s闪烁。

    二、状态机转移图

     

    三、连线

     led_state描述状态机,key_test检测按键信号,前者作为顶层调用后者。

     四、描述状态机要注意的问题

    此处利用三段式描述。参考如下:

    https://blog.csdn.net/scottly1/article/details/48802921

    https://www.cnblogs.com/flyuea/p/8421939.html

     1、要注意第二段组合逻辑,要用阻塞赋值。描述状态转移时的if一定要写完全。不然就会出错。WARNING什么产生了latch。一定要避免。

     2、第三段时序逻辑没有加那个if里面的rst_n复位,在modelsim里面看不出问题,但是烧到板子上就不对了。要注意不能掉了。

    计数:

    3、模块实例化的端口问题

    要注意,调用子模块时,输出端口只能用wire类型的变量进行映射,用reg型就会报错。参考如下:

    https://wenku.baidu.com/view/5fb13873ba1aa8114431d9e6.html

    https://zhidao.baidu.com/question/1447007111844219620.html

    比如我这个例子中,led_state里面接受key_tes输出端口flag_key的变量key_flag就只能是wire型,就不能对其直接赋值,这个矛盾也弄了好久。

     

    五、弄了两整天终于调成功了,,,

     
  • 相关阅读:
    Ubuntu下deb包的安装方法
    IP地址的分类——a,b,c 类是怎样划分的
    GDB十分钟教程
    【Github教程】史上最全github用法:github入门到精通
    java实现各种数据统计图(柱形图,饼图,折线图)
    MyEclipse 10官网下载地址以及破解方法
    二分查找
    游起来吧!超妹!
    [Python]linux自己定义Python脚本命令
    python无私有成员变量
  • 原文地址:https://www.cnblogs.com/zlll/p/9610827.html
Copyright © 2011-2022 走看看