Skip to content

This project is a tool to help find the read/hod/write margins of SRAM bitcell and draw the corresponding butterfly diagrams.

Notifications You must be signed in to change notification settings

ColsonZhang/SRAM-Margin-Butterfly

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SRAM-Butterfly

Introduction

This project is a tool to help find the read/hod/write margins of SRAM bitcell and draw the corresponding butterfly diagrams.

Examples

There are two examples, app_01.ipynb and app_02.ipynb .

And you can run the command python main.py .

The pictures below are the generated butterfly diagrams of hold, read and write.

  1. The hold-marin butterfly diagram

img

  1. The read-marin butterfly diagram

img

  1. The write-marin butterfly diagram

img

Algorithm Principle

Taking the SRAM supply voltage of 1.2V as an example, two curves are generated by simulation.

By scanning the offset of the y-axis, a series of y=x+offset_y lines are generated, and then the two intersection points of the line and the two curves are calculated. These two intersection points generally correspond to the two diagonal coordinates of the square. The final margin value is obtained by comparing the size of this series of squares.

img

Input data source

The data is generated by Cadence Virtuoso and Spectre Simulator.

The tool Parameter Analysis in Spectre is very useful. And the data can be directly exported in the visualization window.

img

About

This project is a tool to help find the read/hod/write margins of SRAM bitcell and draw the corresponding butterfly diagrams.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published