当前位置: 首页 > news >正文

计算机系统要素:测试文件解读

// 加载16位与门的硬件描述文件 load And16.hdl, // 指定测试输出文件 output-file And16.out, // 指定对比的标准答案文件 compare-to And16.cmp, // 定义输出格式:a(二进制16位)、b(二进制16位)、out(二进制16位) output-list a%B1.16.1 b%B1.16.1 out%B1.16.1; // 测试用例1:全0 & 全0 → 全0 set a %B0000000000000000, set b %B0000000000000000, eval, // 执行运算 output; // 输出结果 // 测试用例2:全0 & 全1 → 全0 set a %B0000000000000000, set b %B1111111111111111, eval, output; // 测试用例3:全1 & 全1 → 全1 set a %B1111111111111111, set b %B1111111111111111, eval, output; // 测试用例4:交替位 & 反交替位 → 全0 set a %B1010101010101010, set b %B0101010101010101, eval, output; // 测试用例5:部分重叠位 & 部分重叠位 → 重叠位保留 set a %B0011110011000011, set b %B0000111111110000, eval, output; // 测试用例6:随机位组合 → 逐位与运算 set a %B0001001000110100, set b %B1001100001110110, eval, output;

关键知识点解析:

一、指令作用

  • load:加载待测试的硬件描述文件(And16.hdl);
  • output-file:指定测试结果输出文件;
  • compare-to:指定标准答案文件,用于自动比对测试结果;
  • output-list:定义输出格式(二进制 16 位,显示 a、b、out);
  • set:设置输入信号 a/b 的值;
  • eval:执行硬件逻辑运算;
  • output:输出运算结果。

二、a%B1.16.1语法完全解析

在 Hack 硬件测试脚本(.tst)的output-list指令中,a%B1.16.1输出格式控制符,用于定义信号a的显示规则,拆解如下:

组成部分含义
a待显示的信号名(此处指 16 位输入信号 a,可替换为 b/out 等其他信号);
%格式符分隔符,标识后续为格式定义;
B数值显示进制:B= 二进制(Binary),其他可选值:D= 十进制、H= 十六进制;
1「位数对齐规则」:1表示高位在前(大端显示),若为0则低位在前;
.16「固定显示位数」:强制显示 16 位,不足补 0(核心!保证 16 位信号完整显示);
.1「分组间隔」:1表示无分组(连续显示),若为4则每 4 位分隔(如1111_0000);

核心作用

a%B1.16.1最终效果:将 16 位信号 a 以「高位在前、无分组、补 0 至 16 位」的二进制形式完整显示

举例说明

假设信号a的实际值是二进制1010(仅 4 位),不同格式符的显示效果对比:

格式符显示结果说明
a%B1.16.10000000000001010补 0 至 16 位,高位在前
a%B0.16.11010000000000000补 0 至 16 位,低位在前
a%B1.8.100001010补 0 至 8 位,高位在前
a%B1.16.40000_0000_0000_101016 位、每 4 位分组显示
http://www.cnnetsun.cn/news/136967.html

相关文章:

  • 前端Vue使用js-audio-plugin实现录音功能
  • 测试用例之翻页功能详解
  • 音乐平台歌曲盗版维权全攻略:权利卫士录屏取证+可信时间戳认证实操指南
  • 根据您提供的 package.json 片段,涉及的 @vue/cli-plugin-babel 和 @vue/cli-service 版本为 ~4.2.0。以下是针对该版本的详细解决方案,结合相关依
  • electron-egg打包win7
  • 8种网络故障分析及测试命令大全
  • 新人必看盘点知名CTF练习靶场,从零基础入门到精通,收藏这一篇就够了!
  • Pythonselenium自动化测试实战项目
  • 关于Comtos Linux (朱雀)主体源码的选择
  • 超级Mini小车功能说明
  • STC32G12单片机替换成STC32F12单片机,直接替换的结果
  • SIEMENS 6SL3210-1PE33-0CL0 变频器
  • 软件测试常用的7种方法,最后一个是升职加薪关键!(零基础小白转行IT互联网高效进阶)
  • 【RTOS】EasyLog的移植与使用
  • 在数据库里玩“平行宇宙”:MatrixOne Data Branch 让数据也拥有Git 的分支/合并/对比/回滚(含跨集群同步)
  • 基于单片机的全自动洗衣机系统的设计
  • 5.6 模型部署与智能体集成实战
  • 基于单片机的球赛计分牌的设计
  • ArcGIS Pro 从入门到实战基础篇(10):地图菜单
  • Kotaemon与Redis/Memcached集成:构建高速缓存层
  • 【鸿蒙三方库编译】lycium_plusplus(lycium++)高效完成鸿蒙C/C++编译
  • 2025年度GEO服务商权威甄选指南:技术深度与商业价值的双重考量
  • 收藏备用!Java程序员转AI大模型:从技术沉淀到AI爆发的进阶之路
  • Python 爬虫实战:Session 会话维持爬取需登录内容
  • 基于移相全桥变换器的电池充电仿真模型,采用电压电流双闭环PI控制。 电池先经历CC模式而后进入...
  • 基于COMSOL模拟的水力压裂技术研究:固体力学与达西定理的应用
  • Redis 性能调优(二)
  • Doris 性能调优实践指南(可直接落地)
  • presum|二分try+滑窗cnt
  • Web自动化测试:Unittest单元测试框架