2102adc1dabe9384278d49fd0a250aae10f95513
verilog-align-ports
Align SystemVerilog ANSI-style port declarations in a contiguous block around point.
Features
- Aligns direction, type, range, name, and trailing
//comments. - Works on the contiguous block of port declarations above and below point.
- Stops at the first non-port line (including blank lines).
- Aligns named port connections in module instantiations via
verilog-align-ports-instantiation.
Installation
(add-to-list 'load-path "/path/to/verilog-align-ports")
(require 'verilog-align-ports)
Usage
- Place point on a line that declares a port (input/output/inout).
- Run
M-x verilog-align-ports.
For module instantiations:
- Place point on a named port connection line (e.g.,
.clk_i (clk)or.full_o,). - Run
M-x verilog-align-ports-instantiation.
Example input:
input wire rst_i, // rst,
input wire clk_i, // wr_clk,
input wire [DataWidth-1:0] d_i, // din,
output logic full_o, // full,
output [DataWidth-1:0] d_o, // dout,
output empty_o,// empty,
output logic valid_o // data_valid
Example output:
input wire rst_i, // rst,
input wire clk_i, // wr_clk,
input wire [DataWidth-1:0] d_i, // din,
output logic full_o, // full,
output [DataWidth-1:0] d_o, // dout,
output empty_o, // empty,
output logic valid_o // data_valid
Tests
Run:
./run-tests.sh
Description
Languages
Emacs Lisp
99.5%
Shell
0.5%