芯片人的快乐——python+systemverilog用波形祝你新春快乐 |献上祝福语波形生成器|
使用方式
资源路径:祝福语波形生成器
Or vcs_wave_chinese_characters_gen: 基于VCS仿真环境的汉字波形生成器
下载解压于安装有vcs和verdi的linux虚拟机之中:
在script目录下,打开 hanzi_trans.py,修改祝福语:
好的,回到sim目录,键入make fun,等边编译仿真完成弹出verdi弹窗:
双击左侧的u_in_if0,然后中键把gogogo拖到波形窗(为啥结构这么乱,因为是拿之前的工程改的~):
然后双击gogogo,并把波形缩放到最小:
换点其他的祝福语:
可以说是过年过节走亲访友表个白唠个嗑啥的必备良器!
工作原理
汉字转点阵字
参考并借用了这篇文章中的代码并稍作修改:
Python实现点阵字体读取与转换的方法
在hanzi_trans.py脚本中将汉字转为01代表的点阵字,当然了,初始转成的点阵(以*表示有值)是这样的:
对应的01点阵即:
那么此时如果要把这些点阵字作为电路的信号输入,那么结合信号本身的波形展开顺序,显然应该是这么对应的:
从左到右每一列为一组32bit信号的每一比特,并且最下面为低比特,上面为高比特;再结合verilog的文件读取方式,显然我需要把数据整理为这种形式:
在脑海里我就想这两种排列方式,然后发现,这不就是数组转置么。。。。。
所以在脚本里做一步:
tp_rect_list = numpy.transpose(rect_list)
脚本最终输出为gogogo.cfg文件,就是上面这个转置后的01点阵图;
用例改造
找个用例复制替换一下,然后加这么一段:
task gogogo_case_seq::body();integer file;file = $fopen("../script/gogogo.cfg","r");while(!$feof(file))beginbit[31:0] value;$fscanf(file, "%b\n", value);`uvm_do_with(my_tr, {my_tr.gogogo == local::value;})end#100;
endtask: body
以二进制的方式读取gogogo.cfg的每一行,赋值给31bit的value,将tr的gogogo变量约束为value的值即可,每处理一行打出来一个transaction到interface中,也就实现了波形效果;
makefile改造
加一个make fun的指令,其实就是make run的固定参数版本,其他参数设置请参看【芯片前端】以vcs编译环境为例做一个适用于芯片前端的极简版Makefile实操教程:
fun: clean@../script/hanzi_tran.py@$(PRE_PROC)@vcs $(CMP_OPTIONS)@$(EXEC_SIMV) $(RUN_OPTIONS)@verdi -ssf sim_base/wave/gogogo_case_0.fsdb &clean:@-rm -rf $(SIM_PATH)/exec ucli.key csrc vc_hdrs.h novas.conf novas_dump.log novas.rc verdiLog
芯片人的快乐——python+systemverilog用波形祝你新春快乐 |献上祝福语波形生成器|相关推荐
- 集牛气 展虎威 | 指令集祝您新春快乐,虎年大吉!
2021即将过去,这个牛年,我们在物联网的"麦田里"辛勤耕作,集聚牛气: 2022即将到来,这个虎年,我们必将大展虎威,向着构建一个"一HU百应"的物联网生态的 ...
- @所有粉丝,祝大家新春快乐!
祝大家新春快乐!
- 祝大家新春快乐,阖家安康
年少时,我们期待远方,迫不及待一步一步离开家. 可看过千万风景才懂得,世界最美的风景,都不及回家的路. 因为,路的那头,是我们的亲人,还有我们渴望的爱和温暖. 风尘仆仆,终有归途. 祝大家新春快乐,阖 ...
- 祝大家新春快乐,万事如意!
团长在这里给大家拜年啦,祝大家新春快乐,万事如意!
- 【CSDN博客之星】本博客得到915票,排名第二名。谢谢大家。祝大家新春快乐,万事如意。
各位读者好, 本人博客自从2011年8月开通以来累计发表文章84篇(全部原创),访问量近60万. 博客文章通俗易懂,<秒杀多线程面试题系列>,<白话经典算法系列>,<C+ ...
- CIMCAI中集飞瞳全球集装箱人工智能领军者祝大家新春快乐
CIMCAI中集飞瞳 | 全球集装箱人工智能领军者 祝大家新春快乐,虎年大吉! 中集集团[000039]人工智能企业CIMCAI中集飞瞳是全球集装箱人工智能领军者,已完成全球上亿次集装箱信息识别,已完 ...
- 黑马程序员祝大家新春快乐,兔年大吉!(内含红包封面)
2023 癸卯兔年 HAPPY NEW YEAR 除夕到 , 祝大家 新春快乐,兔年大吉 心怀梦想,未来可期 春联.鞭炮.灯笼.年画... 这是儿时的年 抢红包.线上拜年.组团开黑... 这是 ...
- 比尔·盖茨录视频祝大家“新春快乐
1月24日消息,盖茨基金会的官微发布视频,视频中比尔·盖茨祝福所有中国人"新春快乐".可以看到,视频背景中有两只可爱的红色布老虎,非常喜庆. 比尔·盖茨表示:"尽管过去一 ...
- AI红包皮速领,人类现金速抽|祝大家新春快乐
「越往后读,越有惊喜」 △ 图片由百度一格AI生成 兔年新春来临,祝福声声送到. 这个特殊的时刻,我们不仅要祝福自己和家人幸福健康,更要祝福我们的读者们,愿你们在新的一年里,事事顺心,鸿运当头,财源广 ...
最新文章
- 论坛报名 | 人工智能与疫情精准防控
- PYTHON2.day03
- linux shell which 和 whereis 区别
- C# 获取MAC地址
- poj2420 A Star not a Tree? 【模拟退火】
- STM32F1笔记(十二)DAC
- 在Ubuntu上安装Git
- Inno Setup 打包安裝判斷是否安裝.net freamework 3.5 和 access2007的數據連接
- android P版本ro.build.date时间修改
- 40 MM配置-采购-采购订单-STO配置-定义凭证类型和可用性检查设置
- 双语学习xml系列----之一 什么是xml?(第一小节)
- Java 语法 索引 ----- 继承(Inheritance) 和重写(Overriding)
- 中国工业经济数据库数据整理
- 19华为软件精英挑战赛止步复赛
- 最新CCC认证目录范围(2019)
- 系统工程(SE)学习笔记(四)——系统架构设计
- 计算机键盘打字基础知识,计算机基础知识:计算机键盘的使用
- Rasa课程、Rasa培训、Rasa实战Rasa 3.1.0最新版本发布 2022-03-25
- 基于VNPY实现网格策略实盘(币圈)
- 实时即未来,车联网项目之phoenix on hbase 即席查询【四】
热门文章
- 02.win10启用Administrator账户
- idea中的surround with快捷键
- Java程序GUI与JDBC的应用
- 基于视觉信息的网页分块算法(VIPS)
- 图像处理-特征融合:相加、拼接、Attention
- Android原生OS风格ROM包,ZUK Z1 魔趣OS 安卓9 MagiskV21版 完美ROOT 纯净完美 原生极简 纯净推荐...
- 构建LVS负载均衡群集——地址转换模式(LVS-NAT)
- 【jQuery】动效
- DNS 劫持和DNS 污染
- pypinyin |将得到的中文转化成拼音形式的字符串(详细过程+代码)