📄 const_muls.v
字号:
//| c2 | | a2 a1+a7 a0+a6 a5+a7 a4+a6 a3+a5+a7 a2+a4+a6+a7 a1+a3+a5+a6 | | 1 |//| c3 | = | a3 a2+a7 a1+a6+a7 a0+a5+a6 a4+a5+a7 a3+a4+a6+a7 a2+a3+a5+a6 a1+a2+a4+a5 | * | 0 |//| c4 | | a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 a2+a3+a4 a1+a2+a3+a7 | | 0 |//| c5 | | a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 a2+a3+a4 | | 0 |//| c6 | | a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 | | 0 |//| c7 | | a7 a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 | | 0 |// // c0 = a6 // c1 = a7 // c2 = a0+a6 // c3 = a1+a6+a7 // c4 = a2+a6+a7 // c5 = a3+a7 // c6 = a4 // c7 = a5 assign p[0] = a[6]; assign p[1] = a[7]; assign p[2] = a[0] ^ a[6]; assign p[3] = a[1] ^ a[6] ^ a[7]; assign p[4] = a[2] ^ a[6] ^ a[7]; assign p[5] = a[3] ^ a[7]; assign p[6] = a[4]; assign p[7] = a[5]; assign b = ( sel == 1'b1 ) ? 8'h0 : p ; endmodule //const_mul_w2//////////////////////////////////////////////////////////////////////////////////////////////////////////////module const_mul_w3 ( a , b , sel ); input [7:0] a; input sel; output [7:0] b; wire [7:0] p; //define the production matrix // 76543210 //w^3 = 00001000 // //| c0 | | a0 a7 a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 | | 0 |//| c1 | | a1 a0 a7 a6 a5 a4 a3+a7 a2+a6+a7 | | 0 |//| c2 | | a2 a1+a7 a0+a6 a5+a7 a4+a6 a3+a5+a7 a2+a4+a6+a7 a1+a3+a5+a6 | | 0 |//| c3 | = | a3 a2+a7 a1+a6+a7 a0+a5+a6 a4+a5+a7 a3+a4+a6+a7 a2+a3+a5+a6 a1+a2+a4+a5 | * | 1 |//| c4 | | a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 a2+a3+a4 a1+a2+a3+a7 | | 0 |//| c5 | | a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 a2+a3+a4 | | 0 |//| c6 | | a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 | | 0 |//| c7 | | a7 a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 | | 0 |// // c0 = a5 // c1 = a6 // c2 = a5+a7 // c3 = a0+a5+a6 // c4 = a1+a5+a6+a7 // c5 = a2+a6+a7 // c6 = a3+a7 // c7 = a4 assign p[0] = a[5]; assign p[1] = a[6]; assign p[2] = a[5] ^ a[7]; assign p[3] = a[0] ^ a[5] ^ a[6]; assign p[4] = a[1] ^ a[5] ^ a[6] ^ a[7]; assign p[5] = a[2] ^ a[6] ^ a[7]; assign p[6] = a[3] ^ a[7]; assign p[7] = a[4]; assign b = ( sel == 1'b1 ) ? 8'h0 : p ; endmodule //const_mul_w3 //////////////////////////////////////////////////////////////////////////////////////////////////////////////module const_mul_w4 ( a , b , sel ); input [7:0] a; input sel; output [7:0] b; wire [7:0] p; //define the production matrix // 76543210 //w^4 = 00010000 // //| c0 | | a0 a7 a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 | | 0 |//| c1 | | a1 a0 a7 a6 a5 a4 a3+a7 a2+a6+a7 | | 0 |//| c2 | | a2 a1+a7 a0+a6 a5+a7 a4+a6 a3+a5+a7 a2+a4+a6+a7 a1+a3+a5+a6 | | 0 |//| c3 | = | a3 a2+a7 a1+a6+a7 a0+a5+a6 a4+a5+a7 a3+a4+a6+a7 a2+a3+a5+a6 a1+a2+a4+a5 | * | 0 |//| c4 | | a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 a2+a3+a4 a1+a2+a3+a7 | | 1 |//| c5 | | a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 a2+a3+a4 | | 0 |//| c6 | | a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 a3+a4+a5 | | 0 |//| c7 | | a7 a6 a5 a4 a3+a7 a2+a6+a7 a1+a5+a6+a7 a0+a4+a5+a6 | | 0 |// // c0 = a4 // c1 = a5 // c2 = a4+a6 // c3 = a4+a5+a7 // c4 = a0+a4+a5+a6 // c5 = a1+a5+a6+a7 // c6 = a2+a6+a7 // c7 = a3+a7 assign p[0] = a[4]; assign p[1] = a[5]; assign p[2] = a[4] ^ a[6]; assign p[3] = a[4] ^ a[5] ^ a[7]; assign p[4] = a[0] ^ a[4] ^ a[5] ^ a[6]; assign p[5] = a[1] ^ a[5] ^ a[6] ^ a[7]; assign p[6] = a[2] ^ a[6] ^ a[7]; assign p[7] = a[3] ^ a[7]; assign b = ( sel == 1'b1 ) ? 8'h0 : p ; endmodule //const_mul_w4 //////////////////////////////////////////////////////////////////////////////////////////////////////////////module const_mul_w5 ( a , b , sel ); input [7:0] a; input sel; output [7:0] b; wire [7:0] p; //define the production matrix // 76543210 //w^5 = 00100000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -