Example #1
0
func New() (*iris16.Core, error) {
	if c, err := iris16.New(); err != nil {
		return c, err
	} else {
		if err := c.RegisterIoDevice(NewLedArray(baseAddress)); err != nil {
			return nil, err
		} else {
			return c, nil
		}
	}
}
Example #2
0
func NewDecoderUnit(control <-chan Word) (*DecoderUnit, error) {
	var dc DecoderUnit
	if core, err := iris16.New(); err != nil {
		return nil, err
	} else {
		dc.core = core
		// need to install the microcode somehow
	}

	dc.err = make(chan error)
	dc.out = make(chan *DecodedInstruction)
	dc.in = make(chan Word)
	dc.Error = dc.err
	dc.Input = dc.in
	dc.Result = dc.out
	dc.Control = control
	return &dc
}