54 lines
1.2 KiB
Markdown
54 lines
1.2 KiB
Markdown
# 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).
|
|
|
|
## Installation
|
|
|
|
```elisp
|
|
(add-to-list 'load-path "/path/to/verilog-align-ports")
|
|
(require 'verilog-align-ports)
|
|
```
|
|
|
|
## Usage
|
|
|
|
1. Place point on a line that declares a port (input/output/inout).
|
|
2. Run `M-x verilog-align-ports`.
|
|
|
|
Example input:
|
|
|
|
```systemverilog
|
|
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:
|
|
|
|
```systemverilog
|
|
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:
|
|
|
|
```bash
|
|
./run-tests.sh
|
|
```
|