Verilog Gadget
🔧 Verilog plugin for Sublime Text 2/3. It helps to generate a simple testbench, instantiate a module, insert a user-header, repeat codes with formatted incremental/decremental numbers, etc.
Labels verilog
Details
Installs
- Total 17K
- Win 13K
- Mac 1K
- Linux 3K
Dec 30 | Dec 29 | Dec 28 | Dec 27 | Dec 26 | Dec 25 | Dec 24 | Dec 23 | Dec 22 | Dec 21 | Dec 20 | Dec 19 | Dec 18 | Dec 17 | Dec 16 | Dec 15 | Dec 14 | Dec 13 | Dec 12 | Dec 11 | Dec 10 | Dec 9 | Dec 8 | Dec 7 | Dec 6 | Dec 5 | Dec 4 | Dec 3 | Dec 2 | Dec 1 | Nov 30 | Nov 29 | Nov 28 | Nov 27 | Nov 26 | Nov 25 | Nov 24 | Nov 23 | Nov 22 | Nov 21 | Nov 20 | Nov 19 | Nov 18 | Nov 17 | Nov 16 | Nov 15 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Windows | 3 | 2 | 1 | 3 | 5 | 3 | 3 | 5 | 6 | 3 | 6 | 5 | 5 | 6 | 2 | 2 | 1 | 2 | 4 | 8 | 8 | 6 | 2 | 3 | 2 | 3 | 5 | 5 | 6 | 1 | 2 | 8 | 2 | 0 | 0 | 0 | 1 | 5 | 4 | 5 | 1 | 6 | 6 | 3 | 11 | 2 |
Mac | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 |
Linux | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 2 | 0 | 1 | 0 | 0 | 1 | 0 | 3 | 1 | 2 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 1 |
Readme
- Source
- raw.githubusercontent.com
Verilog Gadget for Sublime Text
Use Verilog Gadget Commands in command palette (ctrl+shift+p) or context menu to run.
The context menu only can be seen for .v, .vh, .sv, .svh
file.
(file extensions can be added or changed in settings). The theme is Guna, which is used in examples.
There's a linter plug-in for Verilog. SublimeLinter-contrib-verilator
Verilog Gadget: Instantiate Module (ctrl+shift+c)
- It parses module ports for the currently open file
- It generates an instance text of the module
- It copies generated text to clipboard
- Then, you can paste the text to the desired location
- Supports Verilog-1995, Verilog-2001 style ports and parameters
- example)
Verilog Gadget: Generate Testbench
- It parses module ports for the currently open file
- It generates a simple testbench with an instance and signals of the module
- The testbench is created as a systemverilog file
- Supports Verilog-1995, Verilog-2001 style ports and parameters
- example)
Verilog Gadget: Simulaton Template
- It creates files for simulation based on the template
- You can make your own template as a compressed file (.zip,.tar,.tgz)
- You can specify the path of your template (
"simulation_template"
,"simulation_directory
“) 'example-modelsim'
is the template for modelsim,'example-vcs'
is the template for vcs- It automatically generates the testbench files for the current view
- It changes keywords in files of the template (
{{TESTBENCH FILE}}
,{{TESTBENCH NAME}}
,{{MODULE FILE}}
,{{MODULE NAME}}
,{{MODULE PORTLIST}}
) - example)
Verilog Gadget: Insert Header (ctrl+shift+insert)
- You can insert your own header-description in a format from the file specified in settings
{YEAR}
is replaced as the current year{DATE}
is replaced as the create date{TIME}
is replaced as the create time{RDATE}
is replaced as the revised date{RTIME}
is replaced as the revised time{FILE}
is replaced as the file name{TABS}
is replaced as the tab size{SUBLIME_VERSION}
is replaced as the current sublime text version- example) header example
Verilog Gadget: Repeat Code with Numbers (ctrl+f12)
- Select codes you want to repeat, this may include Python's format symbol, such as {…}
- Enter a range in the input panel as the following : [from]~[to],[↓step],[→step]
(e.g. 0~10 or 0~10,2 or 10~0,-1 or 0~5,1,1 ...)
- [↓step] means the row step, default is 1, [→step] means the column step, default is 0
- The code is repeated in incremental or decremental numbers
- Python's format symbol supports variable formats : binary, hex, leading zeros, …
- To use '{' as it is, you must enter twice like '{{'
- Refer to Python's format symbol here, https://www.python.org/dev/peps/pep-3101/
- For sublime text 2 (python 2.x), you must put an index behind ':' in curly brackets like
foo {0:5b} bar {1:3d}
- example)
- The index can be used to repeat the same number
- example)
- It is possible to repeat numbers with clipboard text (line by line)
- Use
{cb}
for clipboard text - example)
- The simplest way is added using multiple selection.
- Select multiple strings (or blanks) using
shift + l
orctrl + LButton
- You can also select sparsely.
- example) [] ← selected position, set a range - start = 1, step = 2
abc <= []; abc <= 1;
def <= []; def <= 3;
ghi <= []; → ghi <= 5;
jkl <= []; jkl <= 7;
mno <= []; mno <= 9;
Verilog Gadget: Alignment (ctrl+shift+x)
- Select a range to apply the alignment to
- Press the shortcut key
- Alignment is based on the longest length of the left hand side in the selection
- Tabs are replaced as spaces except indentation
- example)
Verilog Gadget: Insert Snippet (ctrl+alt+p)
- You can make your own parameterized snippets like this example
- Add your snippet settings like this
- Run Insert Snippet command
- example)
Verilog Gadget: Convert Digits (HEX → DEC, DEC → HEX) (alt+shift+up, alt+shift+down)
- Select Digits and Press the key (alt+shift+↑) - 10 → 16
- Select Digits and Press the key (alt+shift+↓) - 16 → 10
Verilog Gadget: VCD to WaveDrom (ctrl+alt+v)
- WaveDrom : digital timing diagram editor
- Open .vcd file (a clock should be included)
- Run VCD to WaveDrom command
Verilog Linter (another package)
SublimeLinter-contrib-verilator
Donate
Thank you for donating. It is helpful to continue to improve the plug-in.
Issues
When you have an issue, tell me through https://github.com/poucotm/Verilog-Gadget/issues, or send me an e-mail poucotm@gmail.com