雷达 · 通信 · 电子战 / 基础精学 200
多比特符号码将一组比特视为有限域元素。普通整数运算不满足所需域结构;多项式基提供明确、可综合且易穷举验证的实现方式。
采用模多项式 m(x)=x3+x+1,元素整数编码的低位对应常数项,所有系数属于 GF(2)。
a(x),b(x):三位域元素(多项式)
m(x):约简模(多项式)
α:x的剩余类(域元素)
:系数异或(操作)
ab:域乘积(域元素)
元素写成
加法逐系数异或:
编码三位不代表整数剩余类环。
先形成
模关系给出
将高次项用上述式子替换即可得到次数低于三的唯一余式。
三次二元多项式无一次因子即不可约,而
因此商环是域。乘 α 的位运算形式为
逐位移位累加重复三次即可完成任意乘法。
以 x3+x+1 构造八元域,约简关系为 x3=x+1。码值二和四分别表示多项式 x 和 x2,它们的域乘积为
普通整数乘法再模八则得到零,显然不是同一种运算。
域加法对应系数异或,因此
对所有域元素成立。位移只在多项式基解释下代表乘以 x,最高次项越界时必须反馈不可约多项式的低次部分。
改用另一个基或另一个不可约多项式后,同一整数标签的乘法表可能改变。
约简相当于在固定三位表示中折回高次多项式项,不是整数进位。非零元素构成可逆乘法集合,为符号级插值和编码提供除法基础。
穷举八乘八的乘法表,用移位约简和显式多项式卷积两种算法交叉检查;再穷举分配律及乘法单位元,并绘制表及原始元素的幂序列。
| 量 | 数值 |
|---|---|
| multiplication pairs | 64 |
| independent algorithm errors | 0 |
| distributive triples | 512 |
| distributive errors | 0 |
| nonzero power period | 7 |
| alpha power7 | 1 |
| modulus binary integer | 11 |
图 1 GF八元域乘法表与原始元素幂周期
表中数值和图中曲线由 MATLAB 实际运行得到,随机种子为 20261119;运行版本与完整结果另存为独立文件。
RTL 使用 a[2:0]、b[2:0],三轮固定展开移位异或实现乘法;约简反馈掩码为二进制 011,输出低三位域乘积。 模块采用同步高有效复位及 valid 握手;
有效输入在一个时钟沿登记输出,空拍不改变数据寄存器而清除输出有效标志。端口采用有符号 32 位容器,实际有效范围按子核定义约束。自检覆盖多组有效输入、空拍保持及复位;
它验证指定算术或地址子核,不代表完整通信系统或完整译码器已经完成硬件验证。
独立自检程序已在 Icarus Verilog 13.0 中实际运行并通过。该结果不包含器件综合、静态时序分析或板级测试。
适用于小型符号编码器、有限域查表校验和可参数化算术设计的基础模型。换用不同模多项式会改变位表示,应在接口协议中固定。
普通整数乘法模八不是域乘法。
不同基或模多项式的编码不能直接混用。
元素位序错误会改变所有乘积。
三位模型只用于基础验证,不代表任意位宽实现。
多项式乘积模不可约多项式给出 GF(8) 乘法。逐位移位约简和独立卷积算法可在全部输入空间内互相复验。
内容依据:每日精学第 200 课《GF八元域的多项式基乘法》。图表沿用原课固定参数数值结果,属于数值验证,不代表设备实测。