Lab 4: Sequential Design: Difference between revisions

From Center for Integrated Circuits and Devices Research (CIDR)
Jump to navigation Jump to search
No edit summary
No edit summary
 
Line 2: Line 2:




* Using the keygen design from Lab 2, we will re-synthesize it using the sky130nm following the procedure in Lab 3.
* Using the keygen design from Lab 2, we will re-synthesize it using the sky130nm following the procedure in Lab 3. Since the design is purely combinational (therefore no CLK requirements), and we just want to check for synthesizability of the code, you can retain only the following lines in your config file (the rest can be removed):
    "DESIGN_NAME":
    "VERILOG_FILES":
    "FP_PDN_VOFFSET":
    "FP_PDN_HOFFSET":
    "FP_PDN_SKIPTRIM":
    "FP_CORE_UTIL":
Note that you will need to specify the correct design name and verilog files to be used. For the core utilization, increase it to 0.7.  
* Design the whole system, using our keygen, LiCi round and counter. You might also need a control block to facilitate the flow of signals. Note also that the S-box for the keygen is different from the S-box of the LiCi round.
* Design the whole system, using our keygen, LiCi round and counter. You might also need a control block to facilitate the flow of signals. Note also that the S-box for the keygen is different from the S-box of the LiCi round.
* Synthesize the design with and without constraints
* Simulate your design and see that it is working as intended using behavioural simualtion
* Synthesize the design this time, updating your config file for a 50MHz clock, and setting input pins to the top and left side while placing output pins on the right side.


You are to submit the following:
You are to submit the following:
Line 15: Line 23:
* Discussion and analysis  
* Discussion and analysis  


2. Your verilog codes of your design and testbenches. Include a text file describing each file.
Also include a discussion of your constraints in your report. Check the openlane documentation and determine the default values for clock uncertainty and other relevant timing parameters. How will changing these values affect your design and its performance?
 
2. Your verilog codes of your design and testbenches and a text file containing your config for the constraints. Include a text file describing each file.


3. Relevant reports from tool to support your characterization in the report
3. Relevant reports from tool to support your characterization in the report

Latest revision as of 08:41, 14 May 2024

In this exercise, we will complete our design of the LiCi encryption. Below are the general steps we will be following:


  • Using the keygen design from Lab 2, we will re-synthesize it using the sky130nm following the procedure in Lab 3. Since the design is purely combinational (therefore no CLK requirements), and we just want to check for synthesizability of the code, you can retain only the following lines in your config file (the rest can be removed):
   "DESIGN_NAME": 
   "VERILOG_FILES": 
   "FP_PDN_VOFFSET": 
   "FP_PDN_HOFFSET": 
   "FP_PDN_SKIPTRIM": 
   "FP_CORE_UTIL": 

Note that you will need to specify the correct design name and verilog files to be used. For the core utilization, increase it to 0.7.

  • Design the whole system, using our keygen, LiCi round and counter. You might also need a control block to facilitate the flow of signals. Note also that the S-box for the keygen is different from the S-box of the LiCi round.
  • Simulate your design and see that it is working as intended using behavioural simualtion
  • Synthesize the design this time, updating your config file for a 50MHz clock, and setting input pins to the top and left side while placing output pins on the right side.

You are to submit the following:

1. A report containing the following:

  • The characterization of the re-synthesized keygen
  • Block diagram of the whole system
  • The characterization of the whole system
  • Discussion and analysis

Also include a discussion of your constraints in your report. Check the openlane documentation and determine the default values for clock uncertainty and other relevant timing parameters. How will changing these values affect your design and its performance?

2. Your verilog codes of your design and testbenches and a text file containing your config for the constraints. Include a text file describing each file.

3. Relevant reports from tool to support your characterization in the report


Back to Modern_VLSI_Design_(February_2024)