news 2026/6/15 20:44:43

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机系统要素:测试文件解读
// 加载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 位分组显示
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 2:10:40

软件安全之CRC检测

CRC介绍 在玩某些游戏,例如fps类游戏时,你想要修改某些特定的数值实现一些功能,这时你很有可能会被查封账号甚至禁封机器码。因为你更改了游戏中的数据,从而导致接收方收到”错误的数据“。为尽量提高接收方收到数据的正确率&…

作者头像 李华
网站建设 2026/6/15 15:54:53

规则引擎如何选型

一文讲清业内主流规则引擎:对比、选型与踩坑经验在风控、营销、审批、定价、权限控制等系统中,规则引擎几乎是绕不开的基础能力。但现实情况是:有的团队一上来就引入 Drools,最后发现复杂度远超收益;有的团队用 Groovy…

作者头像 李华
网站建设 2026/6/15 13:51:23

解锁RK3568:OpenHarmony移植实战全攻略

引言 在当今数字化时代,芯片与操作系统作为硬件和软件的核心,其重要性不言而喻。RK3568 芯片作为一款备受瞩目的处理器,以其强大的性能和丰富的功能,在智能安防、工业控制、物联网等众多领域得到了广泛应用。而 OpenHarmony 作为一款开源、面向全场景的分布式操作系统,具有…

作者头像 李华
网站建设 2026/6/15 4:20:36

Node.js 编程实战:数据库连接池与性能优化

在 Node.js 后端开发中,数据库性能往往决定了整个系统的吞吐能力和稳定性。很多性能问题并不来自业务逻辑本身,而是由于数据库连接管理不当造成的。合理使用数据库连接池,并结合针对性的优化策略,是构建高性能 Node.js 应用的关键…

作者头像 李华
网站建设 2026/6/15 13:16:06

【回顾React的一些小细节】render里不可包含的东西

在 React 的 render()(或函数组件的渲染路径)中 不应包含副作用(Side effects): 如网络请求、订阅、定时器、I/O、路由跳转等。 为什么:render 应是纯函数,副作用会在每次渲染重复执行或引发循环。替代&…

作者头像 李华
网站建设 2026/6/15 11:08:46

文生中英双语的AI视频工具怎么选?一个英语老师的实测结论

如果你是英语老师,正在找文生中英双语的AI视频工具,那我几乎可以确定—— 你遇到的问题,和我一模一样。不是不会讲英语,也不是不会设计内容,而是:双语视频根本做不完。在我正式给结论之前,先把最…

作者头像 李华