Vl-server
The VL server powers the Module Browser, a web-based interface for
viewing Verilog designs.
Introduction
The VL Server lets you to browser through a Verilog or SystemVerilog design
from a web browser. Some nice features:
- Easily jump from module to module via hyperlinks
- Click on wires to see how they're used
- Get pictures (that you can print) of a module's inputs and outputs
The VL server is normally built as part of the VL kit. That is, to
start the server you can run vl server [options], where vl is the VL
command-line program described in kit.
Security Warning
The server has NO AUTHENTICATION MECHANISM. Anyone who can see your machine
on the network can browse your Verilog modules. Moreover, the module browser
software MAY HAVE SECURITY VULNERABILITIES that could allow an attacker to gain
access to your computer. You should ONLY run the module browser after first
consulting your network administrator to ensure that appropriate firewalls are
in place. You should NEVER run the module browser on an untrusted
network (e.g., the internet). IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Getting Started
See demo.sh in acl2/books/centaur/vl/kit/server-demo for
an interactive demo of the following commands.
The server reads Verilog designs from .vlzip files that are produced by
the vl-zip command. So, the first step to use the VL Server is to use
VL to zip up your designs using a command such as:
vl zip foo.sv
--search ./lib1
--search ./lib2
--name foo
--output=./translations/foo.vlzip
You can see vl-zip for more details. Once your .vlzip files
have been generated, you can point the VL server to the directory that contains
them, using a command such as:
vl server --port 3375 --root=./translations
Once the server is running, you should be able to connect your web browser
to it by entering a URL such as:
http://localhost:3375/
The server will occasionally rescan its --root directory for new
.vlzip files, and you can choose the file you want to browse from the main
page.
Other Options
For detailed usage information, you can run vl server --help or see
*vl-server-help*.
Subtopics
- Vls-scannedalist-p
- (vls-scannedalist-p x) recognizes association lists where every key satisfies stringp and each value satisfies vl-zipinfo-p.
- Vls-loadedalist-p
- (vls-loadedalist-p x) recognizes association lists where every key satisfies stringp and each value satisfies vls-data-p.
- Vls-commands
- A simple command format for interfacing between Lisp and Javascript.
- Vls-data-p
- Data that is available to vls-commands.
- Vl-server-opts-p
- Options for running vl server.
- Vl-descriptionlist-summaries
- (vl-descriptionlist-summaries x) maps vl-description-summary across a list.
- Vls-transdb
- Translations database for the VL Server.
- Vl-describe
- (vl-describe name x ss) describes the uses of name in the module
x.
- Ts-queue
- Primitive thread-safe, shared queue.
- Vls-get-plainsrc
- Vl-description->warnings
- Get the warnings from most descriptions, or nil if this
description doesn't have any warnings (e.g., an import statement, function
declaration, ...).
- Vls-showloc
- File-layout
- Where we look for translation data.
- Vls-remove-from-scannedalist
- Vls-describe
- Vl-server-top
- Top-level vl server command.
- Vls-port-table
- Vl-find-description-insensitive
- Vls-get-warnings
- Vls-get-summary
- Vls-get-origsrc
- Vl-ppc-description
- Vls-get-parents
- Vls-get-children
- Vls-data-origname-reportcard
- Vls-data-from-zip
- Start
- Vls-make-scannedalist
- Vls-get-summaries
- Vls-get-unloaded-json
- Vls-get-desctypes
- Vls-scannedalist-to-json
- Vls-loadedalist-to-json
- Vl-description-summary
- *vl-server-help*
- Vl-descalist->descriptions/types
- Stop