ROM(只读存储器)
本地实验舱 固定容量的 256 × 8 ROM(只读存储器) 可作为异步、三态的程序存储器或查找表存储器使用。CS 和 OE(输出使能) 为低电平有效,电路没有运行时写入接口。
概述
本地实验舱 ROM是一个固定的256字节×8位异步只读存储器。其内容通过内置的ROM汇编编辑器编写。
本地实验舱 的确切实现
| 引脚 | 作用 |
|---|---|
| A0–A7 | 地址 0x00–0xFF;A0为最低有效位(LSB)。 |
| CS, OE | 两者均为低电平有效。 |
| Q0–Q7 | 指定地址的字节或高阻态;Q0为最低有效位(LSB)。 |
逻辑与时序
- 当CS = 0且OE = 0时,Q0–Q7立即反映指定地址的字节。
- 任一控制信号为HIGH(高电平)时,所有输出均处于高阻态。
- ROM没有时钟、写使能或数据输入引脚。
检查器窗口
- 打开紧凑的ROM元件视图,即可启动可拖动的ROM汇编编辑器。
- “编辑器”“内存映射”和“二进制”选项卡显示源代码、生成的字节、译码后的操作、地址、标签和源代码行。
- 工具栏用于导入、导出和清除源代码,以及加载示例程序。“汇编”会验证源代码;“写入ROM”会应用成功生成的映像。
- 如果汇编报告任何错误,原有ROM内容会保持不变,不会写入不完整的程序。
汇编语言
- 每条CPU(中央处理器)指令占一个字节:
[operand:4][opcode:4]。 - 数值可以采用十进制、带
0x/$前缀的十六进制或带0b前缀的二进制。;用于开始注释;label:用于定义标签。 ORG用于移动8位ROM写入地址(0x00–0xFF)。DB写入一个原始字节(0x00–0xFF)。RET已弃用,会汇编为JMP 0。HLT与HALT互为别名。
运行时参考
| 端子 | 方向 |
|---|---|
A0 |
输入 |
A1 |
输入 |
A2 |
输入 |
A3 |
输入 |
A4 |
输入 |
A5 |
输入 |
A6 |
输入 |
A7 |
输入 |
CSbar |
输入 |
OEbar |
输入 |
Q0 |
输出 |
Q1 |
输出 |
Q2 |
输出 |
Q3 |
输出 |
Q4 |
输出 |
Q5 |
输出 |
Q6 |
输出 |
Q7 |
输出 |
新放置元件的输出初始状态按上方输出端子顺序排列为:00000000。四态符号为 0、1、X(主动驱动的未知态)和 Z(高阻态)。默认传播延迟:3 ns(仿真时间)。
学习路径
常见问题
什么是 ROM?
CS=0 且 OE=0 时,Q0–Q7 异步输出 A0–A7 选中的字节。任一控制信号为 HIGH 时,所有输出均为 Z;该元件没有数据、时钟或写使能输入。
ROM 与 RAM(随机存取存储器) 有何区别?
ROM 内容在使用前通过集成的 ROM 汇编编辑器编写;执行过程中,电路信号无法将其改写。RAM 则通过 D0–D7、CS、WE 和 CLK(时钟) 接受时钟同步写入。