Skip to content

Commit d754e1e

Browse files
committed
PyCoRAM 0.8.0-public: new PyCoRAM examples (Matrix-matrix multiplication and 9-point stencil) are available.
1 parent aef4793 commit d754e1e

File tree

189 files changed

+1581411
-171
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

189 files changed

+1581411
-171
lines changed

Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,3 @@ clean:
2626
make clean -C rtlconverter
2727
make clean -C utils
2828
make clean -C input
29-
make clean -C pyverilog

README.md

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ Copyright (C) 2013, Shinya Takamaeda-Yamazaki
66

77
E-mail: takamaeda\_at\_arch.cs.titech.ac.jp
88

9+
910
License
1011
------------------------------
1112
Apache License 2.0
@@ -18,7 +19,7 @@ What's PyCoRAM?
1819
PyCoRAM is yet another implementation of CoRAM (Connected RAM) memory architecture for FPGA-based computing.
1920

2021
PyCoRAM generates AXI4 IP-core design from your computing kernel logic and memory access pattern descriptions.
21-
The generated IP-core can be used as a standard IP-core with the other common IP-cores together on vendor-provided EDK.
22+
The generated IP-core can be used as a standard IP-core with other common IP-cores together on vendor-provided EDK.
2223

2324
PyCoRAM differs in some points from the original soft-logic implementation of CoRAM on existing FPGAs.
2425

@@ -38,12 +39,12 @@ Requirements
3839
For just simulation
3940

4041
* Python 3.3 (or later)
41-
* Pyverilog 0.6.0 (or later)
42+
* Pyverilog 0.7.0 (or later)
4243
- My original Verilog HDL design analyzer
43-
- 0.6.0-lite is included in this package
44+
- 0.7.0-lite is included in this package
4445
* Jinja2 (2.7 or later)
4546
* Icarus Verilog (0.9.6 or later)
46-
-for preprocessor in Pyverilog and for simulation
47+
- for preprocessor in Pyverilog and for simulation
4748

4849
To build a final FPGA design (bit-file)
4950

@@ -77,7 +78,7 @@ Or type commands as below directly.
7778
iverilog -I pycoram_userlogic_v1_00_a/hdl/verilog/ pycoram_userlogic_v1_00_a/test/test_pycoram_userlogic.v
7879
./a.out
7980

80-
Then, PyCoRAM compiler generates a directory for IP-core (pycoram\_userlogic\_v1\_00\_a, in this example).
81+
PyCoRAM compiler generates a directory for IP-core (pycoram\_userlogic\_v1\_00\_a, in this example).
8182

8283
'pycoram\_userlogic\_v1\_00\_a.v' includes
8384
* IP-core RTL design (hdl/verilog/pycoram\_userlogic.v)
@@ -122,3 +123,4 @@ PyCoRAM Command Options
122123
- The compiler does NOT generate the system with AXI4 bus interface. default is disabled.
123124
* -o
124125
- Name of output file in no-AXI mode. default is "out.v".
126+

controlthread/codegen.py

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,10 @@
1717
import pyverilog
1818
import pyverilog.vparser
1919
import pyverilog.vparser.ast as vast
20-
from pyverilog.ast_to_code.ast_to_code import ASTtoCode
21-
22-
import pyverilog.optimizer.optimizer as vopt
23-
import pyverilog.utils.dataflow as vdflow
20+
import pyverilog.dataflow.optimizer as vopt
21+
import pyverilog.dataflow.dataflow as vdflow
2422
import pyverilog.utils.scope as vscope
23+
from pyverilog.ast_code_generator.codegen import ASTCodeGenerator
2524

2625
class CodeGenerator(object):
2726
def __init__(self, threadname, coram_memories, coram_instreams, coram_outstreams,
@@ -1027,7 +1026,7 @@ def _generateSource(self, paramlist, portlist, signallist, items):
10271026

10281027
#----------------------------------------------------------------------------
10291028
def _generateCode(self, source):
1030-
asttocode = ASTtoCode()
1029+
asttocode = ASTCodeGenerator()
10311030
code = asttocode.visit(source)
10321031
return code
10331032

controlthread/controlthread.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import pyverilog
3333
import pyverilog.vparser
3434
import pyverilog.vparser.ast as vast
35-
import pyverilog.optimizer.optimizer as vopt
35+
import pyverilog.dataflow.optimizer as vopt
3636

3737
CORAM_MEMORY='CoramMemory'
3838
CORAM_INSTREAM='CoramInStream'

controlthread/maketree.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))) )
1313
from pyverilog.vparser.ast import *
14-
from pyverilog.utils.dataflow import *
14+
from pyverilog.dataflow.dataflow import *
1515
from pyverilog.utils.scope import *
1616
import pyverilog.utils.op2mark
1717

0 commit comments

Comments
 (0)