⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 key_sel.v.txt

📁 DES 加密算法的VHDL和VERILOG 源程序及其TESTBENCH。
💻 TXT
📖 第 1 页 / 共 2 页
字号:
/////////////////////////////////////////////////////////////////////////                                                             ////////  KEY_SEL                                                    ////////  Select one of 16 sub-keys for round                        ////////                                                             ////////  Author: Rudolf Usselmann                                   ////////          russelmann@hotmail.com                             ////////                                                             /////////////////////////////////////////////////////////////////////////////                                                             //////// Copyright (C) 2000 Rudolf Usselmann                         ////////                    russelmann@hotmail.com                   ////////                                                             //////// This source file may be used and distributed without        //////// restriction provided that this copyright statement is not   //////// removed from the file and that any derivative work contains //////// the original copyright notice and the associated disclaimer.////////                                                             ////////     THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY     //////// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED   //////// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS   //////// FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL THE AUTHOR      //////// OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,         //////// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES    //////// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE   //////// GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR        //////// BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF  //////// LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT  //////// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT  //////// OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE         //////// POSSIBILITY OF SUCH DAMAGE.                                 ////////                                                             /////////////////////////////////////////////////////////////////////////module  key_sel(K_sub, K, roundSel);output	[1:48]	K_sub;input	[55:0]	K;input	[3:0]	roundSel;reg  [1:48]	K_sub;wire [1:48]	K1, K2, K3, K4, K5, K6, K7, K8, K9;wire [1:48]	K10, K11, K12, K13, K14, K15, K16;always @(K1 or K2 or K3 or K4 or K5 or K6 or K7 or K8 or K9 or K10              or K11 or K12 or K13 or K14 or K15 or K16 or roundSel)	case (roundSel)		// synopsys full_case parallel_case            0:  K_sub = K1;            1:  K_sub = K2;            2:  K_sub = K3;            3:  K_sub = K4;            4:  K_sub = K5;            5:  K_sub = K6;            6:  K_sub = K7;            7:  K_sub = K8;            8:  K_sub = K9;            9:  K_sub = K10;            10: K_sub = K11;            11: K_sub = K12;            12: K_sub = K13;            13: K_sub = K14;            14: K_sub = K15;            15: K_sub = K16;	endcaseassign K1[1] = K[47];assign K1[2] = K[11];assign K1[3] = K[26];assign K1[4] = K[3];assign K1[5] = K[13];assign K1[6] = K[41];assign K1[7] = K[27];assign K1[8] = K[6];assign K1[9] = K[54];assign K1[10] = K[48];assign K1[11] = K[39];assign K1[12] = K[19];assign K1[13] = K[53];assign K1[14] = K[25];assign K1[15] = K[33];assign K1[16] = K[34];assign K1[17] = K[17];assign K1[18] = K[5];assign K1[19] = K[4];assign K1[20] = K[55];assign K1[21] = K[24];assign K1[22] = K[32];assign K1[23] = K[40];assign K1[24] = K[20];assign K1[25] = K[36];assign K1[26] = K[31];assign K1[27] = K[21];assign K1[28] = K[8];assign K1[29] = K[23];assign K1[30] = K[52];assign K1[31] = K[14];assign K1[32] = K[29];assign K1[33] = K[51];assign K1[34] = K[9];assign K1[35] = K[35];assign K1[36] = K[30];assign K1[37] = K[2];assign K1[38] = K[37];assign K1[39] = K[22];assign K1[40] = K[0];assign K1[41] = K[42];assign K1[42] = K[38];assign K1[43] = K[16];assign K1[44] = K[43];assign K1[45] = K[44];assign K1[46] = K[1];assign K1[47] = K[7];assign K1[48] = K[28];assign K2[1] = K[54];assign K2[2] = K[18];assign K2[3] = K[33];assign K2[4] = K[10];assign K2[5] = K[20];assign K2[6] = K[48];assign K2[7] = K[34];assign K2[8] = K[13];assign K2[9] = K[4];assign K2[10] = K[55];assign K2[11] = K[46];assign K2[12] = K[26];assign K2[13] = K[3];assign K2[14] = K[32];assign K2[15] = K[40];assign K2[16] = K[41];assign K2[17] = K[24];assign K2[18] = K[12];assign K2[19] = K[11];assign K2[20] = K[5];assign K2[21] = K[6];assign K2[22] = K[39];assign K2[23] = K[47];assign K2[24] = K[27];assign K2[25] = K[43];assign K2[26] = K[38];assign K2[27] = K[28];assign K2[28] = K[15];assign K2[29] = K[30];assign K2[30] = K[0];assign K2[31] = K[21];assign K2[32] = K[36];assign K2[33] = K[31];assign K2[34] = K[16];assign K2[35] = K[42];assign K2[36] = K[37];assign K2[37] = K[9];assign K2[38] = K[44];assign K2[39] = K[29];assign K2[40] = K[7];assign K2[41] = K[49];assign K2[42] = K[45];assign K2[43] = K[23];assign K2[44] = K[50];assign K2[45] = K[51];assign K2[46] = K[8];assign K2[47] = K[14];assign K2[48] = K[35];assign K3[1] = K[11];assign K3[2] = K[32];assign K3[3] = K[47];assign K3[4] = K[24];assign K3[5] = K[34];assign K3[6] = K[5];assign K3[7] = K[48];assign K3[8] = K[27];assign K3[9] = K[18];assign K3[10] = K[12];assign K3[11] = K[3];assign K3[12] = K[40];assign K3[13] = K[17];assign K3[14] = K[46];assign K3[15] = K[54];assign K3[16] = K[55];assign K3[17] = K[13];assign K3[18] = K[26];assign K3[19] = K[25];assign K3[20] = K[19];assign K3[21] = K[20];assign K3[22] = K[53];assign K3[23] = K[4];assign K3[24] = K[41];assign K3[25] = K[2];assign K3[26] = K[52];assign K3[27] = K[42];assign K3[28] = K[29];assign K3[29] = K[44];assign K3[30] = K[14];assign K3[31] = K[35];assign K3[32] = K[50];assign K3[33] = K[45];assign K3[34] = K[30];assign K3[35] = K[1];assign K3[36] = K[51];assign K3[37] = K[23];assign K3[38] = K[31];assign K3[39] = K[43];assign K3[40] = K[21];assign K3[41] = K[8];assign K3[42] = K[0];assign K3[43] = K[37];assign K3[44] = K[9];assign K3[45] = K[38];assign K3[46] = K[22];assign K3[47] = K[28];assign K3[48] = K[49];assign K4[1] = K[25];assign K4[2] = K[46];assign K4[3] = K[4];assign K4[4] = K[13];assign K4[5] = K[48];assign K4[6] = K[19];assign K4[7] = K[5];assign K4[8] = K[41];assign K4[9] = K[32];assign K4[10] = K[26];assign K4[11] = K[17];assign K4[12] = K[54];assign K4[13] = K[6];assign K4[14] = K[3];assign K4[15] = K[11];assign K4[16] = K[12];assign K4[17] = K[27];assign K4[18] = K[40];assign K4[19] = K[39];assign K4[20] = K[33];assign K4[21] = K[34];assign K4[22] = K[10];assign K4[23] = K[18];assign K4[24] = K[55];assign K4[25] = K[16];assign K4[26] = K[7];assign K4[27] = K[1];assign K4[28] = K[43];assign K4[29] = K[31];assign K4[30] = K[28];assign K4[31] = K[49];assign K4[32] = K[9];assign K4[33] = K[0];assign K4[34] = K[44];assign K4[35] = K[15];assign K4[36] = K[38];assign K4[37] = K[37];assign K4[38] = K[45];assign K4[39] = K[2];assign K4[40] = K[35];assign K4[41] = K[22];assign K4[42] = K[14];assign K4[43] = K[51];assign K4[44] = K[23];assign K4[45] = K[52];assign K4[46] = K[36];assign K4[47] = K[42];assign K4[48] = K[8];assign K5[1] = K[39];assign K5[2] = K[3];assign K5[3] = K[18];assign K5[4] = K[27];assign K5[5] = K[5];assign K5[6] = K[33];assign K5[7] = K[19];assign K5[8] = K[55];assign K5[9] = K[46];assign K5[10] = K[40];assign K5[11] = K[6];assign K5[12] = K[11];assign K5[13] = K[20];assign K5[14] = K[17];assign K5[15] = K[25];assign K5[16] = K[26];assign K5[17] = K[41];assign K5[18] = K[54];assign K5[19] = K[53];assign K5[20] = K[47];assign K5[21] = K[48];assign K5[22] = K[24];assign K5[23] = K[32];assign K5[24] = K[12];assign K5[25] = K[30];assign K5[26] = K[21];assign K5[27] = K[15];assign K5[28] = K[2];assign K5[29] = K[45];assign K5[30] = K[42];assign K5[31] = K[8];assign K5[32] = K[23];assign K5[33] = K[14];assign K5[34] = K[31];assign K5[35] = K[29];assign K5[36] = K[52];assign K5[37] = K[51];assign K5[38] = K[0];assign K5[39] = K[16];assign K5[40] = K[49];assign K5[41] = K[36];assign K5[42] = K[28];assign K5[43] = K[38];assign K5[44] = K[37];assign K5[45] = K[7];assign K5[46] = K[50];assign K5[47] = K[1];assign K5[48] = K[22];assign K6[1] = K[53];assign K6[2] = K[17];assign K6[3] = K[32];assign K6[4] = K[41];assign K6[5] = K[19];assign K6[6] = K[47];assign K6[7] = K[33];assign K6[8] = K[12];assign K6[9] = K[3];assign K6[10] = K[54];assign K6[11] = K[20];assign K6[12] = K[25];assign K6[13] = K[34];assign K6[14] = K[6];assign K6[15] = K[39];assign K6[16] = K[40];assign K6[17] = K[55];assign K6[18] = K[11];assign K6[19] = K[10];assign K6[20] = K[4];assign K6[21] = K[5];assign K6[22] = K[13];assign K6[23] = K[46];assign K6[24] = K[26];assign K6[25] = K[44];assign K6[26] = K[35];assign K6[27] = K[29];assign K6[28] = K[16];assign K6[29] = K[0];assign K6[30] = K[1];assign K6[31] = K[22];assign K6[32] = K[37];assign K6[33] = K[28];assign K6[34] = K[45];assign K6[35] = K[43];assign K6[36] = K[7];assign K6[37] = K[38];assign K6[38] = K[14];assign K6[39] = K[30];assign K6[40] = K[8];assign K6[41] = K[50];assign K6[42] = K[42];assign K6[43] = K[52];assign K6[44] = K[51];assign K6[45] = K[21];assign K6[46] = K[9];assign K6[47] = K[15];assign K6[48] = K[36];assign K7[1] = K[10];assign K7[2] = K[6];assign K7[3] = K[46];assign K7[4] = K[55];assign K7[5] = K[33];assign K7[6] = K[4];assign K7[7] = K[47];assign K7[8] = K[26];assign K7[9] = K[17];assign K7[10] = K[11];assign K7[11] = K[34];assign K7[12] = K[39];assign K7[13] = K[48];assign K7[14] = K[20];assign K7[15] = K[53];assign K7[16] = K[54];assign K7[17] = K[12];assign K7[18] = K[25];assign K7[19] = K[24];assign K7[20] = K[18];assign K7[21] = K[19];assign K7[22] = K[27];assign K7[23] = K[3];assign K7[24] = K[40];assign K7[25] = K[31];assign K7[26] = K[49];assign K7[27] = K[43];assign K7[28] = K[30];assign K7[29] = K[14];assign K7[30] = K[15];assign K7[31] = K[36];assign K7[32] = K[51];assign K7[33] = K[42];assign K7[34] = K[0];assign K7[35] = K[2];assign K7[36] = K[21];assign K7[37] = K[52];assign K7[38] = K[28];assign K7[39] = K[44];assign K7[40] = K[22];assign K7[41] = K[9];assign K7[42] = K[1];assign K7[43] = K[7];assign K7[44] = K[38];assign K7[45] = K[35];assign K7[46] = K[23];assign K7[47] = K[29];assign K7[48] = K[50];assign K8[1] = K[24];assign K8[2] = K[20];assign K8[3] = K[3];assign K8[4] = K[12];assign K8[5] = K[47];assign K8[6] = K[18];assign K8[7] = K[4];assign K8[8] = K[40];assign K8[9] = K[6];assign K8[10] = K[25];assign K8[11] = K[48];assign K8[12] = K[53];assign K8[13] = K[5];assign K8[14] = K[34];assign K8[15] = K[10];assign K8[16] = K[11];assign K8[17] = K[26];assign K8[18] = K[39];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -