nitta-0.0.0.1: Tool for Hard Real-Time CGRA Processors
Copyright(c) Aleksandr Penskoi 2019
LicenseBSD3
Maintaineraleksandr.penskoi@gmail.com
Stabilityexperimental
Safe HaskellSafe-Inferred
LanguageHaskell2010

NITTA.Model.ProcessorUnits.Fram

Description

 
Synopsis

Documentation

data Fram v x t Source #

Constructors

Fram 

Fields

Instances

Instances details
Show (IOPorts (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

showsPrec :: Int -> IOPorts (Fram v x t) -> ShowS #

show :: IOPorts (Fram v x t) -> String #

showList :: [IOPorts (Fram v x t)] -> ShowS #

Show (Instruction (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

showsPrec :: Int -> Instruction (Fram v x t) -> ShowS #

show :: Instruction (Fram v x t) -> String #

showList :: [Instruction (Fram v x t)] -> ShowS #

Show (Microcode (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

showsPrec :: Int -> Microcode (Fram v x t) -> ShowS #

show :: Microcode (Fram v x t) -> String #

showList :: [Microcode (Fram v x t)] -> ShowS #

Show (Ports (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

showsPrec :: Int -> Ports (Fram v x t) -> ShowS #

show :: Ports (Fram v x t) -> String #

showList :: [Ports (Fram v x t)] -> ShowS #

Default (Microcode (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

def :: Microcode (Fram v x t) #

Eq (Microcode (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

(==) :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Bool #

(/=) :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Bool #

Ord (Microcode (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

compare :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Ordering #

(<) :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Bool #

(<=) :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Bool #

(>) :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Bool #

(>=) :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Bool #

max :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Microcode (Fram v x t) #

min :: Microcode (Fram v x t) -> Microcode (Fram v x t) -> Microcode (Fram v x t) #

(Default t, Default x) => Default (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

def :: Fram v x t #

Connected (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Associated Types

data Ports (Fram v x t) Source #

Controllable (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Associated Types

data Instruction (Fram v x t) Source #

data Microcode (Fram v x t) Source #

IOConnected (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Associated Types

data IOPorts (Fram v x t) Source #

UnambiguouslyDecode (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

decodeInstruction :: Instruction (Fram v x t) -> Microcode (Fram v x t) Source #

VarValTime v x t => TargetSystemComponent (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

VarValTime v x t => Pretty (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

pretty :: Fram v x t -> Doc ann #

prettyList :: [Fram v x t] -> Doc ann #

Var v => Locks (Fram v x t) v Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

locks :: Fram v x t -> [Lock v] Source #

Default x => DefaultX (Fram v x t) x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

defX :: Fram v x t -> x Source #

VarValTime v x t => Variables (Fram v x t) v Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

variables :: Fram v x t -> Set v Source #

VarValTime v x t => EndpointProblem (Fram v x t) v t Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

VarValTime v x t => BreakLoopProblem (Fram v x t) v x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

breakLoopOptions :: Fram v x t -> [BreakLoop v x] Source #

breakLoopDecision :: Fram v x t -> BreakLoop v x -> Fram v x t Source #

ConstantFoldingProblem (Fram v x t) v x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

OptimizeAccumProblem (Fram v x t) v x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

OptimizeLogicalUnitProblem (Fram v x t) v x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

ResolveDeadlockProblem (Fram v x t) v x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

IOTestBench (Fram v x t) v x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

VarValTime v x t => Testable (Fram v x t) v x Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

VarValTime v x t => ProcessorUnit (Fram v x t) v x t Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

tryBind :: F v x -> Fram v x t -> Either String (Fram v x t) Source #

process :: Fram v x t -> Process t (StepInfo v x t) Source #

parallelismType :: Fram v x t -> ParallelismType Source #

puSize :: Fram v x t -> Float Source #

VarValTime v x t => WithFunctions (Fram v x t) (F v x) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

functions :: Fram v x t -> [F v x] Source #

data IOPorts (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

data IOPorts (Fram v x t) = FramIO
data Instruction (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

data Microcode (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

data Ports (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

data family Ports pu :: Type Source #

A processor unit control ports (signals, flags).

Instances

Instances details
Show (Ports (BusNetwork tag v x t)) Source # 
Instance details

Defined in NITTA.Model.Networks.Bus

Methods

showsPrec :: Int -> Ports (BusNetwork tag v x t) -> ShowS #

show :: Ports (BusNetwork tag v x t) -> String #

showList :: [Ports (BusNetwork tag v x t)] -> ShowS #

Show (Ports (Accum v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Accum

Methods

showsPrec :: Int -> Ports (Accum v x t) -> ShowS #

show :: Ports (Accum v x t) -> String #

showList :: [Ports (Accum v x t)] -> ShowS #

Show (Ports (Broken v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Broken

Methods

showsPrec :: Int -> Ports (Broken v x t) -> ShowS #

show :: Ports (Broken v x t) -> String #

showList :: [Ports (Broken v x t)] -> ShowS #

Show (Ports (Comparator v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Comparator

Methods

showsPrec :: Int -> Ports (Comparator v x t) -> ShowS #

show :: Ports (Comparator v x t) -> String #

showList :: [Ports (Comparator v x t)] -> ShowS #

Show (Ports (Divider v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Divider

Methods

showsPrec :: Int -> Ports (Divider v x t) -> ShowS #

show :: Ports (Divider v x t) -> String #

showList :: [Ports (Divider v x t)] -> ShowS #

Show (Ports (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

showsPrec :: Int -> Ports (Fram v x t) -> ShowS #

show :: Ports (Fram v x t) -> String #

showList :: [Ports (Fram v x t)] -> ShowS #

Show (Ports (SimpleIO i v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.IO.SimpleIO

Methods

showsPrec :: Int -> Ports (SimpleIO i v x t) -> ShowS #

show :: Ports (SimpleIO i v x t) -> String #

showList :: [Ports (SimpleIO i v x t)] -> ShowS #

Show (Ports (LogicalUnit v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.LogicalUnit

Methods

showsPrec :: Int -> Ports (LogicalUnit v x t) -> ShowS #

show :: Ports (LogicalUnit v x t) -> String #

showList :: [Ports (LogicalUnit v x t)] -> ShowS #

Show (Ports (Multiplier v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Multiplier

Methods

showsPrec :: Int -> Ports (Multiplier v x t) -> ShowS #

show :: Ports (Multiplier v x t) -> String #

showList :: [Ports (Multiplier v x t)] -> ShowS #

Show (Ports (Shift v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Shift

Methods

showsPrec :: Int -> Ports (Shift v x t) -> ShowS #

show :: Ports (Shift v x t) -> String #

showList :: [Ports (Shift v x t)] -> ShowS #

data Ports (Accum v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Accum

data Ports (Broken v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Broken

data Ports (Comparator v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Comparator

data Ports (Divider v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Divider

data Ports (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

data Ports (LogicalUnit v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.LogicalUnit

data Ports (Multiplexer v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Multiplexer

data Ports (Multiplier v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Multiplier

data Ports (Shift v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Shift

data Ports (BusNetwork tag v x t) Source # 
Instance details

Defined in NITTA.Model.Networks.Bus

data Ports (BusNetwork tag v x t) = BusNetworkPorts
data Ports (SimpleIO i v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.IO.SimpleIO

data family IOPorts pu :: Type Source #

Instances

Instances details
Show (IOPorts (BusNetwork tag v x t)) Source # 
Instance details

Defined in NITTA.Model.Networks.Bus

Methods

showsPrec :: Int -> IOPorts (BusNetwork tag v x t) -> ShowS #

show :: IOPorts (BusNetwork tag v x t) -> String #

showList :: [IOPorts (BusNetwork tag v x t)] -> ShowS #

Show (IOPorts (Accum v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Accum

Methods

showsPrec :: Int -> IOPorts (Accum v x t) -> ShowS #

show :: IOPorts (Accum v x t) -> String #

showList :: [IOPorts (Accum v x t)] -> ShowS #

Show (IOPorts (Broken v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Broken

Methods

showsPrec :: Int -> IOPorts (Broken v x t) -> ShowS #

show :: IOPorts (Broken v x t) -> String #

showList :: [IOPorts (Broken v x t)] -> ShowS #

Show (IOPorts (Comparator v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Comparator

Methods

showsPrec :: Int -> IOPorts (Comparator v x t) -> ShowS #

show :: IOPorts (Comparator v x t) -> String #

showList :: [IOPorts (Comparator v x t)] -> ShowS #

Show (IOPorts (Divider v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Divider

Methods

showsPrec :: Int -> IOPorts (Divider v x t) -> ShowS #

show :: IOPorts (Divider v x t) -> String #

showList :: [IOPorts (Divider v x t)] -> ShowS #

Show (IOPorts (Fram v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

Methods

showsPrec :: Int -> IOPorts (Fram v x t) -> ShowS #

show :: IOPorts (Fram v x t) -> String #

showList :: [IOPorts (Fram v x t)] -> ShowS #

Show (IOPorts (I2C v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.IO.I2C

Methods

showsPrec :: Int -> IOPorts (I2C v x t) -> ShowS #

show :: IOPorts (I2C v x t) -> String #

showList :: [IOPorts (I2C v x t)] -> ShowS #

Show (IOPorts (SPI v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.IO.SPI

Methods

showsPrec :: Int -> IOPorts (SPI v x t) -> ShowS #

show :: IOPorts (SPI v x t) -> String #

showList :: [IOPorts (SPI v x t)] -> ShowS #

Show (IOPorts (LogicalUnit v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.LogicalUnit

Methods

showsPrec :: Int -> IOPorts (LogicalUnit v x t) -> ShowS #

show :: IOPorts (LogicalUnit v x t) -> String #

showList :: [IOPorts (LogicalUnit v x t)] -> ShowS #

Show (IOPorts (Multiplexer v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Multiplexer

Methods

showsPrec :: Int -> IOPorts (Multiplexer v x t) -> ShowS #

show :: IOPorts (Multiplexer v x t) -> String #

showList :: [IOPorts (Multiplexer v x t)] -> ShowS #

Show (IOPorts (Multiplier v x t)) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Multiplier

Methods

showsPrec :: Int -> IOPorts (Multiplier v x t) -> ShowS #

show :: IOPorts (Multiplier v x t) -> String #

showList :: [IOPorts (Multiplier v x t)] -> ShowS #

data IOPorts (Accum v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Accum

data IOPorts (Accum v x t) = AccumIO
data IOPorts (Broken v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Broken

data IOPorts (Broken v x t) = BrokenIO
data IOPorts (Comparator v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Comparator

data IOPorts (Divider v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Divider

data IOPorts (Divider v x t) = DividerIO
data IOPorts (Fram v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Fram

data IOPorts (Fram v x t) = FramIO
data IOPorts (I2C v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.IO.I2C

data IOPorts (SPI v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.IO.SPI

data IOPorts (LogicalUnit v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.LogicalUnit

data IOPorts (Multiplexer v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Multiplexer

data IOPorts (Multiplier v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Multiplier

data IOPorts (Shift v x t) Source # 
Instance details

Defined in NITTA.Model.ProcessorUnits.Shift

data IOPorts (Shift v x t) = ShiftIO
data IOPorts (BusNetwork tag v x t) Source # 
Instance details

Defined in NITTA.Model.Networks.Bus

framWithSize :: (Default x, Default t) => Int -> Fram v x t Source #