From 0f4055d4c6be5d0e0423d4ea16b49610b368020e Mon Sep 17 00:00:00 2001 From: Clifford Wolf Date: Mon, 2 Dec 2013 12:54:21 +0100 Subject: Progress on AppNote 011 --- manual/APPNOTE_011_Design_Investigation/.gitignore | 4 ++++ manual/APPNOTE_011_Design_Investigation/make.sh | 7 ++++++- manual/APPNOTE_011_Design_Investigation/memdemo.v | 2 +- manual/APPNOTE_011_Design_Investigation/submod.ys | 16 ++++++++++++++++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 manual/APPNOTE_011_Design_Investigation/submod.ys (limited to 'manual/APPNOTE_011_Design_Investigation') diff --git a/manual/APPNOTE_011_Design_Investigation/.gitignore b/manual/APPNOTE_011_Design_Investigation/.gitignore index 6df5200c..85e44618 100644 --- a/manual/APPNOTE_011_Design_Investigation/.gitignore +++ b/manual/APPNOTE_011_Design_Investigation/.gitignore @@ -13,3 +13,7 @@ sumprod_04.dot sumprod_05.dot memdemo_00.dot memdemo_01.dot +submod_00.dot +submod_01.dot +submod_02.dot +submod_03.dot diff --git a/manual/APPNOTE_011_Design_Investigation/make.sh b/manual/APPNOTE_011_Design_Investigation/make.sh index d0d20b2e..a88f642d 100644 --- a/manual/APPNOTE_011_Design_Investigation/make.sh +++ b/manual/APPNOTE_011_Design_Investigation/make.sh @@ -11,7 +11,8 @@ ../../yosys -p 'opt; cd sumprod; select prod %ci3; show -format dot -prefix sumprod_05' sumprod.v ../../yosys -p 'proc; opt; memory; opt; cd memdemo; show -format dot -prefix memdemo_00' memdemo.v ../../yosys -p 'proc; opt; memory; opt; cd memdemo; show -format dot -prefix memdemo_01 y %ci2:+$dff[Q,D] %ci*:-$mux[S]:-$dff' memdemo.v -sed -i '/^label=/ d;' example_*.dot splice.dot cmos_*.dot sumprod_*.dot memdemo_*.dot +../../yosys submod.ys +sed -i '/^label=/ d;' example_*.dot splice.dot cmos_*.dot sumprod_*.dot memdemo_*.dot submod_*.dot dot -Tpdf -o example_00.pdf example_00.dot dot -Tpdf -o example_01.pdf example_01.dot dot -Tpdf -o example_02.pdf example_02.dot @@ -27,3 +28,7 @@ dot -Tpdf -o sumprod_04.pdf sumprod_04.dot dot -Tpdf -o sumprod_05.pdf sumprod_05.dot dot -Tpdf -o memdemo_00.pdf memdemo_00.dot dot -Tpdf -o memdemo_01.pdf memdemo_01.dot +dot -Tpdf -o submod_00.pdf submod_00.dot +dot -Tpdf -o submod_01.pdf submod_01.dot +dot -Tpdf -o submod_02.pdf submod_02.dot +dot -Tpdf -o submod_03.pdf submod_03.dot diff --git a/manual/APPNOTE_011_Design_Investigation/memdemo.v b/manual/APPNOTE_011_Design_Investigation/memdemo.v index babc24e2..b39564dd 100644 --- a/manual/APPNOTE_011_Design_Investigation/memdemo.v +++ b/manual/APPNOTE_011_Design_Investigation/memdemo.v @@ -11,7 +11,7 @@ reg [3:0] mem [0:3]; always @(posedge clk) begin for (i = 0; i < 4; i = i+1) mem[i] <= mem[(i+1) % 4] + mem[(i+2) % 4]; - { s2, s1 } = d ? { s1, s2 } ^ d : 0; + { s2, s1 } = d ? { s1, s2 } ^ d : 4'b0; mem[s1] <= d; y <= mem[s2]; end diff --git a/manual/APPNOTE_011_Design_Investigation/submod.ys b/manual/APPNOTE_011_Design_Investigation/submod.ys new file mode 100644 index 00000000..29ad6107 --- /dev/null +++ b/manual/APPNOTE_011_Design_Investigation/submod.ys @@ -0,0 +1,16 @@ +read_verilog memdemo.v +proc; opt; memory; opt + +cd memdemo +select -set outstage y %ci2:+$dff[Q,D] %ci*:-$mux[S]:-$dff +select -set selstage y %ci2:+$dff[Q,D] %ci*:-$dff @outstage %d +select -set scramble mem* %ci2 %ci*:-$dff mem* %d @selstage %d +submod -name scramble @scramble +submod -name outstage @outstage +submod -name selstage @selstage + +cd .. +show -format dot -prefix submod_00 memdemo +show -format dot -prefix submod_01 scramble +show -format dot -prefix submod_02 outstage +show -format dot -prefix submod_03 selstage -- cgit v1.2.3