diff --git a/README.md b/README.md index 6004fd3..74d0ee9 100644 --- a/README.md +++ b/README.md @@ -347,6 +347,15 @@ Nexys4DDR 右上角那个 **USB HOST** 口不是给 FPGA 直连的 USB:板上 进 `saolei/sw/isr.c`。不想要 PS/2 就把顶层参数 `USE_PS2_MOUSE` 设为 0(只剩板载 5 向按键);PS/2 接收器的帧格式/校验有专门的几秒钟自测(见下文“回归测试”)。 +两条**上板实测**出来的方向约定(都值得写进报告): + +- **鼠标的 dy 要取负**:PS/2 的原生约定是「正 dx = 右、**正 dy = 鼠标上移**」, + 而软件里「正 dx = 列 +1、**正 dy = 行 +1(向下)**」(板载按键 BTND 就是 +8), + 所以 `cpu21_ps2_mouse.v` 在拼包时把 dy 取负、dx 不动。不定这个负号的表现就是 + **左右正常、上下反向** —— 不是解码错。 +- **键鼠静止时一个字节都不发**,所以“插上不动没反应”是正常的,必须一边按键/ + 移鼠标一边看 LED。 + ### 时钟:分频比怎么选(`CLK_DIV` / `CLK_DIV_INTRUPT`) 乘除法原本是 ALU 里的组合运算(`a*b`、`a%b`),实测关键路径约 94 ns(325 级逻辑、