From b0bea6f2d6de4fd91cf4cb315366966ce4ed391a Mon Sep 17 00:00:00 2001 From: kaqu Date: Mon, 3 May 2021 12:34:36 +0200 Subject: [PATCH] fsub worx as well --- libmodules/bfloat16nncore.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/libmodules/bfloat16nncore.py b/libmodules/bfloat16nncore.py index b1fb64d..cbb2509 100644 --- a/libmodules/bfloat16nncore.py +++ b/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!)