Collection of Baseline Designs for Memory-Centric Tensor Processing SoC
Author: Bonan Yan :)
File | Version | URL |
---|---|---|
PIM macro behavioral model, Verilog version | v2 | [download] |
PIM macro behavioral model, Chisel version | v2 | [download] |
SoC, Type 1 | v1 | [download] |
SoC, Type 2 | v1 | [download] |
SoC, Type 3 | v1 | [download] |
SoC, Type 4 | v1 | [download] |
SoC Categories:
- Type 1:
- Type 2:
- Type 3:
- Type 4:
Step 1: Untar the downloaded pim-verilog-bmodel.tar.gz and enter the working folder (where the "makefile" lies)
tar xvzf pim-verilog-bmodel.tar.gz
cd pim-verilog-bmodel
Files:
pim-verilog-bmodel/
├── doc
│ ├── APIM_AddressMap.pdf //address map of apim
│ └── DPIM_AddressMap.pdf //address map of dpim
├── makefile //top entry
├── readme.md //readme
└── src
├── APIM_tb.v //testbench for APIM.v
├── APIM.v //design (behavioral model) of APIM
├── DPIM_tb.v //testbench for DPIM.v
├── DPIM.v //design (behavioral model) of DPIM
└── plt.tcl //gtkwave ploting configuration, used in "make plot"
Choose one of the 4 following commend to run in shell:
(a) To test APIM.v:
make apim
(b) To test DPIM.v:
make dpim
(c) To plot the testing waveform:
make plot
(d) To cleanup:
make clean
FAQs: It is common to revise the code of the behavioral model codes according to your own demands, please refer to arvix:XXX for detailed elaboration on the macro structure.
🏁 PIM Macro Model, Chisel version
< 8000 a id="user-content-checkered_flag-pim-macro-model-chisel-version" class="anchor" aria-label="Permalink: :checkered_flag: PIM Macro Model, Chisel version" href="#checkered_flag-pim-macro-model-chisel-version">/src/main/scala/pislib/*
File | Content |
---|---|
Memory.scala | traditional memory behavioral model |
APIM.scala | analog PIM macro behavioral model |
DPIM.scala | digital PIM macro behavioral model |
/src/test/scala/pislib/*
To use:
Step 1: Untar the downloaded pim-chisel-bmodel.tar.gz and enter the working folder (where the "makefile" lies)
tar xvzf pim-chisel-bmodel.tar.gz
cd pim-chisel-bmodel
(a) Test normal memory:
make testMem
Explain: test conventional memory chisel behavioral model
(b) Test analog PIM:
make testAPIM
Explain: test analog PIM macro chisel behavioral model
(c) Test digital PIM:
make testDPIM
Explain: test digital PIM macro chisel behavioral model
Refer to [chisel local install]
- install Java SDK
- install sbt
- Good to go run the main entry
Please cite this work as:
XXX, XXX, XXX
or use Bibtex:
@article{pimgym,
author = {Yan, Bonan},
journal = {arXiv preprint arXiv:2202.07646},
title = {Quantifying memorization across neural language models},
url = {https://arxiv.org/abs/2202.07646},
year = {2022}
}
source make_doc_page.sh