Livt packages
Livt
Version 1.2.1
A compatible set of the official Livt standard-library packages for FPGA applications.
Published files (6)
tests/PackageSetCompatibility.lvt
namespace Livt.StandardLibrary.Tests
using Livt.Bits
using Livt.Bus.Axi4Lite
using Livt.Crypto.Hash
using Livt.IO
using Livt.Math.FixedPoint
using Livt.ML.Activation
using Livt.Net
using Livt.Signal.Stream
using Livt.Utils.Hashing
@Test
component PackageSetCompatibility
{
bits: Bits
checksum: InternetChecksum
relu: ReLU
memory: Ram<byte, 3>
new()
{
this.bits = new Bits()
this.checksum = new InternetChecksum()
this.relu = new ReLU()
this.memory = new Ram<byte, 3>()
}
@Test
fn ResolvesAndRunsPinnedPackageSet()
{
var valid = this.bits.GetBit(2, 1) == 1
valid = valid && Q7.ClampValue(200) == Q7.MAX
valid = valid && Sha256.BLOCK_SIZE == 64
valid = valid && this.relu.Apply(-3) == 0
valid = valid && Axi4LiteMaster32.ALL_BYTES == 0b1111
valid = valid && Crc32.BLOCK_SIZE == 16
valid = valid && Q15SampleEncoding.Decode(0x8000) == -32768
this.memory.Write(0, 0x12)
this.memory.Write(2, 0xAB)
assert this.memory.Read(0) == 0x12
assert this.memory.Read(2) == 0xAB
assert !this.memory.IsValidAddress(3)
this.checksum.Reset()
this.checksum.AddByte(0x45)
this.checksum.AddByte(0x00)
assert(valid && this.checksum.GetChecksum() == 47871)
}
}