darshankumar
Newbie level 6
hi.i am doing project aes algorithm using bram.can any one help me
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
accessing a BRM is really fundamental. Provide an address and get a dword.
Was there anything a bit more specific?
module sbox_rom1(add, clk, reset, data_out);
input [10:0] add;
input clk;
input reset;
output reg [7:0] data_out;
reg [7:0]sbox_rom[0:255];
always@(posedge clk or negedge reset)
begin
if(add[10] == 0)
begin
sbox_rom[0] = 8'h 63;
sbox_rom[1] = 8'h 7C;
sbox_rom[2] = 8'h77;
sbox_rom[3] = 8'h7B;
sbox_rom[4] = 8'hF2;
sbox_rom[5] = 8'h6B;
sbox_rom[6] = 8'h6F;
sbox_rom[7] = 8'hC5;
sbox_rom[8] = 8'h30;
sbox_rom[9] = 8'h1;
sbox_rom[10] = 8'h67;
sbox_rom[11] = 8'h2B;
sbox_rom[12] = 8'hFE;
sbox_rom[13] = 8'hD7;
sbox_rom[14] = 8'hAB;
sbox_rom[15] = 8'h76;
sbox_rom[16] = 8'hCA;
sbox_rom[17] = 8'h82;
sbox_rom[18] = 8'hC9;
sbox_rom[19] = 8'h7D;
sbox_rom[20] = 8'hFA;
sbox_rom[21] = 8'h59;
sbox_rom[22] = 8'h47;
sbox_rom[23] = 8'hF0;
sbox_rom[24] = 8'hAD;
sbox_rom[25] = 8'hD4;
sbox_rom[26] = 8'hA2;
sbox_rom[27] = 8'hAF;
sbox_rom[28] = 8'h9C;
sbox_rom[29] = 8'hA4;
sbox_rom[30] = 8'h72;
sbox_rom[31] = 8'hC0;
sbox_rom[32] = 8'hB7;
sbox_rom[33] = 8'hFD;
sbox_rom[34] = 8'h93;
sbox_rom[35] = 8'h26;
sbox_rom[36] = 8'h36;
sbox_rom[37] = 8'h3F;
sbox_rom[38] = 8'hF7;
sbox_rom[39] = 8'hCC;
sbox_rom[40] = 8'h34;
sbox_rom[41] = 8'hA5;
sbox_rom[42] = 8'hE5;
sbox_rom[43] = 8'hF1;
sbox_rom[44] = 8'h71;
sbox_rom[45] = 8'hD8;
sbox_rom[46] = 8'h31;
sbox_rom[47] = 8'h15;
sbox_rom[48] = 8'h4;
sbox_rom[49] = 8'hC7;
sbox_rom[50] = 8'h23;
sbox_rom[51] = 8'hC3;
sbox_rom[52] = 8'h18;
sbox_rom[53] = 8'h96;
sbox_rom[54] = 8'h5;
sbox_rom[55] = 8'h9A;
sbox_rom[56] = 8'h7;
sbox_rom[57] = 8'h12;
sbox_rom[58] = 8'h80;
sbox_rom[59] = 8'hE2;
sbox_rom[60] = 8'hEB;
sbox_rom[61] = 8'h27;
sbox_rom[62] = 8'hB2;
sbox_rom[63] = 8'h75;
sbox_rom[64] = 8'h9;
sbox_rom[65] = 8'h83;
sbox_rom[66] = 8'h2C;
sbox_rom[67] = 8'h1A;
sbox_rom[68] = 8'h1B;
sbox_rom[69] = 8'h6E;
sbox_rom[70] = 8'h5A;
sbox_rom[71] = 8'hA0;
sbox_rom[72] = 8'h52;
sbox_rom[73] = 8'h3B;
sbox_rom[74] = 8'hD6;
sbox_rom[75] = 8'hB3;
sbox_rom[76] = 8'h29;
sbox_rom[77] = 8'hE3;
sbox_rom[78] = 8'h2F;
sbox_rom[79] = 8'h84;
sbox_rom[80] = 8'h53;
sbox_rom[81] = 8'hD1;
sbox_rom[82] = 8'h0;
sbox_rom[83] = 8'hED;
sbox_rom[84] = 8'h20;
sbox_rom[85] = 8'hFC;
sbox_rom[86] = 8'hB1;
sbox_rom[87] = 8'h5B;
sbox_rom[88] = 8'h6A;
sbox_rom[89] = 8'hCB;
sbox_rom[90] = 8'hBE;
sbox_rom[91] = 8'h39;
sbox_rom[92] = 8'h4A;
sbox_rom[93] = 8'h4C;
sbox_rom[94] = 8'h58;
sbox_rom[95] = 8'hCF;
sbox_rom[96] = 8'hD0;
sbox_rom[97] = 8'hEF;
sbox_rom[98] = 8'hAA;
sbox_rom[99] = 8'hFB;
sbox_rom[100] = 8'h43;
sbox_rom[101] = 8'h4D;
sbox_rom[102] = 8'h33;
sbox_rom[103] = 8'h85;
sbox_rom[104] = 8'h45;
sbox_rom[105] = 8'hF9;
sbox_rom[106] = 8'h2;
sbox_rom[107] = 8'h7F;
sbox_rom[108] = 8'h50;
sbox_rom[109] = 8'h3C;
sbox_rom[110] = 8'h9F;
sbox_rom[111] = 8'hA8;
sbox_rom[112] = 8'h51;
sbox_rom[113] = 8'hA3;
sbox_rom[114] = 8'h40;
sbox_rom[115] = 8'h8F;
sbox_rom[116] = 8'h92;
sbox_rom[117] = 8'h9D;
sbox_rom[118] = 8'h38;
sbox_rom[119] = 8'hF5;
sbox_rom[120] = 8'hBC;
sbox_rom[121] = 8'hB6;
sbox_rom[122] = 8'hDA;
sbox_rom[123] = 8'h21;
sbox_rom[124] = 8'h10;
sbox_rom[125] = 8'hFF;
sbox_rom[126] = 8'hF3;
sbox_rom[127] = 8'hD2;
sbox_rom[128] = 8'hCD;
sbox_rom[129] = 8'hC;
sbox_rom[130] = 8'h13;
sbox_rom[131] = 8'hEC;
sbox_rom[132] = 8'h5F;
sbox_rom[133] = 8'h97;
sbox_rom[134] = 8'h44;
sbox_rom[135] = 8'h17;
sbox_rom[136] = 8'hC4;
sbox_rom[137] = 8'hA7;
sbox_rom[138] = 8'h7E;
sbox_rom[139] = 8'h3D;
sbox_rom[140] = 8'h64;
sbox_rom[141] = 8'h5D;
sbox_rom[142] = 8'h19;
sbox_rom[143] = 8'h73;
sbox_rom[144] = 8'h60;
sbox_rom[145] = 8'h81;
sbox_rom[146] = 8'h4F;
sbox_rom[147] = 8'hDC;
sbox_rom[148] = 8'h22;
sbox_rom[149] = 8'h2A;
sbox_rom[150] = 8'h90;
sbox_rom[151] = 8'h88;
sbox_rom[152] = 8'h46;
sbox_rom[153] = 8'hEE;
sbox_rom[154] = 8'hB8;
sbox_rom[155] = 8'h14;
sbox_rom[156] = 8'hDE;
sbox_rom[157] = 8'h5E;
sbox_rom[158] = 8'hB;
sbox_rom[159] = 8'hDB;
sbox_rom[160] = 8'hE0;
sbox_rom[161] = 8'h32;
sbox_rom[162] = 8'h3A;
sbox_rom[163] = 8'hA;
sbox_rom[164] = 8'h49;
sbox_rom[165] = 8'h6;
sbox_rom[166] = 8'h24;
sbox_rom[167] = 8'h5C;
sbox_rom[168] = 8'hC2;
sbox_rom[169] = 8'hD3;
sbox_rom[170] = 8'hAC;
sbox_rom[171] = 8'h62;
sbox_rom[172] = 8'h91;
sbox_rom[173] = 8'h95;
sbox_rom[174] = 8'hE4;
sbox_rom[175] = 8'h79;
sbox_rom[176] = 8'hE7;
sbox_rom[177] = 8'hC8;
sbox_rom[178] = 8'h37;
sbox_rom[179] = 8'h6D;
sbox_rom[180] = 8'h8D;
sbox_rom[181] = 8'hD5;
sbox_rom[182] = 8'h4E;
sbox_rom[183] = 8'hA9;
sbox_rom[184] = 8'h6C;
sbox_rom[185] = 8'h56;
sbox_rom[186] = 8'hF4;
sbox_rom[187] = 8'hEA;
sbox_rom[188] = 8'h65;
sbox_rom[189] = 8'h7A;
sbox_rom[190] = 8'hAE;
sbox_rom[191] = 8'h8;
sbox_rom[192] = 8'hBA;
sbox_rom[193] = 8'h78;
sbox_rom[194] = 8'h25;
sbox_rom[195] = 8'h2E;
sbox_rom[196] = 8'h1C;
sbox_rom[197] = 8'hA6;
sbox_rom[198] = 8'hB4;
sbox_rom[199] = 8'hC6;
sbox_rom[200] = 8'hE8;
sbox_rom[201] = 8'hDD;
sbox_rom[202] = 8'h74;
sbox_rom[203] = 8'h1F;
sbox_rom[204] = 8'h4B;
sbox_rom[205] = 8'hBD;
sbox_rom[206] = 8'h8B;
sbox_rom[207] = 8'h8A;
sbox_rom[208] = 8'h70;
sbox_rom[209] = 8'h3E;
sbox_rom[210] = 8'hB5;
sbox_rom[211] = 8'h66;
sbox_rom[212] = 8'h48;
sbox_rom[213] = 8'h3;
sbox_rom[214] = 8'hF6;
sbox_rom[215] = 8'hE;
sbox_rom[216] = 8'h61;
sbox_rom[217] = 8'h35;
sbox_rom[218] = 8'h57;
sbox_rom[219] = 8'hB9;
sbox_rom[220] = 8'h86;
sbox_rom[221] = 8'hC1;
sbox_rom[222] = 8'h1D;
sbox_rom[223] = 8'h9E;
sbox_rom[224] = 8'hE1;
sbox_rom[225] = 8'hF8;
sbox_rom[226] = 8'h98;
sbox_rom[227] = 8'h11;
sbox_rom[228] = 8'h69;
sbox_rom[229] = 8'hD9;
sbox_rom[230] = 8'h8E;
sbox_rom[231] = 8'h94;
sbox_rom[232] = 8'h9B;
sbox_rom[233] = 8'h1E;
sbox_rom[234] = 8'h87;
sbox_rom[235] = 8'hE9;
sbox_rom[236] = 8'hCE;
sbox_rom[237] = 8'h55;
sbox_rom[238] = 8'h28;
sbox_rom[239] = 8'hDF;
sbox_rom[240] = 8'h8C;
sbox_rom[241] = 8'hA1;
sbox_rom[242] = 8'h89;
sbox_rom[243] = 8'hD;
sbox_rom[244] = 8'hBF;
sbox_rom[245] = 8'hE6;
sbox_rom[246] = 8'h42;
sbox_rom[247] = 8'h68;
sbox_rom[248] = 8'h41;
sbox_rom[249] = 8'h99;
sbox_rom[250] = 8'h2D;
sbox_rom[251] = 8'hF;
sbox_rom[252] = 8'hB0;
sbox_rom[253] = 8'h54;
sbox_rom[254] = 8'hBB;
sbox_rom[255] = 8'h16;
end
else if(add[10] == 1)
begin
assign data_out = sbox_rom[add];
end
else
assign data_out = 8'hZZ;
end
endmodule