mirror of
https://github.com/YosysHQ/yosys
synced 2025-04-28 03:15:50 +00:00
Progress on AppNote 011
This commit is contained in:
parent
6e227e3666
commit
0f4055d4c6
5 changed files with 77 additions and 3 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
16
manual/APPNOTE_011_Design_Investigation/submod.ys
Normal file
16
manual/APPNOTE_011_Design_Investigation/submod.ys
Normal file
|
@ -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
|
Loading…
Add table
Add a link
Reference in a new issue