Utilities

  • This component includes the verified RTL Verilog code for some encoders and decoders widely used. The collection includes priority encoders, thermometer decoders, grey code and more thermometer decoder The thermometer decoder decodes a binary number into a thermometer vector with the number of bits set to 1 equal the input binary starting at bit 0
  • This component contains RTL Verilog code for a rate counter designed to measure the rate of an event. The rate counter can be used for measuring error rates, data rates or any other synchronous event. Rate counters are mostly important for system monitoring and testing, allowing system tuning and validation. The implementation of the Rate counter is based on a time counter and an event counter. The period of the time counter is typically set to 1 second so the number of events counted in the event counter during this period is actually the frequency of the event.
  • A Barrel Shifter is a logic component that perform shift or rotate operations. Barrel shifters are applicable for digital signal processors and processors. This component design is for a natural size (4,8,16…) barrel shifters that perform shift right logical, rotate right, shift left logical, and rotate left operations depending on the instantiation parameters. The left and right operation is implemented through inversion of the input and output vectors, so the basic multiplexing function can perform both operations.
  • Priority encoder is a circuit that converts multiple binary inputs into binary representation of the index of active input bit with the highest priority. Each of input has assigned priority. The least significant bit has the highest priority and the most significant bit the lowest. If more than one input is active at the same time the input having highest priority will take precedence. The priority encoder component has an additional output indicating that output signal is valid when at least one input is active.