Lec05 Introduction To Macros and SRAM Lint
Lec05 Introduction To Macros and SRAM Lint
Lecturer: Yu-Wei Lu
Outline
Section 1 Macro
(Intellectual property, IP)
2
Outline
Section 1 Macro
(Intellectual property, IP)
3
Introduction to Intellectual Property
Intellectual Property (IP) core
What: IP is a design of a logic function that specifies how the elements are interconnected
// e.g. square root
Why: A designer can develop more quickly by applying IPs
How: IPs may be licensed to another party
Soft macro(IP): Synthesizable RTL
Portable and Editable
IP protection risks
Firm macro(IP): Netlist format
Performance optimization under a specific fabrication technology
Moving, rotating, flipping freedom but can't touch the interior (APR)
4
Imagine that your design is for cellphone screen processing
Assume the resolution is 1920*1080, 24 bits per pixel
50M registers!!
size power
5
Outline
Section 1 Macro
(Intellectual property, IP)
6
Memory Hierarchy
Register
SRAM
On chip
Off chip
DRAM
Disk
7
AMD Ryzen ZEN3
8
Memory
SRAM 6T SRAM
Read and Write Data only
Memory has less area than register
Memory is slower than register
Only one address can be accessed in the same
time (single port SRAM vs. dual port )
Memory
9
SRAM Logic Table
OEN is a tri-state
buffer
10
Signal example
11
Appendix-Write and read in order
Write Read
12
Appendix-Write and read in order
A D A D A D A D
0 X 0 8 0 8 0 8
1 X 1 X 1 1 1 1
2 X 2 X 2 X 2 d
3 X 3 X Write
3 X 3 X Read
13
Design Tips
To avoid critical path causing timing violation
Add registers after the hard macro
Use enable signal to control output register to avoid reading unknown value
If a memory macro is used in your design, the timescale should
be set according to the timescale specified by memory file
Be aware of features and characteristics of hard macro before you
use it in your design
[ Behavior Simulation ]
14
Memory generation example
Example :
Number of Words : 600
Number of Bits : 8
15
Memory generation example
Example :
Number of Words : 600
Number of Bits : 8
Answer :
D [7:0]
Q [7:0]
A [9:0]
16
Memory Compiler
NYCU-EE IC LAB Spring-2022
Lecturer: Yu-Wei Lu
Outline
Section 1 GUI
Section 2 Script
18
Memory Compiler GUI steps
2.
1.
20
Memory Compiler GUI steps
Step 6: create your own directory
$ mkdir your_own_name (ex: iclabxxx)
$ cd your_own_name (ex: iclabxxx)
IP must be 140.113.x.x
Press Y to allow requested access to the X server
(1)
(2)
22
Memory Compiler Parameter
23
Memory Compiler
Memory Architectures
24
Memory Compiler
Example :
32 words, 2bit , Multiplexer Width = 8
25
Memory Compiler
Spec. PostScript Datasheet : data sheet (*.ps) (use ps2pdf for .pdf)
ASCII datatable : parameter table (*.dat)
For Verilog model : behavior model be synthesized)
designer
Synopsys model : library for synthesis & APR (*.lib)
For LVS Netlist : used for LVS
APR
GDSII Layout : layout file
(2)
26
Outline
Section 1 GUI
Section 2 Script
27
SRAM generation in this course
Step 1. Log in linux??.ee.nctu.edu.tw
28
SRAM generation in this course
Step 3. Copy the directory /template and name on your own
% cp -r template your_own_name (ex: iclabxxx)
29
SRAM generation in this course
Step 5. Copy the directory back to your account
$scp -r <your_mem_dir> <your_account>@linux01.ee.nctu.edu.tw:.
30
SRAM generation in this course
31
Use library compiler to generate
.db files from .lib files
Step 6. Generate (*.db) from (*.lib) for (xx.tcl) usage
Invoke Synopsys
% lc_shell
Exit lc_shell
lc_shell> exit
After generating the Synopsys model (*.db), one can generate SDF
32
Match the syntax of *.v file to SDF
Step 7. Match the syntax
Note
Input part includes CEN, WEN, A, and D
Output part includes CLK to Q, and OEN to Q
33
Step6, 7 command with a single command
Command: ./02_lib_gen_syntax_match.sh
34
Move files
Step 8. After you get .db file and .v file, put them to Exercise/04_MEM folder.
Then you can use them to run behavior simulation and synthesis.
35
Remind!
36
JasperGold Superlint
NYCU-EE IC LAB Spring-2022
Lecturer: Yu-Wei Lu
Outline
Overview
38
Overview
Superlint combines traditional RTL linting and formal analysis,
deriving rich property-based functional checks from the RTL
automatically.
39
Overview (cont.)
Invoke JasperGold Superlint:
By command % jg superlint &
40
Choose Configure Checks
Configure Checks to Run
Using the Application -> Configure Superlint Checks
Or press the button
41
Import Design File
Choose language
Choose the design
(Import other (.v) files used in your design e.g. RA1SH.v)
42
If using DesignWare IP
bbox_m XXXX
Elaborate
43
Setup the clock and Reset
44
Setup the clock and Reset (cont.)
45
Extract and Prove Superlint Checks
46
Extract and Prove Superlint Checks
Proof summary
47
Extract and Prove Superlint Checks
48