0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MyHDL“用python设计电路”

li5236 来源:ExASIC 作者:ExASIC 2022-03-29 14:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

写代码:

下面的myhdl代码写了一个模块top,里面有两个计数器:cnt1从0计到9,当cnt1=9时,cnt2从0计到4。

poYBAGJCpsaAZmlzAACNtiB8QvQ619.png

从上面的代码可以看到其实与verilog非常接近,只是复位和时钟python装饰器always和always_seq里实现了。另一个特殊点是,给一个信号赋值需要用xxx.next,这样就描述了DFF的功能,赋的值下一个时钟生效。

转Verilog:

我们用下面的方法来把myhdl转成verilog:

pYYBAGJCpsaAHZOAAABbbXlQKNM001.png

直接上效果,不解释了,大家自己看:

poYBAGJCpsaATTyCAABrIYA_4W8923.png

pYYBAGJCpsaAUWoAAACchXZyvNg658.png

写验证环境,仿真

poYBAGJCpseAcfeCAACxK66xkuI161.png

与Verilog的验证环境没有太大区别,实例化、编写时钟、复位等激励,设置dump波形,仿真时间等。

看波形:

运行后目录下产生testbench.vcd。用Verdi打开如下图:

pYYBAGJCpseAeK58AAA2VpFhXxE867.jpg

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2321

    浏览量

    98559
  • 代码
    +关注

    关注

    30

    文章

    4976

    浏览量

    74382
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用Python/MyHDL创建自定义FPGA IP

    使用 Python/MyHDL 创建自定义 FPGA IP,与 Vivado 集成,并通过 PYNQ 进行控制——实现软件上的简单硬件设计。
    的头像 发表于 04-09 09:53 224次阅读
    使用<b class='flag-5'>Python</b>/<b class='flag-5'>MyHDL</b>创建自定义FPGA IP

    使用PYTHON进行的跨平台仿真

    如何使用编程语言Python来调用和控制VirtualLab Fusion中的模拟。请查看下面链接的文档,以找到关于如何设置和使用Python和VirtualLab Fusion之间的接口的详细指南,以及一个
    发表于 04-02 08:21

    [VirtualLab] 使用Python运行VirtualLab Fusion光学仿真

    摘要 VirtualLab Fusion允许Python外部访问其建模技术、求解器和结果。这个例介绍了一种使用路径变量和Visual Studio代码将Python连接到VirtualLab
    发表于 03-31 09:39

    [VirtualLab] 使用Python进行跨平台参数扫描

    如何收集结果,这些结果可以通过Python提供的所有功能进一步处理。以光栅为例,严格分析了光栅的衍射效率。 **此例展示了… ** 在哪里找文件 README文件 **准备Python
    发表于 03-31 09:36

    如何在 VisionFive 上使用 Python 包?

    VisionFive Fedora 下的本地目录,请在源代码目录下执行以下命令: 提示:源代码可从以下位置下载:愿景五.gpio. sudo yum install python
    发表于 03-30 08:28

    无法去除 Python VisionFive.i2c 库的终端输出?

    方法,终端都会输出 “i2c_dev: /dev/i2c-0” 这样的字段 这个字段既不是 stderr 也不是 stdout,完全去不掉 因为Python 的 curses 库设计的交互界面
    发表于 02-25 06:13

    没有专利的opencv-python 版本

    专利风险,仅需避开 opencv-contrib-python 的 nonfree 模块(或直接无头版)。 如果你的场景需要特定功能(如特征提取、目标跟踪),可以告诉我具体需求,我帮你推荐对应的无专利 API 和代码示例~
    发表于 12-13 12:37

    Python中借助NVIDIA CUDA Tile简化GPU编程

    兼容未来的 GPU 架构。借助 NVIDIA cuTile Python,开发者可以直接 Python 编写 tile kernels。
    的头像 发表于 12-13 10:12 1430次阅读
    在<b class='flag-5'>Python</b>中借助NVIDIA CUDA Tile简化GPU编程

    Termux中调试圣诞树Python代码

    python --version 如果输出Python 3.x.x(比如3.11.4),说明安装成功。 二、代码编写(两种方式可选) 方式1:Termux自带编辑器(nano)(新手推荐) 创建并编辑
    发表于 12-09 09:02

    LABVIEW 2023 Q1调用python后一直报错1671

    LABVIEW 2023Q1调用python后一直报错1671报错信息:PythonNode_AddTwoDoubles.vi中的打开Python会话Python returned
    发表于 11-12 09:51

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、Requests库发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
    的头像 发表于 11-03 09:15 1181次阅读

    Python 给 Amazon 做“全身 CT”——可量产、可扩展的商品详情爬虫实战

    一、技术选型:为什么选 Python 而不是 Java? 结论: “调研阶段 Python,上线后如果 QPS 爆表再考虑 Java 重构。” 二、整体架构速览(3 分钟看懂) 三、开发前准备(5
    的头像 发表于 10-21 16:59 627次阅读
    <b class='flag-5'>用</b> <b class='flag-5'>Python</b> 给 Amazon 做“全身 CT”——可量产、可扩展的商品详情爬虫实战

    termux调试python猜数字游戏

    termux做一个猜数字游戏 下面是在Termux中创建猜数字游戏的步骤及完整实现方案,结合Python实现(最适配Termux环境): ? 一、环境准备(Termux基础配置) 1.
    发表于 08-29 17:15

    termux如何搭建python游戏

    VS Code编辑 - 版本控制:`git`管理代码,同步至GitHub/Gitee - 任务调度:通过`crontab`设置定时测试(如每分钟运行游戏脚本:`*/1 * * * * python
    发表于 08-29 07:06

    python app不能运行怎么解决?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    发表于 08-06 06:27