From 765420c81d144bb08021a7aa09a9a0692f5d6322 Mon Sep 17 00:00:00 2001 From: Julian Blake Kongslie Date: Fri, 16 Jul 2021 13:22:51 -0700 Subject: Add counter module and simplify board design for shift instructions. --- modules.rb | 81 ++++++++++++++++++++++++++++++++------------------------------ 1 file changed, 42 insertions(+), 39 deletions(-) (limited to 'modules.rb') diff --git a/modules.rb b/modules.rb index 752413e..83bfdbd 100644 --- a/modules.rb +++ b/modules.rb @@ -1,39 +1,42 @@ -urom :alu, :op, :op_sel0, :op_sel1, :op_sel2, :outaddr, :outdata -urom_alias :alu, :and, :op -urom_alias :alu, :or, :op, :op_sel0 -urom_alias :alu, :xor, :op, :op_sel1 -urom_alias :alu, :add, :op, :op_sel0, :op_sel1 -urom_alias :alu, :sub, :op, :op_sel2 -urom_alias :alu, :cmp, :op, :op_sel0, :op_sel2 -urom_alias :alu, :lshift, :op, :op_sel1, :op_sel2 -urom_alias :alu, :rshift, :op, :op_sel0, :op_sel1, :op_sel2 - -urom :control, :halt, :set_uip_cond, :nocond, :outaddr, :outdata -urom_alias :control, :set_uip, :set_uip_cond, :nocond -urom_alias :control, :set_uip_if_nonzero, :set_uip_cond - -urom :decode, :clear, :decode, :outaddr, :outaddr_sel0, :outaddr_sel1, :outdata, :outdata_sel0, :outdata_sel1 -urom_alias :decode, :outaddr_a, :outaddr -urom_alias :decode, :outaddr_b, :outaddr, :outaddr_sel0 -urom_alias :decode, :outaddr_uip, :outaddr, :outaddr_sel1 -urom_alias :decode, :outdata_a, :outdata -urom_alias :decode, :outdata_b, :outdata, :outdata_sel0 -urom_alias :decode, :outdata_needmore, :outdata, :outdata_sel1 - -urom :memory, :store, :outdata - -urom :pc, :load, :increment, :outaddr - -urom :rf, :store, :reset, :outdata - -urom :tmp0, :load, :load_sel0, :outaddr, :outdata -urom_alias :tmp0, :loaddata, :load -urom_alias :tmp0, :loadaddr, :load, :load_sel0 - -urom :tmp1, :load, :load_sel0, :outaddr, :outdata -urom_alias :tmp1, :loaddata, :load -urom_alias :tmp1, :loadaddr, :load, :load_sel0 - -urom :uart, :tx, :rx, :outdata, :outdata_sel0 -urom_alias :uart, :outdata_txfull, :outdata -urom_alias :uart, :outdata_rxempty, :outdata, :outdata_sel0 +urom :alu, :op, :op_sel0, :op_sel1, :op_sel2, :outaddr, :outdata +urom_alias :alu, :and, :op +urom_alias :alu, :or, :op, :op_sel0 +urom_alias :alu, :xor, :op, :op_sel1 +urom_alias :alu, :add, :op, :op_sel0, :op_sel1 +urom_alias :alu, :sub, :op, :op_sel2 +urom_alias :alu, :cmp, :op, :op_sel0, :op_sel2 +urom_alias :alu, :lshift, :op, :op_sel1, :op_sel2 +urom_alias :alu, :rshift, :op, :op_sel0, :op_sel1, :op_sel2 + +urom :control, :halt, :set_uip_cond, :nocond, :icond, :outaddr, :outdata +urom_alias :control, :set_uip, :set_uip_cond, :nocond +urom_alias :control, :set_uip_if_nonzero, :set_uip_cond +urom_alias :control, :set_uip_if_zero, :set_uip_cond, :icond + +urom :counter, :load, :increment, :decrement, :outdata + +urom :decode, :clear, :decode, :outaddr, :outaddr_sel0, :outaddr_sel1, :outdata, :outdata_sel0, :outdata_sel1 +urom_alias :decode, :outaddr_a, :outaddr +urom_alias :decode, :outaddr_b, :outaddr, :outaddr_sel0 +urom_alias :decode, :outaddr_uip, :outaddr, :outaddr_sel1 +urom_alias :decode, :outdata_a, :outdata +urom_alias :decode, :outdata_b, :outdata, :outdata_sel0 +urom_alias :decode, :outdata_needmore, :outdata, :outdata_sel1 + +urom :memory, :store, :outdata + +urom :pc, :load, :increment, :outaddr + +urom :rf, :store, :reset, :outdata + +urom :tmp0, :load, :load_sel0, :outaddr, :outdata +urom_alias :tmp0, :loaddata, :load +urom_alias :tmp0, :loadaddr, :load, :load_sel0 + +urom :tmp1, :load, :load_sel0, :outaddr, :outdata +urom_alias :tmp1, :loaddata, :load +urom_alias :tmp1, :loadaddr, :load, :load_sel0 + +urom :uart, :tx, :rx, :outdata, :outdata_sel0 +urom_alias :uart, :outdata_txfull, :outdata +urom_alias :uart, :outdata_rxempty, :outdata, :outdata_sel0 -- cgit v1.2.3