码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • #()的用法【FPGA】


    用法2种:

                        1预处理参数。

                        2时间延时。

    在Verilog中,#()是一个参数化的模块声明,用于定义模块的参数。这些参数可以在模块实例化时被传递,以便在模块内部使用。#()中的参数可以是数字、字符串或其他参数化模块。具体说明如下:

    1. #()中的参数可以是数字、字符串或其他参数化模块。
    2. 参数可以在模块实例化时被传递,以便在模块内部使用。
    3. #()中的参数可以有默认值,如果没有传递参数,则使用默认值。
    4. #()中的参数可以在模块内部使用,例如用于计算延迟时间等。

    下面是一个简单的Demo,展示了如何在Verilog中使用#()声明一个参数化模块:

    默认参数: 

    1. module sleep_led #
    2. (
    3. parameter CNT_1US_MAX = 6'd49,// 有默认值的,实例化时可以传入新值
    4. parameter CNT_1MS_MAX = 10'd999,// 没有新值传入,就使用默认值
    5. parameter CNT_1S_MAX = 10'd999
    6. )
    7. (
    8. input clk,
    9. input rst,
    10. input button,
    11. output reg led
    12. );
    13. reg [9:0] cnt_1us;
    14. reg [9:0] cnt_1ms;
    15. reg [9:0] cnt_1s;
    16. always @(posedge clk or posedge rst)
    17. begin
    18. if (rst)
    19. begin
    20. cnt_1us <= 0;
    21. cnt_1ms <= 0;
    22. cnt_1s <= 0;
    23. end
    24. else
    25. begin
    26. if (cnt_1us == CNT_1US_MAX)
    27. begin
    28. cnt_1us <= 0;
    29. cnt_1ms <= cnt_1ms + 1;
    30. end
    31. else
    32. begin
    33. cnt_1us <= cnt_1us + 1;
    34. end
    35. if (cnt_1ms == CNT_1MS_MAX)
    36. begin
    37. cnt_1ms <= 0;
    38. cnt_1s <= cnt_1s + 1;
    39. end
    40. if (cnt_1s == CNT_1S_MAX)
    41. begin
    42. cnt_1s <= 0;
    43. if (button)
    44. begin
    45. led <= ~led;
    46. end
    47. end
    48. end
    49. end
    50. endmodule

    时间延时:

    1. `timescale 1ns/1ns
    2. module led
    3. (
    4. input wire key_in , //输入按键
    5. output wire led_out //输出控制led灯
    6. );
    7. #10 //延时10ns
    8. assign led_out = ~key_in ;
    9. endmodule

  • 相关阅读:
    快速入门Spring Cloud Hystrix(服务降级、服务熔断、服务监控)
    最新微服务架构秘籍总结:SpringCloud+SpringCloud Alibaba 全网火爆疯传!
    MindStudio模型训练场景精度比对全流程和结果分析
    第6周学习:Vision Transformer & Swin Transformer
    VMware Ubuntu配置静态ip
    VUE + JS 生成指定区间随机数
    隐私计算python实现Paillier同态加密
    可解释人工智能(XAI)
    《虹口区促进元宇宙产业发展的试行办法》的通知
    浅浅研究模板字符串 ` `
  • 原文地址:https://blog.csdn.net/cfqq1989/article/details/134194482
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号