MyHDL,体验一下“用python设计电路”

ExASIC
关注

写代码:

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

image.png

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

转Verilog:

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

image.png

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

image.png

image.png

写验证环境,仿真:

image.png

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

看波形:

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

       原文标题 : MyHDL,体验一下“用python设计电路”

声明: 本文由入驻OFweek维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。
侵权投诉

下载OFweek,一手掌握高科技全行业资讯

还不是OFweek会员,马上注册
打开app,查看更多精彩资讯 >
  • 长按识别二维码
  • 进入OFweek阅读全文
长按图片进行保存