博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Verilog_MyHDL的使用
阅读量:4182 次
发布时间:2019-05-26

本文共 1254 字,大约阅读时间需要 4 分钟。

Verilog用得非常少,这里对MyHDL做个简单介绍。

这个工具的作用就是使用Python写verilog代码。当然首先你要安装 Python,然后要安装其扩展MYHDL(pip install myhdl),还有一个工具叫gtkWave也是必须的。

官网上有很多例子,随便选一个来介绍,地址在:

做一个简单快速的入门介绍,其他的都是类似的操作,源码(文件名称为flip-flop_tb.py)

from myhdl import *from random import randrangedef dff(q, d, clk):    @always(clk.posedge)    def logic():        q.next = d    return logicdef test_dff():    q, d, clk = [Signal(bool(0)) for i in range(3)]    dff_inst = dff(q, d, clk)    @always(delay(10))    def clkgen():        clk.next = not clk    @always(clk.negedge)    def stimulus():        d.next = randrange(2)    return dff_inst, clkgen, stimulusdef simulate(timesteps):    tb = traceSignals(test_dff)    sim = Simulation(tb)    sim.run(timesteps)def convert():    q, d, clk = [Signal(bool(0)) for i in range(3)]    toVerilog(dff, q, d, clk)simulate(2000)convert()

简单来说,simulate就是做一个模拟,看看波形是否正确,运行时会在目录下生成一个名称叫

test_dff.vcd
的波形文件。

查看波形很简单,你用命令模式也好,用图形界面也好,结果都一样,我用的命令模式:

gtkwave test_dff.vcd,

这时会打开波形,缩小放大调整后,可以看到如下结果,

 

convert则是把dff的定义转换成verilog代码,运行完后会生成一个叫dff.v的文件,其内容如下

// File: dff.v// Generated by MyHDL 0.11// Date: Tue Oct 13 14:52:37 2020`timescale 1ns/10psmodule dff (    q,    d,    clk);output q;reg q;input d;input clk;always @(posedge clk) begin: DFF_LOGIC    q <= d;endendmodule

 

 

 

转载地址:http://dtwoi.baihongyu.com/

你可能感兴趣的文章
centos7上rabbitmq搭建
查看>>
rabbitmq集成spring的xml配置和java代码
查看>>
RabbitMQ消息确认(发送确认,接收确认)
查看>>
一篇笔记整理JVM工作原理
查看>>
activemq、rabbitmq、kafka原理和比较
查看>>
秒杀系统设计思路和实现方法
查看>>
Redis常见面试题
查看>>
JDK重要包和Java学习方法论
查看>>
网络通讯中的三次握手与四次挥手原理详解
查看>>
GitHub 开源神器:图片秒变文件
查看>>
openstack ice resize 详解(三)
查看>>
事务与锁(转)
查看>>
Namenode HA原理详解(脑裂)
查看>>
Differences between VMware FT and HA(转)
查看>>
Cloud Prizefight: OpenStack vs. VMware(转)
查看>>
亚马逊Auto Scaling
查看>>
openstack-instance-high-availability-Evacuate
查看>>
evacuate-instance-automatically
查看>>
pycharm常用设置(keymap设置及eclipse常用快捷键总结)
查看>>
关于在openstack的环境变量.bashrc自定自己简化命令
查看>>