From 9bfafeea76c6ea56cf13301c8d6cb8a1f5efa6bd Mon Sep 17 00:00:00 2001 From: Kia <kia@special-circumstanc.es> Date: Thu, 22 Apr 2021 09:51:50 -0600 Subject: [PATCH] repeat ourselves a bit --- unoptimized_lr/simple_lr_tables.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/unoptimized_lr/simple_lr_tables.py b/unoptimized_lr/simple_lr_tables.py index 30319a8..6fbb423 100644 --- a/unoptimized_lr/simple_lr_tables.py +++ b/unoptimized_lr/simple_lr_tables.py @@ -24,7 +24,7 @@ from functools import reduce -class TableBusLayout(Layout): +class ShiftReduceTableBusLayout(Layout): def __init__(self, *, row_input_width, column_input_width, output_width): super().__init__([ # INPUTS @@ -40,7 +40,7 @@ class TableBusLayout(Layout): ]) -class TableBus(Record): +class ShiftReduceTableBus(Record): def __init__(self, *, row_input_width, column_input_width, output_width): super().__init__(TableBusLayout(row_input_width=row_input_width, column_input_width=column_input_width, output_width=output_width)) @@ -116,6 +116,25 @@ class LRTable(Elaboratable): return m +class GOTOTableBusLayout(Layout): + def __init__(self, *, row_input_width, column_input_width, output_width): + super().__init__([ + # INPUTS + ("row_idx", unsigned(row_input_width)), # FROM SOURCE + ("col_idx", unsigned(column_input_width)), # FROM SOURCE + ("valid_in", 1), # FROM SOURCE + ("ready_in", 1), # FROM DEST + + # OUTPUTS + ("output_data", unsigned(output_width)), # TO DEST + ("valid_out", 1), # TO DEST + ("ready_out", 1), # TO SOURCE + + ]) + +class GOTOTableBus(Record): + def __init__(self, *, row_input_width, column_input_width, output_width): + super().__init__(TableBusLayout(row_input_width=row_input_width, column_input_width=column_input_width, output_width=output_width)) class GOTOtable(Elaboratable): def __init__(self, *, lang_params, input_array): -- GitLab