Team W1 Design Manager: Rebecca Miller 1. Bobby Colyer (W11) 2. Jeffrey Kuo (W12) 3. Myron Kwai (W13) 4. Shirlene Lim (W14) Stage VIII: March 24 th 2004 CHIP LEVEL LAYOUT Presentation #8: Rijndael Encryption Overall Project Objective: Implement the new AES Rijndael algorithm on chip Integrated Circuit Design Project
Status Design Proposal (Done) Architecture Proposal (Done) Size Estimates/Floorplan (Done) Gate Level Design (Done) Schematic Design (Fixed) Input/Output Logic to SBOX Changed and Tested Top Level Schematic Verified – Pipeline Works! Layout Component Layout (Done—Continually Changing) Component Simulations Chip Level Layout – Global Routing (80% Done) To be Done SPICE simulation of chip Optimizations Everything else… Integrated Circuit Design Project
Status What needs to be done? Global Routing Everything is wired internally, needs to be globally connected Slow and Fast Clock Routing Select Line Routing Vdd and Gnd Routing Integrated Circuit Design Project
Top Level Schematic DFFs for Valid Out Add Round Key Clock Divider Round Permutations and Pipeline DFFs Key Expands and Pipeline DFFs Mux Tree In Mux Tree Out Mux Tree In Mux Tree Out Final Text Out Final Text DFFs Input DFFs Select Logic
Verilog Re-Verification Integrated Circuit Design Project reg [4:0] counterx; always #5 clk = ~clk; initial begin counterx = 0; end clk) begin counterx = counterx + 1; if (counterx == 21) begin counterx = 0; end end initial begin clk = 1'b1; rst = 1'b1; #10 rst = 1'b0; #10 rst valid_in); text_in1[31:0] = 32'h ; // Expected: 1B3E9EDF key1[31:0] = 32'hFB473859; vin = valid_in); key1[31:0] = 32'b ; text_in1[31:0] = 32'h08f273e6; // Expected: 2DF5C18E vin = valid_in); key1[31:0] = 32'h ; text_in1[31:0] = 32'h10174E72; // Expected: 87FE42E7 vin = valid_in); key1[31:0] = 32'h ; text_in1[31:0] = 32'h30C42168; // Expected: 0BD9AFAC vin = valid_in); key1[31:0] = 32'h2F764A41; text_in1[31:0] = 32'h ; // Expected: 43B28B72 vin = valid_in); key1[31:0] = 32'h ; text_in1[31:0] = 32'h91f0aca1; // Expected: c913f5ed vin = valid_in); key1[31:0] = 32'h851b64d9; text_in1[31:0] = 32'h ; // Expected: 30d0299b vin = valid_in); key1[31:0] = 32'hc ; text_in1[31:0] = 32'h ; // Expected: ec4b0b60 vin = valid_in); key1[31:0] = 32'hfff80000; text_in1[31:0] = 32'h ; // Expected: b3adb97e vin = valid_in); key1[31:0] = 32'h ; text_in1[31:0] = 32'h9b0cb284; // Expected: 69551ee1 vin = 1; #10000 $finish; end The Result of the Non-Resetting DFFs (Used to be junk values)
Updated Floorplan 350 um x 335 um Metal 3 Metal 2 Metal 1 Metal 4 SBOX and Control Logic Text DFFs and Add Round Key 5 th Round Key Expand Input to SBOX Logic & Select Output and Input Logic 4 Rounds of Key Expand 4 Rounds of Round Permutation Input/Output Logic CLK Divider Select & Input Logic SBOX and Control Logic Final Text Out Key DFFs and Input Logic
POLY AND ACTIVE
METAL 1
METAL 2
METAL 3
METAL 4
LVSed – Outer Area – ROM and Input Logic and Output DFFs 11,992 Transistors
LVSed – Inner Area – AES Key Expand 12,296 Transistors
Full Layout
Final Dimensions Total Area: 350 um x 335 um = sq. um Transistor Count: 25,296 transistors Transistor Density: Aspect Ratio: Estimated Clock Speed: 400MHz
Questions? Integrated Circuit Design Project