From 83fdfa98c5bbacdd8de52d19d458ded153169db3 Mon Sep 17 00:00:00 2001 From: hneemann Date: Wed, 19 Apr 2017 16:15:01 +0200 Subject: [PATCH] simplified SRAM example --- src/main/dig/cmos/sram.dig | 2195 +++++------------ .../testing/parser/ParserLoopTest.java | 12 +- 2 files changed, 676 insertions(+), 1531 deletions(-) diff --git a/src/main/dig/cmos/sram.dig b/src/main/dig/cmos/sram.dig index 8979d5e22..368c60c12 100644 --- a/src/main/dig/cmos/sram.dig +++ b/src/main/dig/cmos/sram.dig @@ -251,76 +251,6 @@ Speichermatrix. - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - NFET - - - - - PFET - - - - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - Ground - - - - - Ground - - - - - VDD - - - - - VDD - - - In @@ -333,97 +263,7 @@ Speichermatrix. D_In - - - - VDD - - - - - Ground - - - - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - NFET - - - - - PFET - - - - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - Ground - - - - - Ground - - - - - VDD - - - - - VDD - - - - - VDD - - - - - Ground - - + NFET @@ -545,86 +385,6 @@ Speichermatrix. - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - NFET - - - - - PFET - - - - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - Ground - - - - - Ground - - - - - VDD - - - - - VDD - - - - - VDD - - - - - Ground - - - NFET @@ -745,86 +505,6 @@ Speichermatrix. - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - NFET - - - - - PFET - - - - - NFET - - - - - NFET - - - - - PFET - - - - - PFET - - - - - Ground - - - - - Ground - - - - - VDD - - - - - VDD - - - - - VDD - - - - - Ground - - - NFET @@ -1503,7 +1183,7 @@ repeat(16) bits(4,n) 0 x 0 - + LED @@ -1675,6 +1355,107 @@ repeat(16) bits(4,n) 0 x 0 + + Driver + + + rotation + + + + + + + Driver + + + rotation + + + + flipSelPos + true + + + + + + Not + + + + + Driver + + + rotation + + + + + + + Driver + + + rotation + + + + flipSelPos + true + + + + + + Driver + + + rotation + + + + + + + Driver + + + rotation + + + + flipSelPos + true + + + + + + Driver + + + rotation + + + + + + + Driver + + + rotation + + + + flipSelPos + true + + + + @@ -1713,122 +1494,10 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1849,54 +1518,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1971,11 +1592,7 @@ repeat(16) bits(4,n) 0 x 0 - - - - - + @@ -1995,16 +1612,12 @@ repeat(16) bits(4,n) 0 x 0 - + - - - - @@ -2218,36 +1831,28 @@ repeat(16) bits(4,n) 0 x 0 - - + + - - + + - - + + - - + + - - + + - - - - - - - - - - + + @@ -2287,11 +1892,7 @@ repeat(16) bits(4,n) 0 x 0 - - - - - + @@ -2477,6 +2078,22 @@ repeat(16) bits(4,n) 0 x 0 + + + + + + + + + + + + + + + + @@ -2566,16 +2183,36 @@ repeat(16) bits(4,n) 0 x 0 - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + @@ -2613,10 +2250,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - @@ -2627,55 +2260,7 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -2773,42 +2358,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -2845,22 +2394,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - @@ -2877,6 +2410,22 @@ repeat(16) bits(4,n) 0 x 0 + + + + + + + + + + + + + + + + @@ -2887,7 +2436,7 @@ repeat(16) bits(4,n) 0 x 0 - + @@ -2925,10 +2474,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - @@ -2937,10 +2482,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - @@ -2965,6 +2506,122 @@ repeat(16) bits(4,n) 0 x 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2981,10 +2638,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - @@ -3018,56 +2671,80 @@ repeat(16) bits(4,n) 0 x 0 - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3083,15 +2760,59 @@ repeat(16) bits(4,n) 0 x 0 - + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3189,30 +2910,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - @@ -3230,40 +2927,24 @@ repeat(16) bits(4,n) 0 x 0 - - + + - - + + - - + + - - + + - - - - - - - - - - - - - - - - - - + + @@ -3279,15 +2960,71 @@ repeat(16) bits(4,n) 0 x 0 - + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3305,10 +3042,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - @@ -3373,34 +3106,10 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - @@ -3422,704 +3131,8 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + @@ -4181,10 +3194,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - @@ -4193,6 +3202,10 @@ repeat(16) bits(4,n) 0 x 0 + + + + @@ -4203,31 +3216,7 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -4245,14 +3234,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - @@ -4270,12 +3251,100 @@ repeat(16) bits(4,n) 0 x 0 - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4325,30 +3394,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - - - - - - - - - - - - - - - - - - - - - @@ -4397,10 +3442,6 @@ repeat(16) bits(4,n) 0 x 0 - - - - @@ -4417,21 +3458,117 @@ repeat(16) bits(4,n) 0 x 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -4498,8 +3635,8 @@ repeat(16) bits(4,n) 0 x 0 - - + + @@ -4507,7 +3644,7 @@ repeat(16) bits(4,n) 0 x 0 - + diff --git a/src/test/java/de/neemann/digital/testing/parser/ParserLoopTest.java b/src/test/java/de/neemann/digital/testing/parser/ParserLoopTest.java index 40a5856aa..b33346976 100644 --- a/src/test/java/de/neemann/digital/testing/parser/ParserLoopTest.java +++ b/src/test/java/de/neemann/digital/testing/parser/ParserLoopTest.java @@ -67,7 +67,7 @@ public class ParserLoopTest extends TestCase { } } - public void testMissingEndloop() throws IOException, ParserException { + public void testMissingEndLoop() throws IOException, ParserException { try { new Parser("A B\nloop(i,10) C ((i+j)*2)").parse(); fail(); @@ -75,7 +75,7 @@ public class ParserLoopTest extends TestCase { } } - public void testUnexpectedEndloop() throws IOException, ParserException { + public void testUnexpectedEndLoop() throws IOException, ParserException { try { new Parser("A B\n C ((i+j)*2)\nend loop").parse(); fail(); @@ -83,4 +83,12 @@ public class ParserLoopTest extends TestCase { } } + public void testIncompleteEndLoop() throws IOException, ParserException { + try { + new Parser("A B\n C ((i+j)*2)\nend").parse(); + fail(); + } catch (ParserException e) { + } + } + }