使用方式

资源路径:祝福语波形生成器

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用波形祝你新春快乐 |献上祝福语波形生成器|相关推荐

  1. 集牛气 展虎威 | 指令集祝您新春快乐,虎年大吉!

    2021即将过去,这个牛年,我们在物联网的"麦田里"辛勤耕作,集聚牛气: 2022即将到来,这个虎年,我们必将大展虎威,向着构建一个"一HU百应"的物联网生态的 ...

  2. @所有粉丝,祝大家新春快乐!

    祝大家新春快乐!

  3. 祝大家新春快乐,阖家安康

    年少时,我们期待远方,迫不及待一步一步离开家. 可看过千万风景才懂得,世界最美的风景,都不及回家的路. 因为,路的那头,是我们的亲人,还有我们渴望的爱和温暖. 风尘仆仆,终有归途. 祝大家新春快乐,阖 ...

  4. 祝大家新春快乐,万事如意!

    团长在这里给大家拜年啦,祝大家新春快乐,万事如意!

  5. 【CSDN博客之星】本博客得到915票,排名第二名。谢谢大家。祝大家新春快乐,万事如意。

    各位读者好, 本人博客自从2011年8月开通以来累计发表文章84篇(全部原创),访问量近60万. 博客文章通俗易懂,<秒杀多线程面试题系列>,<白话经典算法系列>,<C+ ...

  6. CIMCAI中集飞瞳全球集装箱人工智能领军者祝大家新春快乐

    CIMCAI中集飞瞳 | 全球集装箱人工智能领军者 祝大家新春快乐,虎年大吉! 中集集团[000039]人工智能企业CIMCAI中集飞瞳是全球集装箱人工智能领军者,已完成全球上亿次集装箱信息识别,已完 ...

  7. 黑马程序员祝大家新春快乐,兔年大吉!(内含红包封面)

    2023 癸卯兔年 HAPPY NEW YEAR 除夕到 , 祝大家  新春快乐,兔年大吉   心怀梦想,未来可期  春联.鞭炮.灯笼.年画... 这是儿时的年 抢红包.线上拜年.组团开黑... 这是 ...

  8. 比尔·盖茨录视频祝大家“新春快乐

    1月24日消息,盖茨基金会的官微发布视频,视频中比尔·盖茨祝福所有中国人"新春快乐".可以看到,视频背景中有两只可爱的红色布老虎,非常喜庆. 比尔·盖茨表示:"尽管过去一 ...

  9. AI红包皮速领,人类现金速抽|祝大家新春快乐

    「越往后读,越有惊喜」 △ 图片由百度一格AI生成 兔年新春来临,祝福声声送到. 这个特殊的时刻,我们不仅要祝福自己和家人幸福健康,更要祝福我们的读者们,愿你们在新的一年里,事事顺心,鸿运当头,财源广 ...

最新文章

  1. 论坛报名 | 人工智能与疫情精准防控
  2. PYTHON2.day03
  3. linux shell which 和 whereis 区别
  4. C# 获取MAC地址
  5. poj2420 A Star not a Tree? 【模拟退火】
  6. STM32F1笔记(十二)DAC
  7. 在Ubuntu上安装Git
  8. Inno Setup 打包安裝判斷是否安裝.net freamework 3.5 和 access2007的數據連接
  9. android P版本ro.build.date时间修改
  10. 40 MM配置-采购-采购订单-STO配置-定义凭证类型和可用性检查设置
  11. 双语学习xml系列----之一 什么是xml?(第一小节)
  12. Java 语法 索引 ----- 继承(Inheritance) 和重写(Overriding)
  13. 中国工业经济数据库数据整理
  14. 19华为软件精英挑战赛止步复赛
  15. 最新CCC认证目录范围(2019)
  16. 系统工程(SE)学习笔记(四)——系统架构设计
  17. 计算机键盘打字基础知识,计算机基础知识:计算机键盘的使用
  18. Rasa课程、Rasa培训、Rasa实战Rasa 3.1.0最新版本发布 2022-03-25
  19. 基于VNPY实现网格策略实盘(币圈)
  20. 实时即未来,车联网项目之phoenix on hbase 即席查询【四】

热门文章

  1. 02.win10启用Administrator账户
  2. idea中的surround with快捷键
  3. Java程序GUI与JDBC的应用
  4. 基于视觉信息的网页分块算法(VIPS)
  5. 图像处理-特征融合:相加、拼接、Attention
  6. Android原生OS风格ROM包,ZUK Z1 魔趣OS 安卓9 MagiskV21版 完美ROOT 纯净完美 原生极简 纯净推荐...
  7. 构建LVS负载均衡群集——地址转换模式(LVS-NAT)
  8. 【jQuery】动效
  9. DNS 劫持和DNS 污染
  10. pypinyin |将得到的中文转化成拼音形式的字符串(详细过程+代码)