fn

package
v0.0.0-...-ea60fba Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 16, 2024 License: GPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

Package fbdl/func implements FBDL functionality types.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Blackbox

type Blackbox struct {
	Func

	Size int64

	Sizes     access.Sizes
	AddrSpace addrSpace.AddrSpace
}

func (Blackbox) Type

func (b Blackbox) Type() string

type Block

type Block struct {
	Func

	Masters int64
	Reset   string
	Width   int64

	Sizes     access.Sizes
	AddrSpace addrSpace.AddrSpace

	Consts cnst.Container

	Blackboxes []*Blackbox
	Configs    []*Config
	Irqs       []*Irq
	Masks      []*Mask
	Memories   []*Memory
	Procs      []*Proc
	Statics    []*Static
	Statuses   []*Status
	Streams    []*Stream
	Subblocks  []*Block
}

func (*Block) GroupedInsts

func (b *Block) GroupedInsts() []Groupable

func (*Block) StartAddr

func (b *Block) StartAddr() int64

StartAddr returns block start address. In case of array of blocks it returns the start address of the first block.

func (Block) Type

func (b Block) Type() string

type Config

type Config struct {
	Func

	Atomic     bool
	InitValue  val.BitStr
	Groups     []string
	Range      val.Range
	ReadValue  val.BitStr
	ResetValue val.BitStr
	Width      int64

	Access access.Access
}

func (*Config) GroupNames

func (c *Config) GroupNames() []string

func (Config) Type

func (c Config) Type() string

type Func

type Func struct {
	Name    string
	Doc     string
	IsArray bool
	Count   int64
}

func (Func) GetName

func (f Func) GetName() string

type Functionality

type Functionality interface {
	GetName() string
	Type() string
	// contains filtered or unexported methods
}

type GroupHolder

type GroupHolder interface {
	GroupedInsts() []Groupable
}

type Groupable

type Groupable interface {
	Functionality
	GroupNames() []string
}

type Irq

type Irq struct {
	Func

	AddEnable        bool
	Clear            string
	EnableInitValue  val.BitStr
	EnableResetValue val.BitStr
	Groups           []string
	InTrigger        string
	OutTrigger       string

	Access access.Access
}

func (*Irq) GroupNames

func (i *Irq) GroupNames() []string

func (Irq) Type

func (i Irq) Type() string

type Mask

type Mask struct {
	Func

	Atomic     bool
	Groups     []string
	InitValue  val.BitStr
	ReadValue  val.BitStr
	ResetValue val.BitStr
	Width      int64

	Access access.Access
}

func (*Mask) GroupNames

func (m *Mask) GroupNames() []string

func (Mask) Type

func (m Mask) Type() string

type Memory

type Memory struct {
	Func

	Access          string
	ByteWriteEnable bool
	ReadLatency     int64
	Size            int64
	Width           int64
}

func (Memory) Type

func (m Memory) Type() string

type Param

type Param struct {
	Func

	Groups []string
	Range  val.Range
	Width  int64

	Access access.Access
}

func (*Param) GroupNames

func (p *Param) GroupNames() []string

func (Param) Type

func (p Param) Type() string

type Proc

type Proc struct {
	Func

	Delay *val.Time

	Params  []*Param
	Returns []*Return

	CallAddr *int64
	ExitAddr *int64
}

func (*Proc) IsEmpty

func (p *Proc) IsEmpty() bool

IsEmpty returns true if proc is empty proc (has no params and no returns).

func (*Proc) IsParam

func (p *Proc) IsParam() bool

IsParam returns true if proc is param proc (has only params).

func (*Proc) IsReturn

func (p *Proc) IsReturn() bool

IsReturn returns true if proc is return proc (has only returns).

func (*Proc) ParamsBufSize

func (p *Proc) ParamsBufSize() int64

func (*Proc) ParamsStartAddr

func (p *Proc) ParamsStartAddr() int64

ParamsStartAddr panics if proc has no params.

func (*Proc) ReturnsBufSize

func (p *Proc) ReturnsBufSize() int64

func (*Proc) ReturnsStartAddr

func (p *Proc) ReturnsStartAddr() int64

ReturnsStartAddr panics if proc has no returns.

func (Proc) Type

func (p Proc) Type() string

type Return

type Return struct {
	Func

	Groups []string
	Width  int64

	Access access.Access
}

func (*Return) GroupNames

func (r *Return) GroupNames() []string

func (Return) Type

func (r Return) Type() string

type Static

type Static struct {
	Func

	Groups     []string
	InitValue  val.BitStr
	ReadValue  val.BitStr
	ResetValue val.BitStr
	Width      int64

	Access access.Access
}

func (Static) Type

func (s Static) Type() string

type Status

type Status struct {
	Func

	Atomic    bool
	Groups    []string
	ReadValue val.BitStr
	Width     int64

	Access access.Access
}

func (*Status) GroupNames

func (s *Status) GroupNames() []string

func (Status) Type

func (s Status) Type() string

type Stream

type Stream struct {
	Func

	Delay *val.Time

	Params  []*Param
	Returns []*Return

	StbAddr int64
}

func (*Stream) IsDownstream

func (s *Stream) IsDownstream() bool

IsDownstream returns true if Stream has only params or Stream has not params and no returns. Empty stream is treated as a downstream.

func (*Stream) IsUpstream

func (s *Stream) IsUpstream() bool

IsUpstream returns true if Stream has only returns.

func (*Stream) StartAddr

func (s *Stream) StartAddr() int64

func (Stream) Type

func (s Stream) Type() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL