mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-06 14:13:23 +00:00
docs: moving code examples
Code now resides in `docs/source/code_examples`. `CHAPTER_Prog` -> `stubnets` `APPNOTE_011_Design_Investigation` -> `selections` and `show` `resources/PRESENTATION_Intro` -> `intro` `resources/PRESENTATION_ExSyn` -> `synth_flow` `resources/PRESENTATION_ExAdv` -> `techmap`, `macc`, and `selections` `resources/PRESENTATION_ExOth` -> `scrambler` and `axis` Note that generated images are not yet configured to build from the new code locations.
This commit is contained in:
parent
3d70867809
commit
dbc38d72cf
119 changed files with 264 additions and 905 deletions
27
docs/source/code_examples/axis/axis_master.v
Normal file
27
docs/source/code_examples/axis/axis_master.v
Normal file
|
@ -0,0 +1,27 @@
|
|||
module axis_master(aclk, aresetn, tvalid, tready, tdata);
|
||||
input aclk, aresetn, tready;
|
||||
output reg tvalid;
|
||||
output reg [7:0] tdata;
|
||||
|
||||
reg [31:0] state;
|
||||
always @(posedge aclk) begin
|
||||
if (!aresetn) begin
|
||||
state <= 314159265;
|
||||
tvalid <= 0;
|
||||
tdata <= 'bx;
|
||||
end else begin
|
||||
if (tvalid && tready)
|
||||
tvalid <= 0;
|
||||
if (!tvalid || !tready) begin
|
||||
// ^- should not be inverted!
|
||||
state = state ^ state << 13;
|
||||
state = state ^ state >> 7;
|
||||
state = state ^ state << 17;
|
||||
if (state[9:8] == 0) begin
|
||||
tvalid <= 1;
|
||||
tdata <= state;
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
endmodule
|
27
docs/source/code_examples/axis/axis_test.v
Normal file
27
docs/source/code_examples/axis/axis_test.v
Normal file
|
@ -0,0 +1,27 @@
|
|||
module axis_test(aclk, tready);
|
||||
input aclk, tready;
|
||||
wire aresetn, tvalid;
|
||||
wire [7:0] tdata;
|
||||
|
||||
integer counter = 0;
|
||||
reg aresetn = 0;
|
||||
|
||||
axis_master uut (aclk, aresetn, tvalid, tready, tdata);
|
||||
|
||||
always @(posedge aclk) begin
|
||||
if (aresetn && tready && tvalid) begin
|
||||
if (counter == 0) assert(tdata == 19);
|
||||
if (counter == 1) assert(tdata == 99);
|
||||
if (counter == 2) assert(tdata == 1);
|
||||
if (counter == 3) assert(tdata == 244);
|
||||
if (counter == 4) assert(tdata == 133);
|
||||
if (counter == 5) assert(tdata == 209);
|
||||
if (counter == 6) assert(tdata == 241);
|
||||
if (counter == 7) assert(tdata == 137);
|
||||
if (counter == 8) assert(tdata == 176);
|
||||
if (counter == 9) assert(tdata == 6);
|
||||
counter <= counter + 1;
|
||||
end
|
||||
aresetn <= 1;
|
||||
end
|
||||
endmodule
|
5
docs/source/code_examples/axis/axis_test.ys
Normal file
5
docs/source/code_examples/axis/axis_test.ys
Normal file
|
@ -0,0 +1,5 @@
|
|||
read_verilog -sv axis_master.v axis_test.v
|
||||
hierarchy -top axis_test
|
||||
|
||||
proc; flatten;;
|
||||
sat -seq 50 -prove-asserts
|
Loading…
Add table
Add a link
Reference in a new issue