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
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 09:30:20 +0000 (10:30 +0100)]
add sync handshake logic
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 06:52:45 +0000 (07:52 +0100)]
use correct results analysis function for test 16
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 06:51:18 +0000 (07:51 +0100)]
add separate buffermode=false single pipe test
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 05:54:19 +0000 (06:54 +0100)]
disable buffermode in test 12
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 01:09:25 +0000 (02:09 +0100)]
make data regular for test in bug #59
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:22:47 +0000 (12:22 +0100)]
try different buffermode in test 14
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:14:07 +0000 (12:14 +0100)]
save to correct files, unit test 15
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:13:35 +0000 (12:13 +0100)]
re-enabled send delays
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:09:46 +0000 (12:09 +0100)]
add new buffermode=False unit test, reorg a bit
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:09:25 +0000 (12:09 +0100)]
moo? added an option to stop buffer register from being used in BufferedPipeline
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 09:51:10 +0000 (10:51 +0100)]
pass in argument into delay class
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 09:50:55 +0000 (10:50 +0100)]
put n_i_ready into temporary
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 06:49:57 +0000 (07:49 +0100)]
trying to track down annoying data ready / chain bug
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:38:59 +0000 (05:38 +0100)]
add link to bug #57
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:33:46 +0000 (05:33 +0100)]
add comments to help experimentation
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:12:14 +0000 (05:12 +0100)]
rename stall test to ready
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:01:00 +0000 (05:01 +0100)]
record that test 999 is a bug
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 03:56:00 +0000 (04:56 +0100)]
add 2nd unbuffered pipeline class
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 03:09:00 +0000 (04:09 +0100)]
add twin buf-unbuf pipe chain
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 02:52:49 +0000 (03:52 +0100)]
add unbuffered delay-pipe unit test
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 02:46:03 +0000 (03:46 +0100)]
rename p_o_ready to d_ready
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 02:43:11 +0000 (03:43 +0100)]
d_valid need not be created if stage_ctl is set
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 02:36:43 +0000 (03:36 +0100)]
use simpler logic for s_o_ready and d_valid
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 02:02:49 +0000 (03:02 +0100)]
i_valid simply needs override to include "data valid"
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 01:09:27 +0000 (02:09 +0100)]
remove n stage_ctl
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 00:52:42 +0000 (01:52 +0100)]
replace n_o_valid with d_valid
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 22:57:14 +0000 (23:57 +0100)]
add experiment override of i_ready test
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 22:43:37 +0000 (23:43 +0100)]
tidy up i_valid_logic
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 22:37:12 +0000 (23:37 +0100)]
hooray, p_o_ready works
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 18:56:48 +0000 (19:56 +0100)]
tracking down sync failure when stage not dynamically ready
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 18:41:33 +0000 (19:41 +0100)]
try single pipe for now, not chain
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 18:22:37 +0000 (19:22 +0100)]
experimenting: something odd with dynamic ready/valid override
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 09:28:35 +0000 (10:28 +0100)]
call ControlBase elaborate from UnbufferedPipeline
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 09:18:02 +0000 (10:18 +0100)]
beginnings of dynamic ready/valid stage ctl
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 08:06:20 +0000 (09:06 +0100)]
move o_valid and o_ready (underscore them) and replace with properties
o_ready now redirects to self._o_ready if stage_ctl is False
likewise o_valid in NextControl redirects to self._o_valid
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 08:05:21 +0000 (09:05 +0100)]
add example stage data signalling properties
Aleksandar Kostovic [Fri, 5 Apr 2019 05:16:06 +0000 (07:16 +0200)]
Merge branch 'master' of ssh://libre-riscv.org:922/ieee754fpu
Aleksandar Kostovic [Fri, 5 Apr 2019 05:15:43 +0000 (07:15 +0200)]
Fixed the error when runing unit test
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 05:02:48 +0000 (06:02 +0100)]
add stage_ctl argument to PrevControl / NextControl on pipeline
Aleksandar Kostovic [Fri, 5 Apr 2019 04:57:06 +0000 (06:57 +0200)]
Fixed indentation issiues with fmul.py
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 03:41:37 +0000 (04:41 +0100)]
add example ready for adding delay (data_ready) to pipeline API
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 21:35:20 +0000 (22:35 +0100)]
add debug output
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 21:35:03 +0000 (22:35 +0100)]
add create2 functions, for use later