Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:18:03 +0000 (23:18 +0100)]
use __iter__ for ports in multipipe
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:53:34 +0000 (22:53 +0100)]
add ports function to RecordObject
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:36:49 +0000 (22:36 +0100)]
add __iter__ to several classes, add global shape() function use in FIFOControl
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:11:24 +0000 (22:11 +0100)]
convert FPOpData to __iter__
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:08:11 +0000 (22:08 +0100)]
hmmm, Array not working as submodule
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:08:00 +0000 (22:08 +0100)]
convert ControlBase to iter
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:04:58 +0000 (22:04 +0100)]
make PrevControl and NextControl iterable
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 18:23:25 +0000 (19:23 +0100)]
convert FPGet2OpMod to use PrevControl (replace ack/stb with i_valid/o_ready
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 15:21:48 +0000 (16:21 +0100)]
convert to use PrevControl and NextControl instead of Trigger class
Trigger contained stb/ack where it is ok to call them ready/valid prev/next
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 14:59:00 +0000 (15:59 +0100)]
add prev/next ports and elaborate
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 11:50:02 +0000 (12:50 +0100)]
add test_fsm_experiment.py - works great!
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 11:49:50 +0000 (12:49 +0100)]
comment out print debug statements
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 11:49:33 +0000 (12:49 +0100)]
improve ControlBase.ports enumeration of its o_data and i_data
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:24:46 +0000 (10:24 +0100)]
investigating Record flattening
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:20:02 +0000 (10:20 +0100)]
generate il file before running simulation, test 7
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:05:27 +0000 (10:05 +0100)]
use elaborate not get_fragment
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 19:50:37 +0000 (20:50 +0100)]
rename flatten to cat
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 14:53:49 +0000 (15:53 +0100)]
use iterator for 2-arg Visitor as well as single-arg
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 14:31:22 +0000 (15:31 +0100)]
replace flatten with iterator
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 09:04:06 +0000 (10:04 +0100)]
looking for replacements of the hard-coded control blocks
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:57:23 +0000 (07:57 +0100)]
add in_multi and stage_ctl args to FIFOControl
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:46:12 +0000 (07:46 +0100)]
clarify pipe mode comments
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:40:20 +0000 (07:40 +0100)]
rename count to level to match SyncFIFO API
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:39:50 +0000 (07:39 +0100)]
fix bug in setting up count
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 03:04:11 +0000 (04:04 +0100)]
give convenience names to Queue (FIFOInterface) signals
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:43:06 +0000 (13:43 +0100)]
try using Queue instead of SyncFIFO
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:39:37 +0000 (13:39 +0100)]
tidyup on Queue class
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:01:21 +0000 (13:01 +0100)]
reduce queue size down to 1
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:00:59 +0000 (13:00 +0100)]
transform to meet nmigen FIFOInterface API
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 11:25:20 +0000 (12:25 +0100)]
add initial ChiselQueue.py
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 05:47:38 +0000 (06:47 +0100)]
add post-processing optional capability
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 03:55:13 +0000 (04:55 +0100)]
add c version from original paper
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 03:37:18 +0000 (04:37 +0100)]
add buffered and fwft modes to FIFOControl
Aleksandar Kostovic [Fri, 12 Apr 2019 20:23:25 +0000 (22:23 +0200)]
Create fsqrt.py file and put the verilog code in comments to indicate the basic structure of algorithm
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 12:42:00 +0000 (13:42 +0100)]
update comments
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 12:35:04 +0000 (13:35 +0100)]
extend truth tables
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 10:40:30 +0000 (11:40 +0100)]
add truth table for PassThroughHandshake
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 07:25:04 +0000 (08:25 +0100)]
add 2-stage FIFO (add1) example
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 04:52:27 +0000 (05:52 +0100)]
add temporary buf_full to UnbufferedPipeline
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 04:12:46 +0000 (05:12 +0100)]
add comments to FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 04:05:12 +0000 (05:05 +0100)]
rename some test functions, make better suitable for nosetests
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 03:21:24 +0000 (04:21 +0100)]
add Test 24, add built-in process function into FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 02:54:00 +0000 (03:54 +0100)]
move PassThroughStage out of FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 02:50:02 +0000 (03:50 +0100)]
swap iospecfn and depth arguments in FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:48:06 +0000 (02:48 +0100)]
add test23, connect FIFO-with-RecordObj to adder
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:47:37 +0000 (02:47 +0100)]
process nxt.o_data in connect_out, not prev data
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:24:29 +0000 (02:24 +0100)]
use SimpleHandshake in RecordObject test
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:21:04 +0000 (02:21 +0100)]
remove eq function from RecordObject test
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:20:42 +0000 (02:20 +0100)]
add RecordObject-based 2-op add test
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:03:48 +0000 (02:03 +0100)]
reorganise FIFOtest, call it FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 00:47:20 +0000 (01:47 +0100)]
pass in flatten/processing function into _connect_in/out
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 16:14:27 +0000 (17:14 +0100)]
add commented-out code back in
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 16:08:19 +0000 (17:08 +0100)]
do flatten on output data
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 16:04:51 +0000 (17:04 +0100)]
try bi-directional flatten
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:57:42 +0000 (16:57 +0100)]
no need to use self.__dict__
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:47:36 +0000 (16:47 +0100)]
reorg of FIFOtest to allow for flattening of incoming data
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:31:51 +0000 (16:31 +0100)]
move RecordObject to singlepipe.py for now
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:29:51 +0000 (16:29 +0100)]
add experimental RecordObject with __setattr__ override
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:28:59 +0000 (16:28 +0100)]
add flatten function
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 06:18:09 +0000 (07:18 +0100)]
whitespace
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 05:19:09 +0000 (06:19 +0100)]
code-shuffle to allow accumulation of results from eq in visit-generic way
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 03:37:53 +0000 (04:37 +0100)]
turn visitor into a class
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 02:56:58 +0000 (03:56 +0100)]
begin morphing eq function into a visitor
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 07:51:34 +0000 (08:51 +0100)]
add FIFO chain-test
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 07:29:26 +0000 (08:29 +0100)]
quick FIFOtest works!
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 06:34:01 +0000 (07:34 +0100)]
spelling correction
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 06:32:31 +0000 (07:32 +0100)]
add experiment to see if using a SyncFIFO as a buffered pipeline stage works
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 04:19:49 +0000 (05:19 +0100)]
add the truth tables for SimpleHandshake and UnbufferedPipeline
part of investigation into http://bugs.libre-riscv.org/show_bug.cgi?id=57#c6
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 13:30:47 +0000 (14:30 +0100)]
update comment
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 13:24:03 +0000 (14:24 +0100)]
rewrite BufferedHandshake logic conditions based on karnaugh map analysis
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 12:29:06 +0000 (13:29 +0100)]
logic shuffle on BufferedHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 11:02:58 +0000 (12:02 +0100)]
use SimpleHandshake instead of UnbufferedPipeline
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:59:16 +0000 (11:59 +0100)]
output simulation to correctly-named file
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:56:15 +0000 (11:56 +0100)]
move stage test of setup function to ControlBase
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:55:41 +0000 (11:55 +0100)]
add more unit tests of PassThroughHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:54:26 +0000 (11:54 +0100)]
remove unneeded imports
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:51:51 +0000 (11:51 +0100)]
remove unneeded imports
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 09:12:19 +0000 (10:12 +0100)]
make r_data of ospec type in UnbufferedPipe, and
process before putting into r_data
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 09:05:40 +0000 (10:05 +0100)]
clarify ascii-art
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:57:11 +0000 (09:57 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:44:30 +0000 (09:44 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:42:47 +0000 (09:42 +0100)]
big cleanup on self.m = m = xxxx
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:32:48 +0000 (09:32 +0100)]
remove __init__ from all of the types of ControlBase-derived classes
all of the constructors were identical: therefore merge to ControlBase.__init__
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:27:08 +0000 (09:27 +0100)]
add PassThroughHandshake class and unit test
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 07:15:04 +0000 (08:15 +0100)]
small code-shuffle on eq()
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 04:09:07 +0000 (05:09 +0100)]
simplify StageChain.specallocate_setup
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 04:07:02 +0000 (05:07 +0100)]
split out allocate and specallocate from StageChain setup, simpler to read
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:58:14 +0000 (03:58 +0100)]
rename BufferedPipeline to BufferedHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:57:28 +0000 (03:57 +0100)]
forgot to rename i_valid_logic() to i_valid_test in multipipe
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:45:10 +0000 (03:45 +0100)]
remove outdated comments
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:42:48 +0000 (03:42 +0100)]
rename BufferedPipeline2 to SimpleHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:42:14 +0000 (03:42 +0100)]
simplify UnbufferedPipeline2
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 00:52:31 +0000 (01:52 +0100)]
use Mux in UnbufferedPipeline2
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 13:45:46 +0000 (14:45 +0100)]
store indicator in r_busy when data is valid
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 13:33:31 +0000 (14:33 +0100)]
test trigger=1 in test 13
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 12:15:58 +0000 (13:15 +0100)]
pass i_ready in to d_valid dynamic stage function
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 11:59:22 +0000 (12:59 +0100)]
still transmit data if ready
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 11:26:48 +0000 (12:26 +0100)]
remove buffermode
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 11:25:16 +0000 (12:25 +0100)]
add comment
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 10:26:18 +0000 (11:26 +0100)]
new non-buffer sync pipe class