Updated experiments12 for the latest Coriolis.
authorJean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
Fri, 4 Jun 2021 19:12:29 +0000 (21:12 +0200)
committerJean-Paul Chaput <Jean-Paul.Chaput@lip6.fr>
Fri, 4 Jun 2021 19:12:29 +0000 (21:12 +0200)
* To serve as a test bench for the reamining diode insertion
  problems.

experiments12/Makefile
experiments12/SPBlock_512W64B8W.v [deleted file]
experiments12/SPBlock_512W64B8W.vbe [deleted file]
experiments12/doDesign.py
experiments12/memory.py
experiments12/spblock_512w64b8w.v [new file with mode: 0644]
experiments12/spblock_512w64b8w.vbe [new file with mode: 0644]

index 14863fc3596c8d09f77bdfb8cb6896b5314b9453..35b67be6c36a0e45cb30a1375f2199a70ffa6f51 100755 (executable)
@@ -12,7 +12,7 @@
 
                 VST_FLAGS = --vst-no-lowercase
             YOSYS_FLATTEN =
-         YOSYS_BLACKBOXES = SPBlock_512W64B8W
+         YOSYS_BLACKBOXES = spblock_512w64b8w
                  NETLISTS = $(shell cat netlists.txt)
 
 
 
 blif:      memory.blif
 vst:       memory.vst
-
-lvx:       lvx-chip_cts_r
-druc:      druc-chip_cts_r
-dreal:     dreal-chip_cts_r
-flatph:    flatph-chip_cts_r
-view:      cgt-chip_cts_r
-layout:    chip_cts_r.ap
 gds:       chip_cts_r.gds
diff --git a/experiments12/SPBlock_512W64B8W.v b/experiments12/SPBlock_512W64B8W.v
deleted file mode 100644 (file)
index ddab968..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-(* blackbox = 1 *)
-module SPBlock_512W64B8W(input [8:0] a,
-                        input [63:0] d,
-                        output [63:0] q,
-                        input [7:0] we,
-                        input clk);
-endmodule // SPBlock_512W64B8W
diff --git a/experiments12/SPBlock_512W64B8W.vbe b/experiments12/SPBlock_512W64B8W.vbe
deleted file mode 100644 (file)
index c752468..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-
--- Phony VHDL interface for SRAM block.
-
-entity SPBlock_512W64B8W is
-   port ( clk     : in  bit
-        ; we      : in  bit_vector( 7 downto 0)
-        ; a       : in  bit_vector( 8 downto 0)
-        ; d       : in  bit_vector(63 downto 0)
-        ; q       : out bit_vector(63 downto 0)
-        ; vdd     : in  bit
-        ; vss     : in  bit
-        );
-end SPBlock_512W64B8W;
-
-architecture behavioral of SPBlock_512W64B8W is
-
-begin
-
-end behavioral;
index 8df819076dfe82e6f8332a019f3879b73451a03d..c7eea1d7aff5eea63942a1d586c216dd866b83d9 100644 (file)
@@ -10,7 +10,8 @@ from   helpers         import trace, l, u, n
 from   helpers.io      import ErrorMessage, WarningMessage
 from   helpers.overlay import UpdateSession
 import plugins
-from   Hurricane  import Breakpoint, DbU, Point, Box, Transformation, Instance
+from   Hurricane  import Breakpoint, DbU, Point, Box, Transformation, Instance, \
+                         DataBase
 from   plugins.alpha.macro.macro          import Macro
 from   plugins.alpha.block.block          import Block
 from   plugins.alpha.block.configuration  import IoPin, GaugeConf
@@ -123,18 +124,18 @@ def scriptMain ( **kw ):
             chipBuilder = Chip( memoryConf )
             chipBuilder.doChipFloorplan()
             with UpdateSession():
-                sramName = 'subckt_500_SPBlock_512W64B8W'
-                sram     = cell.getInstance( sramName )
+                sramName = 'spblock_512w64b8w'
+                sram     = DataBase.getDB().getCell( 'spblock_512w64b8w' )
                 if not sram:
-                    print( '[ERROR] SRAM instance "{}" not found.'.format(sramName) )
+                    print( '[ERROR] SRAM cell "{}" not found.'.format(sramName) )
                 else:
                     sliceHeight = memoryToChip.conf.sliceHeight
                     coreAb      = cell.getAbutmentBox()
-                    sramAb      = sram.getMasterCell().getAbutmentBox()
+                    sramAb      = sram.getAbutmentBox()
                     position    = Transformation( coreAb.getXMax() - sramAb.getWidth() - 2*sliceHeight
                                                 , u(0.0)
                                                 , Transformation.Orientation.ID )
-                    chipBuilder.placeMacro( 'subckt_500_SPBlock_512W64B8W', position )
+                    chipBuilder.placeMacro( 'spblock_512w64b8w', position )
                     memoryConf.placeArea = Box( coreAb.getXMin()
                                               , coreAb.getYMax() - sliceHeight*26
                                               , coreAb.getXMin() + sliceHeight*25
index 565d179ec20c196dcf9c2ed65b69f27bf7fb2dcc..fb465ee2520b5793c4b6ad44e21cfb027f6d22be 100644 (file)
@@ -18,7 +18,7 @@ class ADD(Elaboratable):
         a = Signal(9)
         q = Signal(64) # output
         d = Signal(64) # input
-        sram = Instance("SPBlock_512W64B8W", i_a=a, o_q=q, i_d=d,
+        sram = Instance("spblock_512w64b8w", i_a=a, o_q=q, i_d=d,
                                              i_we=self.we, i_clk=ClockSignal())
         m.submodules += sram
 
diff --git a/experiments12/spblock_512w64b8w.v b/experiments12/spblock_512w64b8w.v
new file mode 100644 (file)
index 0000000..cd6b9c8
--- /dev/null
@@ -0,0 +1,7 @@
+(* blackbox = 1 *)
+module spblock_512w64b8w(input [8:0] a,
+                        input [63:0] d,
+                        output [63:0] q,
+                        input [7:0] we,
+                        input clk);
+endmodule // SPBlock_512W64B8W
diff --git a/experiments12/spblock_512w64b8w.vbe b/experiments12/spblock_512w64b8w.vbe
new file mode 100644 (file)
index 0000000..553f462
--- /dev/null
@@ -0,0 +1,19 @@
+
+-- Phony VHDL interface for SRAM block.
+
+entity spblock_512w64b8w is
+   port ( clk     : in  bit
+        ; we      : in  bit_vector( 7 downto 0)
+        ; a       : in  bit_vector( 8 downto 0)
+        ; d       : in  bit_vector(63 downto 0)
+        ; q       : out bit_vector(63 downto 0)
+        ; vdd     : in  bit
+        ; vss     : in  bit
+        );
+end spblock_512w64b8w;
+
+architecture behavioral of spblock_512w64b8w is
+
+begin
+
+end behavioral;