网站首页 > 技术文章 正文
来源:EETOP 作者:ccpp123
略作了解后发现, MyHDL不是高层次综合, 它实际上是用Python的一些功能实现了一个Verilog仿真器, 能对用Python写的仿Verilog语言进行仿真, 并把Python代码翻译成Verilog. 省事的地方在于Python的简洁,以及可以很方便的看波形,还有可以和其它Python代码结合来进行仿真输入和查看仿真结果. 比如写图像处理的模块就很容易把图像输入进行仿真然后查看结果.
在Python MyHDL环境下仿真测试好的代码,翻译成Verilog后就可以直接拿去编译使用了,可以不需要再到ISE或Vivado中去仿真.也就是说MyHDL的仿真和翻译结果都是没有问题的.通过做这个项目俺已经能确认这一点. MyHDL的作者Jan Decaluwe是个设计芯片的工程师,用MyHDL设计过芯片, 所以在正确性上是没有问题的.
使用Python MyHDL有以下几点需要注意 :
实际上只有@always_seq, @always_comb这两个语句块可用, 虽然MyHDL也支持assign, 但在翻译成Verilog时似乎会出问题, 所以就不要写assign了,全部用@always_comb.
在用@always_comb时, 如果你在一个@always_comb块中既赋值了一个信号,又引用了这个信号,MyHDL会报错. 这个问题不大, 可以再写一个@always_comb块,把赋值和引用语句分到不同@always_comb块里就行了.
对a = {b,c,d}这样的信号拼接支持的不好,虽然有个连接信号函数支持这个,但只支持仿真,翻译Verilog会出错.所以这样的信号拼接似乎也只能拆开来一个一个的写在@always_comb块里. 这也是用MyHDL要比Verilog麻烦的地方.
但总的来说Python MyHDL还是要比写Verilog省事一些的, 我打算以后就用这个了,不再写Verilog了.
我尝试用MyHDL写了一个FPGA以太网MAC, 可以通过UDP协议向PC机传原始视频。
代码模块截图:
如果有需要可以登录论坛下载:(第一次注册需要在电脑端进行)
下载链接
http://bbs.eetop.cn/thread-765525-1-1.html
推荐海量芯片知识宝库--EETOP论坛: http://bbs.eetop.cn
猜你喜欢
- 2025-04-09 ScalersTalk成长会Python小组第17周学习笔记
- 2025-04-09 78行Python代码帮你复现微信撤回消息!
- 2025-04-09 利用gRPC构建Python微服务(二)-gRPC基础
- 2025-04-09 Python 网络编程的基础复习:理解Socket的作用
- 2025-04-09 python之list(set())函数(python的list函数)
- 2025-04-09 Python Queue 进阶用法(python queue库)
- 2025-04-09 python 模块 multiprocessing(python multiprocessor)
- 2025-04-09 Python RPC 之 Thrift(python之父)
- 2025-04-09 当前从 Python 调用 C/C++ 代码的有多少种方法、最佳方案是什么?
- 2025-04-09 Scapy:用Python编写自己的网络抓包工具
- 263℃Python短文,Python中的嵌套条件语句(六)
- 263℃python笔记:for循环嵌套。end=""的作用,图形打印
- 261℃PythonNet:实现Python与.Net代码相互调用!
- 256℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 256℃Python实现字符串小写转大写并写入文件
- 116℃原来2025是完美的平方年,一起探索六种平方的算吧
- 96℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 89℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)