Can you please help me with this lab homework?
EE 201A ? Lab 1 Prof. Puneet Gupta page 1/3 UCLA EE 201A -- VLSI Design Automation -- Fall 2016
Lab 1: Using OpenAccess
TA: Vishesh Dokania
**** IMPORTANT **** Run your experiments and do your work on SEASnet server eeapps.seas.ucla.edu All your work should be done in /w/class/ee201a/YOUR_SEASNET_USERNAME
o DO NOT do the lab in your SEASnet home directory (~). There isn?t enough disk space.
o You are responsible for backing up your code & data. All necessary files can be found in /w/class/ee201a/ee201ota/material/lab1/ See last page for important submission instructions Due Date: Tuesday, October 11, 2016 at 10:00:00 P.M. Pacific Daylight Time (PDT)
Notes: You will find it useful to refer to the OA tutorial from class and the official OA documentation.
Do problem 1 first as you will need the OA database for problems 2 and 3. Please use the ?DesignLib?
as the OA database library?s name, as shown in the appendix.
Problems 2 and 3 are based on the provided lab1.cpp template. Please implement both in that C++ file
Please use Piazza for asking (and answering) questions before coming to office hours. However, you are
expected to work on the assignment alone, so do not provide solutions or compare results with your
peers. Problem 1 (1 point): Import design into OpenAccess database.
Import design information given in Verilog and DEF as well as library information given in LEF into *one* OA
database (DesignLib). In your report, please include a list of the commands you used.
Hint: see Appendix Problem 2 (3 points): Compute/plot the fan-out distribution of the design.
Write a small routine in C++, using the OA API and OA database, to compute the overall average fan-out in the
design. Include the average fan-out value and plot the fan-out distribution in your lab report. You may wish to use
MATLAB or a similar tool for generating the plot. In the report, please explain any assumptions you made and your
Note: fan-out = number of inputs driven by a gate?s output.
Hint: oaBlock->(oaIter)->oaNet->(oaInstTerm, oaTerm).
Problem 3 (6 points): Compute/plot the wire length distribution of the design.
Write a small routine in C++, using the OA API and OA database, to compute the half-perimeter wire length (HPWL)
of all nets with 2 ends in the design, across all metal layers. Include the average HPWL value and plot the HPWL
distribution in your lab report. You may wish to use MATLAB or a similar tool for generating the plot. In the report,
please explain any assumptions you made and your methodology. Hint: oaBlock->(oaIter)->oaNet->oaInstTerm->oaInst->(getOrigin)->oaPoint EE 201A ? Lab 1 Prof. Puneet Gupta page 2/3 APPENDIX
How to import a design into OA database:
You should follow a specific procedure for translating LEF/DEF/Verilog into OA. Here's a rough example from some
OA documentation (one LEF for in our case): The following list shows the steps for translating legacy data into OpenAccess.
Use lef2oa to create the reference libraries and the technology data.
Use verilogAnnotate to establish terminal order and to group the multi-bit interfaces of the reference
Use verilog2oa to import the logical description of the design.
Use def2oa to annotate the logical description of the design with the physical implementation.
Use spef2oa to annotate parasitics onto the design. (Optional)
For example, consider a design that consists of:
Two LEF files: foundry18u7lm.lef and stdLib.lef
A Verilog file myDesign.v (which contains Verilog module definitions of every cell in the design, including
the reference library cells)
A DEF file myDesign.def
A SPEF file myDesign.spef The basic process to import this design into OpenAccess uses the following flow:
$ lef2oa -lib foundryLib -lef foundry18u7lm.lef
$ lef2oa -lib stdLib -lef stdLib.lef -techLib foundryLib
$ verilogAnnotate -refLibs "foundryLib stdLib" -verilog myDesign.v
$ verilog2oa -lib DesignLib -refLibs "foundryLib stdLib" -view layout viewType maskLayout -verilog myDesign.v
def2oa -lib DesignLib -cell top -view layout -def myDesign.def -refLibs
"foundryLib stdLib" -techLib foundryLib
$ spef2oa -lib DesignLib -cell top -view layout -spef myDesign.spef -ap
This process works for simple designs that are not partitioned for implementation. If the design is
partitioned, you must modify the process to accommodate the partitions. EE 201A ? Lab 1 Prof. Puneet Gupta page 3/3 SUBMISSION INSTRUCTIONS (Read carefully)
o All necessary code, data, and report files must be tarballed and submitted as a single archive file on eeapps. For final submission, create a directory named as follows: Lastname-Firstname_UID_Username_Lab1/ Inside this submission directory, you must include exactly three files: Lastname-Firstname_UID_Username_Lab1.cpp (source code for lab) Lastname-Firstname_UID_Username_Lab1 (compiled binary file for lab) Lastname-Firstname_UID_Username_Lab1.pdf (lab report ? answer any questions here) Compress and archive this directory using tar/gzip to have a single submission file named LastnameFirstname_UID_Username_Lab1_pinXXXX.tar.gz (Make up a 4-digit numeric PIN of your choice to
substitute for XXXX) Submit tarball by copying it to /w/class/ee201a/ee201ota/submission/lab1/ IMPORTANT: Make sure all files you submit, as well as the tarball, have full read and execute
permissions to group and others or we will not be able to grade your lab. Do this using chmod ?R
go+rx FILE_OR_DIRECTORY Late submissions will not be accepted (or possible ? read/write/execute permissions to submission/lab1/
will be disabled at the deadline). If you cannot finish the entire assignment on time, submit whatever you
completed. No submission = no points. You are welcome to overwrite your submission as many times as you like
before the deadline. However, please only use the filename format that is provided. Duplicates of the form ?v1,
v2, v3, new, newest,? etc. will be ignored. If you accidentally submitted your tarball multiple times using
different PINs, only the latest timestamp will be considered. Some students may worry that their work could be visible to other students. We try to reduce this chance by
disabling read permissions on /w/class/ee201a/ee201ota/submission/lab1/ directory so that
other students cannot list its contents. Thus, they will not know the filename and cannot open your submission
unless you give them your full name, student ID number, SEAS username, and arbitrary 4-digit PIN that you
substituted for XXXX earlier on the tarball. This also means you will not be able to list the directory contents to
see if your own submission worked ? you can only write to it! In short, please do not give your classmates this
information or collaborate on homeworks. The PIN can be whatever 4-digit number you want -- it is just to
reduce the likelihood of another student guessing your full file submission path. You can change it for every lab
submission if you like. Submission example step-by-step:
$ cd /w/class/ee201a/mgottscho
$ mkdir Gottscho-Mark_203555232_gottscho_Lab1
$ cp foo.cpp Gottscho-Mark_203555232_gottscho_Lab1/GottschoMark_203555232_gottscho_Lab1.cpp
$ cp bar Gottscho-Mark_203555232_gottscho_Lab1/GottschoMark_203555232_gottscho_Lab1
$ cp report.pdf Gottscho-Mark_203555232_gottscho_Lab1/GottschoMark_203555232_gottscho_Lab1.pdf
$ chmod ?R go+rx Gottscho-Mark_203555232_gottscho_Lab1/
$ tar ?czf Gottscho-Mark_203555232_gottscho_Lab1_pin1543.tar.gz GottschoMark_203555232_gottscho_Lab1/
$ chmod go+rx Gottscho-Mark_203555232_gottscho_Lab1_pin1453.tar.gz
$ cp Gottscho-Mark_203555232_gottscho_Lab1_pin1543.tar.gz
This question was answered on: Jan 30, 2021
Buy this answer for only: $15
This attachment is locked
We have a ready expert answer for this paper which you can use for in-depth understanding, research editing or paraphrasing. You can buy it or order for a fresh, original and plagiarism-free solution (Deadline assured. Flexible pricing. TurnItIn Report provided)
Pay using PayPal (No PayPal account Required) or your credit card . All your purchases are securely protected by .
About this QuestionSTATUS
Jan 30, 2021EXPERT
GET INSTANT HELP/h4>
We have top-notch tutors who can do your essay/homework for you at a reasonable cost and then you can simply use that essay as a template to build your own arguments.
You can also use these solutions:
- As a reference for in-depth understanding of the subject.
- As a source of ideas / reasoning for your own research (if properly referenced)
- For editing and paraphrasing (check your institution's definition of plagiarism and recommended paraphrase).
NEW ASSIGNMENT HELP?
Order New Solution. Quick Turnaround
Click on the button below in order to Order for a New, Original and High-Quality Essay Solutions. New orders are original solutions and precise to your writing instruction requirements. Place a New Order using the button below.
WE GUARANTEE, THAT YOUR PAPER WILL BE WRITTEN FROM SCRATCH AND WITHIN A DEADLINE.