Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Nic30/hwtLib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,288 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

hwtLib

Travis-ci Build StatusPyPI versionCoverage StatuscodecovDocumentation Status Python version

hwtLib is the library of hardware components for hwt framework Any component can be exported as IP-exact IPcore using IpPackager or as Verilog/VHDL/SystemC code by to_rtl() (Verilog, VHDL, ...). Target language is specified by keyword parameter serializer. Note that for most of components there is a schematic in the documentation.

Content

Majority of components in this library is actually configurable component generator. For example there is no address decoder which takes a list of addresses and produces a mapped register file for Axi4Lite interface. Instead there is a component AxiLiteEndpoint, which takes hdl type description of address space and generates a address decoders and convertors to other intefaces if requested. Another example is AxiS_frameParser, which takes a hdl type description of output data and can be also used to change alignment of a frame or split/cut frame as the type description can also contains unions, struct, streams, padding and other hdl data types.

Same applies to simulation. Instead of hardcoding address values in to testbench you should use a AddressSpaceProbe to discover a addresses of mapped memory cells and use this object to communicate through the bus interface, because you want to write a verification which does not depends on interface used nor manually compute addresses for each component variant.

  • abstract - abstract classes for component classes like bus endpoint, etc
  • amba - AXI interfaces and components for them (AXI3/4 DMAs, interconnects, Axi-stream components, Axi4Lite address decoders etc...)
  • avalon - same thing as amba just for Avalon interfaces (AvalonST, AvalonMM, ... and components for them)
  • cesnet - components and interfaces specific to Cesnet designs
  • clocking - various generic PLLs, timer generators etc.
  • examples - demonstrative examples of hwt functionality
  • handshaked - components for handshaked interfaces (FIFO, AsyncFifo, Resizer, interconnects, Register, ...)
  • img - image preprocessing utils (parse PNG font to bits for OLED, ...)
  • interfaces - various interfaces which does not have it's package yet
  • logic - various components like CRC generator, gray counter, decoders-encoders ...
  • mem - various memories (BRAM, ROM, FIFO, Async FIFO, CAM, LUT, ...)
  • peripheral - various peripheral interfaces and components for them (I2C, MDIO, SPI, UART, USB, Ethernet, ...)
  • sim - simulation utils
  • structManipulators - DMAs for specific data structures
  • tests - tests which are not related to another components
  • types - deffinitions of common types (uint32_t, ipv6_t, udp_t, ...)
  • xilinx - components and interfaces specific to Xilinx based designs (IPIF, LocalLink, ...)

Installation

sudo pip3 install hwtLib

Repositories with opensource HW:

About

hardware library for hwt (= ipcore repo)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •