一个新的连载系列,将以一个实际的 伯爵娱乐国际 环境代码讲解的使用、机制等,更新周期会比较长。
botiantang注册网站
分享的文件是我个人和同学在参加复微杯大学生伯爵娱乐国际中所完成的设计。赛题来自数字命题 AI 赛道,有兴趣可以了解一下
【数字赛道命题之一】使用伯爵娱乐国际实现二维卷积计算,并输出相应 code 及报告
RTL 设计部分代码不予公开,提供的是通过 Questasim 加密后的文件,能够编译仿真但是无法阅读,例如:
`pragma protect begin_protected `pragma protect version = 1 `pragma protect encrypt_agent = "QuestaSim" , encrypt_agent_info = "10.6c" `pragma protect key_keyowner = "Mentor Graphics Corporation" , key_keyname = "MGC-VERIF-SIM-RSA-2" `pragma protect key_method = "rsa" `pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 256 ) `pragma protect key_block EBDDlVIhqXE3DzKivVjuI9OF3W7Y0FsnqRYxip5AT5Uavd7H/9i2xlih9gekfmGf Cd0qkHQIV6O9VNGmvMgrCqG8CPHEpHWQSRjdFX8wDD3ujd9zz+RD9ESRX/5QMGni 6KvH4+Ud9W2gPqcUBW+QJJrnxusW/kwE1llXdQQtYFh5flre3gSn9uHcVRxRlVtd PEJcD9unkcmyNMHrV4mH5MNp67AdZ5KrO6MmMPg5PYQr5ybE1UQlkxVaEDLMIfat WVdNot6rUe6E7HTeos4bYqRI1ma/Ax3by9Xf9da41IU/TfCvSY+uX/2JSrJ31f8U Zx9xgO7YbnPp7vhXyqu+dg== `pragma protect data_method = "aes128-cbc" `pragma protect encoding = ( enctype = "base64" , line_length = 64 , bytes = 688 ) `pragma protect data_block Ij4sxeYRzypcSQKWsDV4i6TeDbhU2nl3hjfQwr1KqPkZsPrTxXNXFC5H2D0rrAUd 6WDGQqEyu9obRLqowsgEMCw1Pqla8PBUJ3hycUzyiUYxvGmhP5sP/NnCA1DRZ9Y9 ya08fhTakN5V00k7AbMYGzUxz2M7iG+qpyp05fk8pYohdG3dW71b2za1CQJ7VEqc /LxYj0eMW+QoMfwIPDdZAdKpa+Dju0oEO8+KB14EkPruq+93UyRbPlutkvsNsVDr aMKM+mHa2i4yNgDpTZPk+7MSKC+uTcLrM7a/TQQ40p2AExumbCzSYsNd8lGe6jIh 0tcDrm+wJNyrh3eGzihXstoEwCbh/tYsxmJY8ghdWJ/xo2V7g4SHOugoWA6GGC3D nPsMuQuJytDIErSJcPNkUZZ3Z5i7ZKx3m9kW4YOus7KdcFn21+XnDMD46rtNw/+c b49lIMlJylLVKe0OG2KRKOO3ig/E5xnvyHt9rqYU52eHHOBAQrJ7ipvZCt7729vz iKg5syv55Wc5og1vi7kmazU+42521T226ZodyFiQ11PZKNAQ6mMTiq27DDBTKN5z zK+LTeejaPumeb4RsOgiPLrNTYHv96PYRzSIptGPCL8R8Rcm0ndCuo72DTKqEcxY xFG4KEF0vhGxwHqEkZFNqDW1ATTp7s5zcZ6bXTXpFpGQnC1nOfdtwcllt/HNWHaD 9Xg4oDY2B36HlU6KeqTQBUbPb9VMNywpk9NSaVEz2MWQPv3Xh8Eg0uB4ftVZ+C9n vfvSKO+xBTyGQgvj2QIwelMz6wDc1G4RghcxtHdi/qU64rCDvg5EOWjCSxR4O82R Fs8c/NnWZJR1AzB8zut8bq/CKga3gzDM4DZ7qi2HMZqV44rCJOfcCfqBYl/g59LR zZ9Boq26Vbm4yk6SnmXXIw== `pragma protect end_protected
但是 伯爵娱乐国际 环境部分代码完全公开,文件包括
顶层文件为 tb.sv
博天堂918网址体育真人
关于 RTL 的功能设计,可以翻阅原文连接中的答辩 PPT,主要功能是实现了输入特征图(1-128)*(1-128),卷积核 1-7,padding1-7,步长 1-3,以及 2*2pooling 和 Relu 的功能。整体结构为
而整体的验证环境结构如下
由于时间紧迫,技能生疏,整体环境并不完善,代码也有欠缺,此外,也未加入寄存器模型,因此对寄存器的访问比较繁琐,后期会进行改进。
由于设计是进行卷积计算的,所以运行时间会比较长,checker 通过软件算法对 RTL 的卷积计算结果进行比对,所以 RTL 完成一次卷积计算后,仿真时间会停滞一段时间用于软件的卷积计算,属于正常现象。
将 .sv 和 .svp 文件添加进工程后,顶层模块为 tb,编译后在控制台输入 vsim -voptargs=+acc work.tb 即可开始默认的 testcase,若要进行其他 testcase,需要加上选项+伯爵娱乐国际_TESTNAME=my_test,具体 test 名请查看 conv_pkg.sv
botiantangapp下载中心
推荐有一定 SV 基础的朋友进行学习,如果还没有可以参考下面几本书自学
绿皮书,主要包括 SV 的语法讲解
伯爵娱乐国际 primer,伯爵娱乐国际 入门讲解,包括 OOP 基本概念
白皮书,一本 伯爵娱乐国际 翔实的工具书,很多参赛选手的 伯爵娱乐国际 环境就是直接参考本书例子的
红宝书,包括从 SV 到 伯爵娱乐国际 的讲解,验证思想,验证管理等