Skip to content

Commit 85d0a0f

Browse files
committed
Merge branch 'feature_axi_all_signals' into develop
2 parents 9e38008 + de09caa commit 85d0a0f

File tree

75 files changed

+7105
-2278
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+7105
-2278
lines changed

README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ sudo apt install iverilog
6969
- pytest: 3.2 or later
7070
- pytest-pythonpath: 0.7 or later
7171
- Pyverilog: 1.1.3 or later
72-
- IPgen: 1.0.1 or later
7372

7473
```
7574
pip3 install jinja2 pytest pytest-pythonpath pyverilog ipgen

README.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,6 @@ Requirements
7575
- pytest: 3.2 or later
7676
- pytest-pythonpath: 0.7 or later
7777
- Pyverilog: 1.1.3 or later
78-
- IPgen: 1.0.1 or later
7978

8079
::
8180

examples/simulation_verilator/test_simulation_verilator.py

Lines changed: 154 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -16,46 +16,84 @@
1616
reg RST;
1717
wire [32-1:0] myaxi_awaddr;
1818
wire [8-1:0] myaxi_awlen;
19+
wire [3-1:0] myaxi_awsize;
20+
wire [2-1:0] myaxi_awburst;
21+
wire [2-1:0] myaxi_awlock;
22+
wire [4-1:0] myaxi_awcache;
23+
wire [3-1:0] myaxi_awprot;
24+
wire [4-1:0] myaxi_awqos;
25+
wire [1-1:0] myaxi_awuser;
1926
wire myaxi_awvalid;
2027
reg myaxi_awready;
2128
wire [32-1:0] myaxi_wdata;
2229
wire [4-1:0] myaxi_wstrb;
2330
wire myaxi_wlast;
2431
wire myaxi_wvalid;
2532
reg myaxi_wready;
33+
reg [2-1:0] myaxi_bresp;
34+
reg myaxi_bvalid;
35+
wire myaxi_bready;
2636
wire [32-1:0] myaxi_araddr;
2737
wire [8-1:0] myaxi_arlen;
38+
wire [3-1:0] myaxi_arsize;
39+
wire [2-1:0] myaxi_arburst;
40+
wire [2-1:0] myaxi_arlock;
41+
wire [4-1:0] myaxi_arcache;
42+
wire [3-1:0] myaxi_arprot;
43+
wire [4-1:0] myaxi_arqos;
44+
wire [1-1:0] myaxi_aruser;
2845
wire myaxi_arvalid;
2946
reg myaxi_arready;
3047
reg [32-1:0] myaxi_rdata;
48+
reg [2-1:0] myaxi_rresp;
3149
reg myaxi_rlast;
3250
reg myaxi_rvalid;
3351
wire myaxi_rready;
3452
wire [32-1:0] memory_awaddr;
3553
wire [8-1:0] memory_awlen;
54+
wire [3-1:0] memory_awsize;
55+
wire [2-1:0] memory_awburst;
56+
wire [2-1:0] memory_awlock;
57+
wire [4-1:0] memory_awcache;
58+
wire [3-1:0] memory_awprot;
59+
wire [4-1:0] memory_awqos;
60+
wire [1-1:0] memory_awuser;
3661
wire memory_awvalid;
3762
reg memory_awready;
3863
wire [32-1:0] memory_wdata;
3964
wire [4-1:0] memory_wstrb;
4065
wire memory_wlast;
4166
wire memory_wvalid;
4267
reg memory_wready;
68+
wire [2-1:0] memory_bresp;
69+
reg memory_bvalid;
70+
wire memory_bready;
4371
wire [32-1:0] memory_araddr;
4472
wire [8-1:0] memory_arlen;
73+
wire [3-1:0] memory_arsize;
74+
wire [2-1:0] memory_arburst;
75+
wire [2-1:0] memory_arlock;
76+
wire [4-1:0] memory_arcache;
77+
wire [3-1:0] memory_arprot;
78+
wire [4-1:0] memory_arqos;
79+
wire [1-1:0] memory_aruser;
4580
wire memory_arvalid;
4681
reg memory_arready;
4782
reg [32-1:0] memory_rdata;
83+
wire [2-1:0] memory_rresp;
4884
reg memory_rlast;
4985
reg memory_rvalid;
5086
wire memory_rready;
87+
assign memory_bresp = 0;
88+
assign memory_rresp = 0;
89+
reg [32-1:0] _memory_fsm;
90+
localparam _memory_fsm_init = 0;
5191
reg [8-1:0] _memory_mem [0:2**20-1];
5292
5393
initial begin
5494
$readmemh("memimg_test_simulation_verilator.out", _memory_mem);
5595
end
5696
57-
reg [32-1:0] _memory_fsm;
58-
localparam _memory_fsm_init = 0;
5997
reg [33-1:0] _write_count;
6098
reg [32-1:0] _write_addr;
6199
reg [33-1:0] _read_count;
@@ -67,6 +105,13 @@
67105
reg __memory_fsm_cond_211_2_1;
68106
assign memory_awaddr = myaxi_awaddr;
69107
assign memory_awlen = myaxi_awlen;
108+
assign memory_awsize = myaxi_awsize;
109+
assign memory_awburst = myaxi_awburst;
110+
assign memory_awlock = myaxi_awlock;
111+
assign memory_awcache = myaxi_awcache;
112+
assign memory_awprot = myaxi_awprot;
113+
assign memory_awqos = myaxi_awqos;
114+
assign memory_awuser = myaxi_awuser;
70115
assign memory_awvalid = myaxi_awvalid;
71116
wire _tmp_0;
72117
assign _tmp_0 = memory_awready;
@@ -86,33 +131,64 @@
86131
myaxi_wready = _tmp_1;
87132
end
88133
134+
wire [2-1:0] _tmp_2;
135+
assign _tmp_2 = memory_bresp;
136+
137+
always @(*) begin
138+
myaxi_bresp = _tmp_2;
139+
end
140+
141+
wire _tmp_3;
142+
assign _tmp_3 = memory_bvalid;
143+
144+
always @(*) begin
145+
myaxi_bvalid = _tmp_3;
146+
end
147+
148+
assign memory_bready = myaxi_bready;
89149
assign memory_araddr = myaxi_araddr;
90150
assign memory_arlen = myaxi_arlen;
151+
assign memory_arsize = myaxi_arsize;
152+
assign memory_arburst = myaxi_arburst;
153+
assign memory_arlock = myaxi_arlock;
154+
assign memory_arcache = myaxi_arcache;
155+
assign memory_arprot = myaxi_arprot;
156+
assign memory_arqos = myaxi_arqos;
157+
assign memory_aruser = myaxi_aruser;
91158
assign memory_arvalid = myaxi_arvalid;
92-
wire _tmp_2;
93-
assign _tmp_2 = memory_arready;
159+
wire _tmp_4;
160+
assign _tmp_4 = memory_arready;
94161
95162
always @(*) begin
96-
myaxi_arready = _tmp_2;
163+
myaxi_arready = _tmp_4;
97164
end
98165
166+
wire [32-1:0] _tmp_5;
167+
assign _tmp_5 = memory_rdata;
99168
100169
always @(*) begin
101-
myaxi_rdata = memory_rdata;
170+
myaxi_rdata = _tmp_5;
102171
end
103172
104-
wire _tmp_3;
105-
assign _tmp_3 = memory_rlast;
173+
wire [2-1:0] _tmp_6;
174+
assign _tmp_6 = memory_rresp;
106175
107176
always @(*) begin
108-
myaxi_rlast = _tmp_3;
177+
myaxi_rresp = _tmp_6;
109178
end
110179
111-
wire _tmp_4;
112-
assign _tmp_4 = memory_rvalid;
180+
wire _tmp_7;
181+
assign _tmp_7 = memory_rlast;
113182
114183
always @(*) begin
115-
myaxi_rvalid = _tmp_4;
184+
myaxi_rlast = _tmp_7;
185+
end
186+
187+
wire _tmp_8;
188+
assign _tmp_8 = memory_rvalid;
189+
190+
always @(*) begin
191+
myaxi_rvalid = _tmp_8;
116192
end
117193
118194
assign memory_rready = myaxi_rready;
@@ -124,18 +200,36 @@
124200
.RST(RST),
125201
.myaxi_awaddr(myaxi_awaddr),
126202
.myaxi_awlen(myaxi_awlen),
203+
.myaxi_awsize(myaxi_awsize),
204+
.myaxi_awburst(myaxi_awburst),
205+
.myaxi_awlock(myaxi_awlock),
206+
.myaxi_awcache(myaxi_awcache),
207+
.myaxi_awprot(myaxi_awprot),
208+
.myaxi_awqos(myaxi_awqos),
209+
.myaxi_awuser(myaxi_awuser),
127210
.myaxi_awvalid(myaxi_awvalid),
128211
.myaxi_awready(myaxi_awready),
129212
.myaxi_wdata(myaxi_wdata),
130213
.myaxi_wstrb(myaxi_wstrb),
131214
.myaxi_wlast(myaxi_wlast),
132215
.myaxi_wvalid(myaxi_wvalid),
133216
.myaxi_wready(myaxi_wready),
217+
.myaxi_bresp(myaxi_bresp),
218+
.myaxi_bvalid(myaxi_bvalid),
219+
.myaxi_bready(myaxi_bready),
134220
.myaxi_araddr(myaxi_araddr),
135221
.myaxi_arlen(myaxi_arlen),
222+
.myaxi_arsize(myaxi_arsize),
223+
.myaxi_arburst(myaxi_arburst),
224+
.myaxi_arlock(myaxi_arlock),
225+
.myaxi_arcache(myaxi_arcache),
226+
.myaxi_arprot(myaxi_arprot),
227+
.myaxi_arqos(myaxi_arqos),
228+
.myaxi_aruser(myaxi_aruser),
136229
.myaxi_arvalid(myaxi_arvalid),
137230
.myaxi_arready(myaxi_arready),
138231
.myaxi_rdata(myaxi_rdata),
232+
.myaxi_rresp(myaxi_rresp),
139233
.myaxi_rlast(myaxi_rlast),
140234
.myaxi_rvalid(myaxi_rvalid),
141235
.myaxi_rready(myaxi_rready)
@@ -158,6 +252,7 @@
158252
RST = 0;
159253
memory_awready = 0;
160254
memory_wready = 0;
255+
memory_bvalid = 0;
161256
memory_arready = 0;
162257
memory_rdata = 0;
163258
memory_rlast = 0;
@@ -180,18 +275,18 @@
180275
$write("");
181276
end
182277
183-
wire _tmp_5;
184-
assign _tmp_5 = io_CLK;
278+
wire _tmp_9;
279+
assign _tmp_9 = io_CLK;
185280
186281
always @(*) begin
187-
CLK = _tmp_5;
282+
CLK = _tmp_9;
188283
end
189284
190-
wire _tmp_6;
191-
assign _tmp_6 = io_RST;
285+
wire _tmp_10;
286+
assign _tmp_10 = io_RST;
192287
193288
always @(*) begin
194-
RST = _tmp_6;
289+
RST = _tmp_10;
195290
end
196291
197292
localparam _memory_fsm_200 = 200;
@@ -241,8 +336,15 @@
241336
memory_rlast <= 0;
242337
__memory_fsm_cond_211_2_1 <= 0;
243338
memory_rdata <= 0;
339+
memory_bvalid <= 0;
244340
_sleep_count <= 0;
245341
end else begin
342+
if(memory_bvalid && memory_bready) begin
343+
memory_bvalid <= 0;
344+
end
345+
if(memory_wvalid && memory_wready && memory_wlast) begin
346+
memory_bvalid <= 1;
347+
end
246348
_sleep_count <= _sleep_count + 1;
247349
if(_sleep_count == 3) begin
248350
_sleep_count <= 0;
@@ -276,7 +378,7 @@
276378
end
277379
end
278380
_memory_fsm_100: begin
279-
if(memory_awvalid) begin
381+
if(memory_awvalid && !memory_bvalid) begin
280382
memory_awready <= 1;
281383
_write_addr <= memory_awaddr;
282384
_write_count <= memory_awlen + 1;
@@ -442,18 +544,36 @@
442544
input RST,
443545
output reg [32-1:0] myaxi_awaddr,
444546
output reg [8-1:0] myaxi_awlen,
547+
output [3-1:0] myaxi_awsize,
548+
output [2-1:0] myaxi_awburst,
549+
output [2-1:0] myaxi_awlock,
550+
output [4-1:0] myaxi_awcache,
551+
output [3-1:0] myaxi_awprot,
552+
output [4-1:0] myaxi_awqos,
553+
output [1-1:0] myaxi_awuser,
445554
output reg myaxi_awvalid,
446555
input myaxi_awready,
447556
output reg [32-1:0] myaxi_wdata,
448557
output reg [4-1:0] myaxi_wstrb,
449558
output reg myaxi_wlast,
450559
output reg myaxi_wvalid,
451560
input myaxi_wready,
561+
input [2-1:0] myaxi_bresp,
562+
input myaxi_bvalid,
563+
output myaxi_bready,
452564
output reg [32-1:0] myaxi_araddr,
453565
output reg [8-1:0] myaxi_arlen,
566+
output [3-1:0] myaxi_arsize,
567+
output [2-1:0] myaxi_arburst,
568+
output [2-1:0] myaxi_arlock,
569+
output [4-1:0] myaxi_arcache,
570+
output [3-1:0] myaxi_arprot,
571+
output [4-1:0] myaxi_arqos,
572+
output [1-1:0] myaxi_aruser,
454573
output reg myaxi_arvalid,
455574
input myaxi_arready,
456575
input [32-1:0] myaxi_rdata,
576+
input [2-1:0] myaxi_rresp,
457577
input myaxi_rlast,
458578
input myaxi_rvalid,
459579
output myaxi_rready
@@ -505,6 +625,21 @@
505625
.ram_c_0_wenable(ram_c_0_wenable)
506626
);
507627
628+
assign myaxi_awsize = 2;
629+
assign myaxi_awburst = 1;
630+
assign myaxi_awlock = 0;
631+
assign myaxi_awcache = 3;
632+
assign myaxi_awprot = 0;
633+
assign myaxi_awqos = 0;
634+
assign myaxi_awuser = 1;
635+
assign myaxi_bready = 1;
636+
assign myaxi_arsize = 2;
637+
assign myaxi_arburst = 1;
638+
assign myaxi_arlock = 0;
639+
assign myaxi_arcache = 3;
640+
assign myaxi_arprot = 0;
641+
assign myaxi_arqos = 0;
642+
assign myaxi_aruser = 1;
508643
reg _myaxi_read_start;
509644
reg [8-1:0] _myaxi_read_op_sel;
510645
reg [32-1:0] _myaxi_read_local_addr;

examples/thread_add_ipcore/Makefile

Lines changed: 0 additions & 31 deletions
This file was deleted.

tests/extension/types_/ipcore_/master/Makefile renamed to examples/thread_add_ipxact/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,4 @@ check:
2727
.PHONY: clean
2828
clean:
2929
rm -rf *.pyc __pycache__ parsetab.py .cache *.out *.png *.dot tmp.v uut.vcd
30-
rm -rf *_v1_00_a
30+
rm -rf *_v1_0

0 commit comments

Comments
 (0)