mirror of
https://github.com/YosysHQ/yosys
synced 2025-05-02 21:37:04 +00:00
Progress on AppNote 011
This commit is contained in:
parent
7295b25955
commit
73e28f0e39
4 changed files with 200 additions and 24 deletions
|
@ -7,3 +7,9 @@ cmos_01.dot
|
|||
splice.dot
|
||||
sumprod_00.dot
|
||||
sumprod_01.dot
|
||||
sumprod_02.dot
|
||||
sumprod_03.dot
|
||||
sumprod_04.dot
|
||||
sumprod_05.dot
|
||||
memdemo_00.dot
|
||||
memdemo_01.dot
|
||||
|
|
|
@ -5,7 +5,13 @@
|
|||
../../yosys -p 'techmap; splitnets -ports; abc -liberty ../../techlibs/cmos/cmos_cells.lib;; show -lib ../../techlibs/cmos/cmos_cells.v -format dot -prefix cmos_01' cmos.v
|
||||
../../yosys -p 'opt; cd sumprod; select a:sumstuff; show -format dot -prefix sumprod_00' sumprod.v
|
||||
../../yosys -p 'opt; cd sumprod; select a:sumstuff %x; show -format dot -prefix sumprod_01' sumprod.v
|
||||
sed -i '/^label=/ d;' example_*.dot splice.dot cmos_*.dot sumprod_*.dot
|
||||
../../yosys -p 'opt; cd sumprod; select prod; show -format dot -prefix sumprod_02' sumprod.v
|
||||
../../yosys -p 'opt; cd sumprod; select prod %ci; show -format dot -prefix sumprod_03' sumprod.v
|
||||
../../yosys -p 'opt; cd sumprod; select prod %ci2; show -format dot -prefix sumprod_04' sumprod.v
|
||||
../../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
|
||||
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
|
||||
|
@ -15,3 +21,9 @@ dot -Tpdf -o cmos_00.pdf cmos_00.dot
|
|||
dot -Tpdf -o cmos_01.pdf cmos_01.dot
|
||||
dot -Tpdf -o sumprod_00.pdf sumprod_00.dot
|
||||
dot -Tpdf -o sumprod_01.pdf sumprod_01.dot
|
||||
dot -Tpdf -o sumprod_02.pdf sumprod_02.dot
|
||||
dot -Tpdf -o sumprod_03.pdf sumprod_03.dot
|
||||
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
|
||||
|
|
19
manual/APPNOTE_011_Design_Investigation/memdemo.v
Normal file
19
manual/APPNOTE_011_Design_Investigation/memdemo.v
Normal file
|
@ -0,0 +1,19 @@
|
|||
module memdemo(clk, d, y);
|
||||
|
||||
input clk;
|
||||
input [3:0] d;
|
||||
output reg [3:0] y;
|
||||
|
||||
integer i;
|
||||
reg [1:0] s1, s2;
|
||||
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;
|
||||
mem[s1] <= d;
|
||||
y <= mem[s2];
|
||||
end
|
||||
|
||||
endmodule
|
Loading…
Add table
Add a link
Reference in a new issue