fsub worx as well

master
kaqu 1 year ago
parent 46ec29a7a6
commit b0bea6f2d6
  1. 18
      libmodules/bfloat16nncore.py

@ -201,18 +201,26 @@ class bfloat16NeuralNetworkCore(Module, AutoCSR, AutoDoc, ModuleDoc):
NextValue(self.Loader_Delay, self.Loader_Delay + 1), # Increment
)
)
"""
fpu.fdiv
fpu.fsqrt
fpu.fmadd
fpu.fmsub
fpu.fnmadd
fpu.fnmsub
fpu.fmin
fpu.fmax
"""
Loader_fsm.act("Loader_EXEC1",
NextValue(self.b16Status.storage[5], True), # Current status added
#NextValue(fpu.fadd, True), # This command requested
NextValue(fpu.fmul, True), # This command requested
NextValue(fpu.fsub, True), # This command requested
NextValue(fpu.fready, False), # Engage trigger
NextState("Loader_EXEC2")
)
Loader_fsm.act("Loader_EXEC2",
NextValue(self.b16Status.storage[6], True), # Current status added
If(fpu.fready,
#NextValue(fpu.fadd, False), # Clear command request
NextValue(fpu.fmul, False), # Clear command request
If(fpu.fready,
NextValue(fpu.fsub, False), # Clear command request
NextValue(self.b16Result.storage, fpu.fresult[16:32]), # Pick result (little endian, high word!)
NextValue(self.b16Status.storage[15], True), # Indicate readyness ...
NextValue(self.bReady, True), # Indicate readyness (LED on!)

Loading…
Cancel
Save