Versions in this module Expand all Collapse all v0 v0.2.0 Jan 16, 2023 Changes in this version + func CreateFile(FolderPath string, FileName string, TemplateFile string, Data interface{}) + func FileNameGen(EntityName string) (VHDLFile string, TestFile string) + func MaxSwitchingTestData(Mult VHDLEntityMultiplier, FolderPath string, N uint) + func N(stop uint) (stream chan uint) + func NormalTestData(Mult VHDLEntityMultiplier, FolderPath string, N uint) + func OverflowCheck16bit(input uint) (output uint, overflow bool) + func OverflowCheck8bit(input uint) (output uint, overflow bool) + func OverflowCheckGeneric(input uint, n uint) (output uint, overflow bool) + func RandomNormalInput(size int) int + func UniformTestData(Mult VHDLEntityMultiplier, FolderPath string, N uint) + type Correlator struct + BitSize uint + EntityName string + MACArray [4]VHDLEntity + OutputSize uint + TestFile string + VHDLFile string + func NewCorrelator(EntityName string, MACArray [4]VHDLEntity) *Correlator + func (corr *Correlator) GenerateTestData(FolderPath string) + func (corr *Correlator) GenerateVHDL(FolderPath string) + func (corr *Correlator) GenerateVHDLEntityArray() []VHDLEntity + func (corr *Correlator) ReturnData() *EntityData + func (corr *Correlator) String() string + type EntityData struct + BitSize uint + EntityName string + OutputSize uint + TestFile string + VHDLFile string + type ExternalMult struct + Behaviour [][]uint + BitSize uint + EntityName string + ExtraVHDLEntity []VHDLEntity + OutputSize uint + TemplateFile string + TestFile string + VHDLFile string + func NewExternalMult(EntityName string, BitSize uint, Template string) *ExternalMult + func (ext *ExternalMult) AddVHDLEntity(Entity VHDLEntity) + func (ext *ExternalMult) AverageRelativeError() float64 + func (ext *ExternalMult) GenerateTestData(FolderPath string) + func (ext *ExternalMult) GenerateVHDL(FolderPath string) + func (ext *ExternalMult) GenerateVHDLEntityArray() []VHDLEntity + func (ext *ExternalMult) MeanAbsoluteError() float64 + func (ext *ExternalMult) MeanAbsoluteErrorNormalDist(N int) float64 + func (ext *ExternalMult) Overflow() bool + func (ext *ExternalMult) ParseXSIMOutput(FolderPath string) + func (ext *ExternalMult) ReturnData() *EntityData + func (ext *ExternalMult) ReturnVal(a, b uint) uint + func (ext *ExternalMult) String() string + type LUT2D struct + BitSize uint + EntityName string + LUT [][]uint + OutputSize uint + TestFile string + VHDLFile string + func New2DLUT(EntityName string, BitSize uint) *LUT2D + func New2DUnsignedAcc(EntityName string, BitSize uint) *LUT2D + func (m *LUT2D) GenerateTestData(FolderPath string) + func (m *LUT2D) GenerateVHDL(FolderPath string) + func (m *LUT2D) GenerateVHDLEntityArray() []VHDLEntity + func (m *LUT2D) MeanAbsoluteError() float64 + func (m *LUT2D) Overflow() bool + func (m *LUT2D) Print() + func (m *LUT2D) ReturnData() *EntityData + func (m *LUT2D) ReturnVal(a, b uint) uint + func (m *LUT2D) String() string + type MAC struct + BitSize uint + CurrentValue uint + EntityName string + MaximumValue uint + Multiplier VHDLEntityMultiplier + OutputSize uint + T uint + TestFile string + VHDLFile string + func NewMAC(Multiplier VHDLEntityMultiplier, T uint) *MAC + func (mac *MAC) GenerateTestData(FolderPath string) + func (mac *MAC) GenerateVHDL(FolderPath string) + func (mac *MAC) GenerateVHDLEntityArray() []VHDLEntity + func (mac *MAC) MeanAbsoluteError() float64 + func (mac *MAC) Overflow() bool + func (mac *MAC) ResetVal() + func (mac *MAC) ReturnData() *EntityData + func (mac *MAC) ReturnVal(a uint, b uint) uint + func (mac *MAC) String() string + type Modification struct + A uint + B uint + O uint + type Multiplier interface + MeanAbsoluteError func() float64 + Overflow func() bool + ReturnVal func(uint, uint) uint + type Recursive4 struct + BitSize uint + EntityName string + LUTArray [4]VHDLEntityMultiplier + OutputSize uint + OverflowError bool + TestFile string + VHDLFile string + func NewRecursive4(EntityName string, LUTArray [4]VHDLEntityMultiplier) *Recursive4 + func (r4 *Recursive4) AverageRelativeError() float64 + func (r4 *Recursive4) GenerateTestData(FolderPath string) + func (r4 *Recursive4) GenerateVHDL(FolderPath string) + func (r4 *Recursive4) GenerateVHDLEntityArray() []VHDLEntity + func (r4 *Recursive4) MeanAbsoluteError() float64 + func (r4 *Recursive4) MeanAbsoluteErrorNormalDist(N int) float64 + func (r4 *Recursive4) Overflow() bool + func (r4 *Recursive4) ReturnData() *EntityData + func (r4 *Recursive4) ReturnVal(a uint, b uint) uint + func (r4 *Recursive4) String() string + type Recursive8 struct + BitSize uint + EntityName string + OutputSize uint + OverflowError bool + Rec4Array [4]VHDLEntityMultiplier + TestFile string + VHDLFile string + func NewRecursive8(EntityName string, Rec4Array [4]VHDLEntityMultiplier) *Recursive8 + func (r8 *Recursive8) AverageRelativeError() float64 + func (r8 *Recursive8) GenerateTestData(FolderPath string) + func (r8 *Recursive8) GenerateVHDL(FolderPath string) + func (r8 *Recursive8) GenerateVHDLEntityArray() []VHDLEntity + func (r8 *Recursive8) MeanAbsoluteError() float64 + func (r8 *Recursive8) Overflow() bool + func (r8 *Recursive8) ReturnData() *EntityData + func (r8 *Recursive8) ReturnVal(a uint, b uint) uint + func (r8 *Recursive8) String() string + type Scaler struct + BitSize uint + Entity VHDLEntityMultiplier + EntityName string + LUTName string + MAC bool + OutputSize uint + ScaleN uint + TestFile string + VHDLFile string + func New2DScaler(Entity VHDLEntityMultiplier, N uint) *Scaler + func (scl *Scaler) GenerateTestData(FolderPath string) + func (scl *Scaler) GenerateVHDL(FolderPath string) + func (scl *Scaler) GenerateVHDLEntityArray() []VHDLEntity + func (scl *Scaler) MeanAbsoluteError() float64 + func (scl *Scaler) Overflow() bool + func (scl *Scaler) ReturnData() *EntityData + func (scl *Scaler) ReturnVal(a uint, b uint) uint + func (scl *Scaler) SetMAC(b bool, OutputSize uint) + func (scl *Scaler) String() string + type UnsignedApproxMultiplyer struct + LUT2D *LUT2D + Mods []Modification + func M1() *UnsignedApproxMultiplyer + func M2() *UnsignedApproxMultiplyer + func M3() *UnsignedApproxMultiplyer + func M4() *UnsignedApproxMultiplyer + func NewUnsignedApprox(EntityName string, BitSize uint) *UnsignedApproxMultiplyer + func (m *UnsignedApproxMultiplyer) AddModification(mod Modification) + func (m *UnsignedApproxMultiplyer) ExecModifications() + type UnsignedNumericAccurateMAC struct + BitSize uint + CurrentValue uint + EntityName string + MaximumValue uint + OutputSize uint + T uint + TestFile string + VHDLFile string + func NewUnsignedAccurateMAC(BitSize uint, T uint) *UnsignedNumericAccurateMAC + func (mac *UnsignedNumericAccurateMAC) GenerateTestData(FolderPath string) + func (mac *UnsignedNumericAccurateMAC) GenerateVHDL(FolderPath string) + func (mac *UnsignedNumericAccurateMAC) GenerateVHDLEntityArray() []VHDLEntity + func (mac *UnsignedNumericAccurateMAC) MeanAbsoluteError() float64 + func (mac *UnsignedNumericAccurateMAC) Overflow() bool + func (mac *UnsignedNumericAccurateMAC) ResetVal() + func (mac *UnsignedNumericAccurateMAC) ReturnData() *EntityData + func (mac *UnsignedNumericAccurateMAC) ReturnVal(a uint, b uint) uint + func (mac *UnsignedNumericAccurateMAC) String() string + type UnsignedNumericAccurateMultiplyer struct + BitSize uint + EntityName string + TestFile string + VHDLFile string + func NewAccurateNumMultiplyer(EntityName string, BitSize uint) *UnsignedNumericAccurateMultiplyer + func (m *UnsignedNumericAccurateMultiplyer) GenerateTestData(FolderPath string) + func (m *UnsignedNumericAccurateMultiplyer) GenerateVHDL(FolderPath string) + func (m *UnsignedNumericAccurateMultiplyer) GenerateVHDLEntityArray() []VHDLEntity + func (m *UnsignedNumericAccurateMultiplyer) MeanAbsoluteError() float64 + func (m *UnsignedNumericAccurateMultiplyer) Overflow() bool + func (m *UnsignedNumericAccurateMultiplyer) ReturnData() *EntityData + func (m *UnsignedNumericAccurateMultiplyer) ReturnVal(a uint, b uint) uint + func (m *UnsignedNumericAccurateMultiplyer) String() string + type VHDLEntity interface + GenerateTestData func(string) + GenerateVHDL func(string) + GenerateVHDLEntityArray func() []VHDLEntity + ReturnData func() *EntityData + String func() string + func RemoveDuplicate(Array []VHDLEntity) []VHDLEntity + type VHDLEntityMultiplier interface