From d99566f4027f5f719f9dbbb70fda5afa3f6be89c Mon Sep 17 00:00:00 2001 From: openpowerwtf <52765606+openpowerwtf@users.noreply.ggithub.com> Date: Tue, 8 Nov 2022 18:32:58 -0600 Subject: [PATCH] readme --- .gitignore | 1 + cell.png | Bin 0 -> 56972 bytes readme.md | 41 ++++++++++++++++++++++++++++++++++++++--- rtl/sim/sim | 1 - rtl/sim/src | 1 - 5 files changed, 39 insertions(+), 5 deletions(-) create mode 100644 .gitignore create mode 100644 cell.png delete mode 120000 rtl/sim/sim delete mode 120000 rtl/sim/src diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f6a0f81 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.vcd diff --git a/cell.png b/cell.png new file mode 100644 index 0000000000000000000000000000000000000000..2a89cb53b686f3144b6caea3b0ab306d360fdb9c GIT binary patch literal 56972 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 b3TLl5EM*|uQDEuBdq1sn`e*Y`Ti^OW;w~Ta literal 0 HcmV?d00001 diff --git a/readme.md b/readme.md index f0eece4..973a0c2 100644 --- a/readme.md +++ b/readme.md @@ -32,9 +32,44 @@ Specific bandwidth can be expressed with two metrics: * Technology dependent “X TB/(sec * mm 2 )” * Technology independent “Y 1/(FO4 delay * PC PITCH * min horizontal metal pitch)” - - -
+## Array Design (64x24_2R1W) + +#### 2R1W memory cell + + * read bitlines are the NFET part of a domino stage + + + +#### Subarray + + * 16 word x 12 bit array of memory cells + +#### 64x24_2R1W 'hard' array + + * (8) subarrays + + * (12) addr/strobe inputs per port are decoded to 64 word lines and precharge enable + + * subarray bitlines are precharged and combined with neighbor subarray in local eval cell + + * final data outs are selected from half-array local evals + +#### 64x24_2R1W 'logical' array + + * strobe plus 6 address lines predecoded to 12 array input lines per port + + * port latching + +### Other + +#### SDR/DDR + + * double-pumping the strobe allows 4R2W operation + +#### LSDL + + * a custom LSDL cell can be used to latch the outputs in the array + ## Links diff --git a/rtl/sim/sim b/rtl/sim/sim deleted file mode 120000 index 32e4653..0000000 --- a/rtl/sim/sim +++ /dev/null @@ -1 +0,0 @@ -python/sim.py \ No newline at end of file diff --git a/rtl/sim/src b/rtl/sim/src deleted file mode 120000 index df6eae1..0000000 --- a/rtl/sim/src +++ /dev/null @@ -1 +0,0 @@ -../src/verilog/array \ No newline at end of file