Skip to content

Commit caf03f9

Browse files
committed
Add tests for tree-sitter beautify
1 parent 45b7b20 commit caf03f9

File tree

7 files changed

+1252
-12
lines changed

7 files changed

+1252
-12
lines changed

Makefile

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,11 @@ test_run_pkg_el:
3030
gen_beautify: recompile
3131
$(ERT_TESTS) gen_beautify_dir
3232

33+
gen_beautify_ts: recompile
34+
$(ERT_TESTS) gen_beautify_dir treesit
35+
3336
gen_indent: recompile
3437
$(ERT_TESTS) gen_indent_dir
35-
$(ERT_TESTS) gen_indent_dir treesit
3638

3739
gen_indent_ts: recompile
3840
$(ERT_TESTS) gen_indent_dir treesit

test/files/beautify/axi_demux.ts.beauty.sv

Lines changed: 896 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
//-----------------------------------------------------------------------------
2+
// Title : Verilog-Ext Instances Test
3+
// Project : Verilog-Ext
4+
//-----------------------------------------------------------------------------
5+
// File : instances.sv
6+
// Author : Gonzalo Larumbe
7+
// Created : 2022/11/15
8+
// Last modified : 2022/11/15
9+
//-----------------------------------------------------------------------------
10+
// Description :
11+
//
12+
//-----------------------------------------------------------------------------
13+
// Copyright (c) Gonzalo Larumbe <gonzalomlarumbe@gmail.com>
14+
//
15+
//------------------------------------------------------------------------------
16+
// Modification history:
17+
// 2022/11/15 : created
18+
//-----------------------------------------------------------------------------
19+
20+
module instances;
21+
22+
// Regular block
23+
block0 I_BLOCK0 (
24+
.Port0 (Port0),
25+
.Port1 (Port1),
26+
.Port2 (Port2)
27+
);
28+
29+
// Regular block (no space between instance name and parenthesis)
30+
block1 I_BLOCK1(
31+
.Port0 (Port0),
32+
.Port1 (Port1),
33+
.Port2 (Port2)
34+
);
35+
36+
// Regular block with parameters
37+
block2 #(
38+
.Param0 (Param0),
39+
.Param1 (Param1),
40+
.Param2 (Param2)
41+
) I_BLOCK2 (
42+
.Port0 (Port0),
43+
.Port1 (Port1),
44+
.Port2 (Port2)
45+
);
46+
47+
// Regular block with parameters (no spaces in the identifiers)
48+
block3#(
49+
.Param0 (Param0),
50+
.Param1 (Param1),
51+
.Param2 (Param2)
52+
)I_BLOCK3(
53+
.Port0 (Port0),
54+
.Port1 (Port1),
55+
.Port2 (Port2)
56+
);
57+
58+
// Generate
59+
generate
60+
for (genvar i=0; i<VALUE; i++) begin : gen_test
61+
62+
block_gen #(
63+
.Param0 (Param0),
64+
.Param1 (Param1),
65+
.Param2 (Param2)
66+
) I_BLOCK_GEN (
67+
.Port0 (Port0),
68+
.Port1 (Port1),
69+
.Port2 (Port2)
70+
);
71+
72+
end : gen_test
73+
endgenerate
74+
75+
76+
// Interfaces
77+
test_if I_TEST_IF (.clk (clk), .rst_n(rst_n));
78+
79+
test_if_params # (.param1 (param1), .param2(param2)) ITEST_IF_PARAMS (.clk (clk), .rst_n(rst_n));
80+
81+
test_if_params_array # (.param1 (param1), .param2(param2)) ITEST_IF_PARAMS_ARRAY[5:0] (.clk (clk), .rst_n(rst_n));
82+
83+
test_if_params_empty #() I_TEST_IF_PARAMS_EMPTY (.clk (clk), .rst_n(rst_n));
84+
85+
86+
// Comments and whitespaces
87+
block_ws_0
88+
I_BLOCK_WS_0 (
89+
.Port0 (Port0),
90+
.Port1 (Port1),
91+
.Port2 (Port2)
92+
);
93+
94+
block_ws_1 // Comment
95+
#( // More comments
96+
.Param0 (Param0),
97+
.Param1 (Param1),
98+
.Param2 (Param2)
99+
) // Even more comments
100+
I_BLOCK_WS_1 // More comments here
101+
(
102+
.Port0 (Port0),
103+
.Port1 (Port1),
104+
.Port2 (Port2)
105+
);
106+
107+
108+
109+
endmodule
Lines changed: 213 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,213 @@
1+
//-----------------------------------------------------------------------------
2+
// Title : MicroController Top module
3+
// Project :
4+
//-----------------------------------------------------------------------------
5+
// File : ucontroller.sv
6+
// Author : Gonzalo Martinez Larumbe
7+
// Created : 2020/02/16
8+
// Last modified : 2020/02/16
9+
//-----------------------------------------------------------------------------
10+
// Description :
11+
//
12+
//-----------------------------------------------------------------------------
13+
// Copyright (c) Gonzalo Martinez Larumbe <gonzalomlarumbe@gmail.com>
14+
//
15+
//------------------------------------------------------------------------------
16+
// Modification history :
17+
// 2020/02/16 : created
18+
//-----------------------------------------------------------------------------
19+
20+
21+
module ucontroller # (
22+
parameter logic [31:0] FREQ_CLK = 100000000,
23+
parameter logic [31:0] TX_SPEED = 115200
24+
) (
25+
input logic Clk,
26+
input logic Rst_n,
27+
// Serial interface
28+
input logic RXD,
29+
output logic TXD,
30+
// ROM
31+
input logic [11:0] ROM_Data,
32+
output logic [11:0] ROM_Addr,
33+
// Exteral HW
34+
output logic [7:0] Temp,
35+
output logic [7:0] Switches
36+
);
37+
38+
39+
// Buses arbitrating
40+
logic DMA_Oen;
41+
logic DMA_Wen;
42+
logic DMA_Cs;
43+
logic CPU_Oen;
44+
logic CPU_Wen;
45+
logic CPU_Cs;
46+
logic [7:0] CPU_Address;
47+
logic [7:0] DMA_Address;
48+
logic [7:0] DMA_DataOut;
49+
logic [7:0] CPU_DataOut;
50+
logic Dma_Idle;
51+
// Serial <-> DMA
52+
logic [7:0] TX_Data;
53+
logic TX_Ready;
54+
logic TX_Valid;
55+
logic Data_Read;
56+
logic [7:0] RX_Data;
57+
logic RX_Empty;
58+
logic RX_Full;
59+
// DMA/CPU <-> RAM
60+
logic [7:0] RAM_DataOut;
61+
logic [7:0] RAM_DataIn;
62+
// ALU <-> CPU
63+
logic [7:0] ALU_DataIn;
64+
logic [7:0] ALU_DataOut;
65+
alu_op ALU_op;
66+
logic FlagE;
67+
logic FlagN;
68+
logic FlagC;
69+
logic FlagZ;
70+
// RAM signals
71+
logic [7:0] RAM_Address;
72+
logic RAM_Wen;
73+
logic RAM_Oen;
74+
logic RAM_Cs;
75+
// DMA <-> CPU
76+
logic Bus_grant;
77+
logic Bus_req;
78+
logic Dma_Tx_Ready;
79+
logic Dma_Tx_Start;
80+
81+
82+
// Instances
83+
cpu I_CPU (
84+
.Clk,
85+
.Rst_n,
86+
// ROM Interface
87+
.ROM_Data,
88+
.ROM_Addr,
89+
// RAM Interface
90+
.RAM_Addr (CPU_Address),
91+
.DataOut (CPU_DataOut),
92+
.DataIn (RAM_DataOut),
93+
.RAM_Cs (CPU_Cs),
94+
.RAM_Wen (CPU_Wen),
95+
.RAM_Oen (CPU_Oen),
96+
// DMA Interface
97+
.DMA_Req (Bus_req),
98+
.DMA_Ack (Bus_grant),
99+
.DMA_Ready (Dma_Tx_Ready),
100+
.DMA_Tx_Start (Dma_Tx_Start),
101+
// ALU inteface
102+
.ALU_op,
103+
.ALU_DataOut,
104+
.ALU_DataIn,
105+
.FlagZ,
106+
.FlagC,
107+
.FlagN,
108+
.FlagE
109+
);
110+
111+
112+
alu I_ALU (
113+
.Clk,
114+
.Rst_n,
115+
.InData (ALU_DataIn),
116+
.OutData (ALU_DataOut),
117+
.ALU_op,
118+
.FlagZ,
119+
.FlagC,
120+
.FlagN,
121+
.FlagE
122+
);
123+
124+
125+
dma I_DMA (
126+
.Clk,
127+
.Rst_n,
128+
// CPU interface
129+
.Bus_grant,
130+
.Bus_req,
131+
.Dma_Tx_Start,
132+
.Dma_Tx_Ready,
133+
.Dma_Idle,
134+
// Serial interface
135+
.RX_Data,
136+
.RX_Empty,
137+
.RX_Full,
138+
.Data_Read,
139+
.TX_Ready,
140+
.TX_Data,
141+
.TX_Valid,
142+
// Ram interface
143+
.Address (DMA_Address),
144+
.DataOut (DMA_DataOut),
145+
.DataIn (RAM_DataOut),
146+
.Cs (DMA_Cs),
147+
.Wen (DMA_Wen),
148+
.Oen (DMA_Oen)
149+
);
150+
151+
152+
uart # (
153+
.FREQ_CLK (FREQ_CLK),
154+
.TX_SPEED (TX_SPEED)
155+
) I_UART (
156+
.Clk,
157+
.Rst_n,
158+
// TX
159+
.TX_Valid,
160+
.TX_DataIn (TX_Data),
161+
.TX_Ready,
162+
.TXD,
163+
// RX
164+
.Data_Read,
165+
.Data_Out (RX_Data),
166+
.RXD,
167+
.Full (RX_Full),
168+
.Empty (RX_Empty)
169+
);
170+
171+
172+
ram_arbiter I_RAM_ARBITER (
173+
.Clk,
174+
.Rst_n,
175+
.DMA_Bus_req (Bus_req),
176+
.DMA_Bus_grant (Bus_grant),
177+
.DMA_Idle (Dma_Idle),
178+
.CPU_DataOut,
179+
.DMA_DataOut,
180+
.RAM_DataIn,
181+
.CPU_Address,
182+
.DMA_Address,
183+
.RAM_Address,
184+
.CPU_Cs,
185+
.DMA_Cs,
186+
.RAM_Cs,
187+
.CPU_Oen,
188+
.DMA_Oen,
189+
.RAM_Oen,
190+
.CPU_Wen,
191+
.DMA_Wen,
192+
.RAM_Wen
193+
);
194+
195+
196+
197+
ram I_RAM (
198+
.Clk,
199+
.Rst_n,
200+
.Cs (RAM_Cs),
201+
.Wen (RAM_Wen),
202+
.Oen (RAM_Oen),
203+
.Address (RAM_Address),
204+
.DataIn (RAM_DataIn),
205+
.DataOut (RAM_DataOut),
206+
.Switches,
207+
.Temp
208+
);
209+
210+
211+
212+
213+
endmodule: ucontroller

test/scripts/ert-tests.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,12 @@ gen_indent_dir () {
6464
}
6565

6666
gen_beautify_dir () {
67-
run_elisp_cmd "(verilog-ext-test-beautify-gen-expected-files)"
67+
if [[ $# -ge 1 ]]; then
68+
run_elisp_cmd "(verilog-ext-test-beautify-gen-expected-files :tree-sitter)"
69+
else
70+
run_elisp_cmd "(verilog-ext-test-beautify-gen-expected-files)"
71+
fi
72+
6873
}
6974

7075
run_tests () {

0 commit comments

Comments
 (0)