From f8c938314cedc087ac1a1567b601c4e4425187da Mon Sep 17 00:00:00 2001
From: Kia <kia@special-circumstanc.es>
Date: Fri, 29 Jan 2021 19:42:09 -0700
Subject: [PATCH] expurgated superfluous valid signal

---
 unoptimized_lr/simple_lr_stack.py | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/unoptimized_lr/simple_lr_stack.py b/unoptimized_lr/simple_lr_stack.py
index e50e9b7..2d32918 100644
--- a/unoptimized_lr/simple_lr_stack.py
+++ b/unoptimized_lr/simple_lr_stack.py
@@ -68,7 +68,7 @@ class ParseStack(Elaboratable):
         # Data inputs
         #self.in_data_port      = Signal(width) # data_in
         #self.in_aux_port       = Signal(range(depth)) #Index_in
-        self.in_data_valid     = Signal(1) # merge this and the one below, replace with valid_in
+        #self.in_data_valid     = Signal(1) # merge this and the one below, replace with valid_in
         self.in_aux_valid      = Signal(1) #
 
 
@@ -121,11 +121,10 @@ class ParseStack(Elaboratable):
                 with m.If(self.bus.valid_in == 1):
                     with m.Switch(self.bus.command_in):
                         with m.Case(self.PUSH):
-                            with m.If(self.in_data_valid == 1):
-                                m.d.comb += wport.addr.eq(stack_pointer)
-                                m.d.comb += wport.data.eq(self.bus.data_in)
-                                m.d.comb += wport.en.eq(1)
-                                m.next = "AT_LEAST_ONE_ITEM"
+                            m.d.comb += wport.addr.eq(stack_pointer)
+                            m.d.comb += wport.data.eq(self.bus.data_in)
+                            m.d.comb += wport.en.eq(1)
+                            m.next = "AT_LEAST_ONE_ITEM"
                         with m.Case(self.POP):
                             m.d.comb += self.internal_fault.eq(1)
                             m.next = "FAULTED"
@@ -146,12 +145,11 @@ class ParseStack(Elaboratable):
                 with m.If(self.bus.valid_in == 1):
                     with m.Switch(self.command_port):
                         with m.Case(self.PUSH):
-                            with m.If(self.in_data_valid == 1):
-                                m.d.sync += stack_pointer.eq(stack_pointer + 1)
-                                m.d.comb += wport.addr.eq(stack_pointer + 1)
-                                m.d.comb += wport.data.eq(self.bus.data_in)
-                                m.d.comb += wport.en.eq(1)
-                                m.next = "AT_LEAST_ONE_ITEM"
+                            m.d.sync += stack_pointer.eq(stack_pointer + 1)
+                            m.d.comb += wport.addr.eq(stack_pointer + 1)
+                            m.d.comb += wport.data.eq(self.bus.data_in)
+                            m.d.comb += wport.en.eq(1)
+                            m.next = "AT_LEAST_ONE_ITEM"
                         with m.Case(self.POP):
                             m.d.comb += rport.addr.eq(stack_pointer)
                             m.d.comb += self.out_data_port.eq(rport.data)
-- 
GitLab