summaryrefslogtreecommitdiff
path: root/manual/PRESENTATION_ExOth/axis_master.v
diff options
context:
space:
mode:
Diffstat (limited to 'manual/PRESENTATION_ExOth/axis_master.v')
-rw-r--r--manual/PRESENTATION_ExOth/axis_master.v27
1 files changed, 27 insertions, 0 deletions
diff --git a/manual/PRESENTATION_ExOth/axis_master.v b/manual/PRESENTATION_ExOth/axis_master.v
new file mode 100644
index 00000000..25a1feee
--- /dev/null
+++ b/manual/PRESENTATION_ExOth/axis_master.v
@@ -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 be not 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