Files
eb001/doc/spec/物理层优化.md

65 lines
2.1 KiB
Markdown
Raw Normal View History

2026-07-28 17:28:49 +08:00
# 物理层优化
----------------------------
以下为用户区域
---------------------------
## 8b10b模块
* 停用4b5b特性
- 删除选择寄存器器 h4c寄存器不再有效
- 8b10b编码解码模块改为cdrout cdrin中例化
2026-07-28 17:28:49 +08:00
* 增加部分控制码
- 所有控制码都有极性
- 控制码有对应原始码
- 额外增加一条控制线
- 控制线由发送状态机控制
- 解码不需要极性控制
* 增加6个控制码
- 同时将`in(4,0)b11100".U``isCtrl`时映射为 `"b001111".U(6.W), "b110000".U(6.W)`
- 3个必选 `in(7,5)`保持不变
val isK28_0 = Output(Bool()) //0x1c
val isK28_3 = Output(Bool()) //0x7c
val isK28_4 = Output(Bool()) //0x9c
- 3个备选使用宏定义控制 `in(7,5)`平衡但需要增加翻转
* val isK28_1 = Output(Bool()) //0x3c IS_ENABLE_K28_1
* val isK28_2 = Output(Bool()) //0x5c IS_ENABLE_K28_2
* val isK28_6 = Output(Bool()) //0xdc IS_ENABLE_K28_6
* PRE改为K28_0 //0x1C
* SDF改为K28_3 //0x7C
2026-07-28 17:28:49 +08:00
* CDR_OUT CDR_IN补充状态state_ctrl
* 编码的isCtrl在idle转preamblepreamble处最后一个state_ctrl有效
* CDR_OUT补充对外寄存器输入ctrlWord
* CDR_IN对齐直接看decoder的控制字组合
* CDR_IN的控制字由补充状态机STATE_CTRL过滤后输出
* PRE SDF的控制字在包末尾将允许重复使用
2026-07-28 17:28:49 +08:00
2026-07-30 14:51:22 +08:00
* 主站寄存器增加"h600"指向CDR_OUT的ctrlWord
2026-07-30 15:59:07 +08:00
* 从站SlaveParse层增加两个`ctrlWordRelay`寄存器,
- 下行relay只看下行输入的6个`isK`布尔信号直接转译8bit原始码
- 上行relay在`isProbeAck`跳变状态直接拷贝下行寄存器信息其它条件看上行输入的6个`isK`布尔信号直接转译8bit原始码
2026-07-30 14:51:22 +08:00
* 上下行清硬件错误的条件增加为**上**行接收到`isK28_0`
* 从站发生硬件错误时,软件先写`clr`寄存器预解锁其后上行方向接收到K28_0完成正式解锁
* 预解锁需要在K28_0之前两者在同一拍到达将只会产生预解锁效果
2026-07-28 17:28:49 +08:00
---------------------------------------
以下是大模型补充区域
---------------------------------------