Network Wizard for VHDL Test Benches
Network Wizard for VHDL Test Benches Documentation

GitHub release (latest SemVer) GitHub Workflow Status GitHub top language

Intro

NetWiz is a stand-alone VHDL library for network protocol packet generation and manipulation. NetWiz offers a stateless and functional API.

NetWiz requires VHDL 2008 and is designed for test bench use only, synthesis is not supported. NetWiz is licensed under the MIT license.

Libraries

Netwiz consists of several libraries. Libraries not related to a specific network protocol are:

  • nw_adapt:
    • Configurable settings
  • nw_codec:
  • nw_pcap:
    • nw_pcap: Read network packets from PCAP/PCAPNG files (produced by Wireshark, tcmpdump et.al.)
  • nw_util:
    • nw_util: Functions for data array manipulation
    • nw_crc: CRC and checksum generation
    • nw_prbs: Pseudo-Random Binary Sequence generation.
    • nw_nrs: Non-Random Sequence generation

Protocol specific libraries:

  • nw_ethernet:
    • nw_ethernet: Create and manipulate Ethernet packets
    • nw_arp: Create and manipulate ARP packets
  • nw_ipv4:
    • nw_ipv4: Create and manipulate IPv4 packets
    • nw_udp: Create and manipulate UDP packets for IPv4
    • nw_icmp: Create and manipulate ICMPv4 packets
    • nw_tcp: Create and manipulate TCP packets for IPv4
  • nw_ipv6:
    • nw_ipv6: Create and manipulate IPv6 packets
    • nw_udp: Create and manipulate UDP packets for IPv6
    • nw_icmp: Create and manipulate ICMPv6 packets
    • nw_tcp: Create and manipulate TCP packets for IPv6
  • nw_ptp:
    • nw_ptpv2: Create and manipulate IEEE1588v2 packets
  • nw_usb:
    • nw_usb: Create and manipulate USB packets

Additional protocol libraries are expected to be added in the future.

Documentation

The NetWiz API is documented here.