ieee754fpu.git
5 years agopass in flatten/processing function into _connect_in/out
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 00:47:20 +0000 (01:47 +0100)]
pass in flatten/processing function into _connect_in/out

5 years agoadd commented-out code back in
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 16:14:27 +0000 (17:14 +0100)]
add commented-out code back in

5 years agodo flatten on output data
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 16:08:19 +0000 (17:08 +0100)]
do flatten on output data

5 years agotry bi-directional flatten
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 16:04:51 +0000 (17:04 +0100)]
try bi-directional flatten

5 years agono need to use self.__dict__
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:57:42 +0000 (16:57 +0100)]
no need to use self.__dict__

5 years agoreorg of FIFOtest to allow for flattening of incoming data
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

5 years agomove RecordObject to singlepipe.py for now
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:31:51 +0000 (16:31 +0100)]
move RecordObject to singlepipe.py for now

5 years agoadd experimental RecordObject with __setattr__ override
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:29:51 +0000 (16:29 +0100)]
add experimental RecordObject with __setattr__ override

5 years agoadd flatten function
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 15:28:59 +0000 (16:28 +0100)]
add flatten function

5 years agowhitespace
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 06:18:09 +0000 (07:18 +0100)]
whitespace

5 years agocode-shuffle to allow accumulation of results from eq in visit-generic way
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

5 years agoturn visitor into a class
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 03:37:53 +0000 (04:37 +0100)]
turn visitor into a class

5 years agobegin morphing eq function into a visitor
Luke Kenneth Casson Leighton [Thu, 11 Apr 2019 02:56:58 +0000 (03:56 +0100)]
begin morphing eq function into a visitor

5 years agoadd FIFO chain-test
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 07:51:34 +0000 (08:51 +0100)]
add FIFO chain-test

5 years agoquick FIFOtest works!
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 07:29:26 +0000 (08:29 +0100)]
quick FIFOtest works!

5 years agospelling correction
Luke Kenneth Casson Leighton [Wed, 10 Apr 2019 06:34:01 +0000 (07:34 +0100)]
spelling correction

5 years agoadd experiment to see if using a SyncFIFO as a buffered pipeline stage works
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

5 years agoadd the truth tables for SimpleHandshake and UnbufferedPipeline
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

5 years agoupdate comment
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 13:30:47 +0000 (14:30 +0100)]
update comment

5 years agorewrite BufferedHandshake logic conditions based on karnaugh map analysis
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 13:24:03 +0000 (14:24 +0100)]
rewrite BufferedHandshake logic conditions based on karnaugh map analysis

5 years agologic shuffle on BufferedHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 12:29:06 +0000 (13:29 +0100)]
logic shuffle on BufferedHandshake

5 years agouse SimpleHandshake instead of UnbufferedPipeline
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 11:02:58 +0000 (12:02 +0100)]
use SimpleHandshake instead of UnbufferedPipeline

5 years agooutput simulation to correctly-named file
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:59:16 +0000 (11:59 +0100)]
output simulation to correctly-named file

5 years agomove stage test of setup function to ControlBase
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:56:15 +0000 (11:56 +0100)]
move stage test of setup function to ControlBase

5 years agoadd more unit tests of PassThroughHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:55:41 +0000 (11:55 +0100)]
add more unit tests of PassThroughHandshake

5 years agoremove unneeded imports
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:54:26 +0000 (11:54 +0100)]
remove unneeded imports

5 years agoremove unneeded imports
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 10:51:51 +0000 (11:51 +0100)]
remove unneeded imports

5 years agomake r_data of ospec type in UnbufferedPipe, and
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

5 years agoclarify ascii-art
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 09:05:40 +0000 (10:05 +0100)]
clarify ascii-art

5 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:57:11 +0000 (09:57 +0100)]
whitespace cleanup

5 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:44:30 +0000 (09:44 +0100)]
whitespace cleanup

5 years agobig cleanup on self.m = m = xxxx
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:42:47 +0000 (09:42 +0100)]
big cleanup on self.m = m = xxxx

5 years agoremove __init__ from all of the types of ControlBase-derived classes
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__

5 years agoadd PassThroughHandshake class and unit test
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 08:27:08 +0000 (09:27 +0100)]
add PassThroughHandshake class and unit test

5 years agosmall code-shuffle on eq()
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 07:15:04 +0000 (08:15 +0100)]
small code-shuffle on eq()

5 years agosimplify StageChain.specallocate_setup
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 04:09:07 +0000 (05:09 +0100)]
simplify StageChain.specallocate_setup

5 years agosplit out allocate and specallocate from StageChain setup, simpler to read
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

5 years agorename BufferedPipeline to BufferedHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:58:14 +0000 (03:58 +0100)]
rename BufferedPipeline to BufferedHandshake

5 years agoforgot to rename i_valid_logic() to i_valid_test in multipipe
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

5 years agoremove outdated comments
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:45:10 +0000 (03:45 +0100)]
remove outdated comments

5 years agorename BufferedPipeline2 to SimpleHandshake
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:42:48 +0000 (03:42 +0100)]
rename BufferedPipeline2 to SimpleHandshake

5 years agosimplify UnbufferedPipeline2
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 02:42:14 +0000 (03:42 +0100)]
simplify UnbufferedPipeline2

5 years agouse Mux in UnbufferedPipeline2
Luke Kenneth Casson Leighton [Mon, 8 Apr 2019 00:52:31 +0000 (01:52 +0100)]
use Mux in UnbufferedPipeline2

5 years agostore indicator in r_busy when data is valid
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 13:45:46 +0000 (14:45 +0100)]
store indicator in r_busy when data is valid

5 years agotest trigger=1 in test 13
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 13:33:31 +0000 (14:33 +0100)]
test trigger=1 in test 13

5 years agopass i_ready in to d_valid dynamic stage function
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

5 years agostill transmit data if ready
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 11:59:22 +0000 (12:59 +0100)]
still transmit data if ready

5 years agoremove buffermode
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 11:26:48 +0000 (12:26 +0100)]
remove buffermode

5 years agoadd comment
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 11:25:16 +0000 (12:25 +0100)]
add comment

5 years agonew non-buffer sync pipe class
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 10:26:18 +0000 (11:26 +0100)]
new non-buffer sync pipe class

5 years agoadd sync handshake logic
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 09:30:20 +0000 (10:30 +0100)]
add sync handshake logic

5 years agouse correct results analysis function for test 16
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 06:52:45 +0000 (07:52 +0100)]
use correct results analysis function for test 16

5 years agoadd separate buffermode=false single pipe test
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 06:51:18 +0000 (07:51 +0100)]
add separate buffermode=false single pipe test

5 years agodisable buffermode in test 12
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 05:54:19 +0000 (06:54 +0100)]
disable buffermode in test 12

5 years agomake data regular for test in bug #59
Luke Kenneth Casson Leighton [Sun, 7 Apr 2019 01:09:25 +0000 (02:09 +0100)]
make data regular for test in bug #59

5 years agotry different buffermode in test 14
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:22:47 +0000 (12:22 +0100)]
try different buffermode in test 14

5 years agosave to correct files, unit test 15
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:14:07 +0000 (12:14 +0100)]
save to correct files, unit test 15

5 years agore-enabled send delays
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:13:35 +0000 (12:13 +0100)]
re-enabled send delays

5 years agoadd new buffermode=False unit test, reorg a bit
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 11:09:46 +0000 (12:09 +0100)]
add new buffermode=False unit test, reorg a bit

5 years agomoo? added an option to stop buffer register from being used in BufferedPipeline
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

5 years agopass in argument into delay class
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 09:51:10 +0000 (10:51 +0100)]
pass in argument into delay class

5 years agoput n_i_ready into temporary
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 09:50:55 +0000 (10:50 +0100)]
put n_i_ready into temporary

5 years agotrying to track down annoying data ready / chain bug
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 06:49:57 +0000 (07:49 +0100)]
trying to track down annoying data ready / chain bug

5 years agoadd link to bug #57
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:38:59 +0000 (05:38 +0100)]
add link to bug #57

5 years agoadd comments to help experimentation
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:33:46 +0000 (05:33 +0100)]
add comments to help experimentation

5 years agorename stall test to ready
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:12:14 +0000 (05:12 +0100)]
rename stall test to ready

5 years agorecord that test 999 is a bug
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 04:01:00 +0000 (05:01 +0100)]
record that test 999 is a bug

5 years agoadd 2nd unbuffered pipeline class
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 03:56:00 +0000 (04:56 +0100)]
add 2nd unbuffered pipeline class

5 years agoadd twin buf-unbuf pipe chain
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 03:09:00 +0000 (04:09 +0100)]
add twin buf-unbuf pipe chain

5 years agoadd unbuffered delay-pipe unit test
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 02:52:49 +0000 (03:52 +0100)]
add unbuffered delay-pipe unit test

5 years agorename p_o_ready to d_ready
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 02:46:03 +0000 (03:46 +0100)]
rename p_o_ready to d_ready

5 years agod_valid need not be created if stage_ctl is set
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

5 years agouse simpler logic for s_o_ready and d_valid
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

5 years agoi_valid simply needs override to include "data 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"

5 years agoremove n stage_ctl
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 01:09:27 +0000 (02:09 +0100)]
remove n stage_ctl

5 years agoreplace n_o_valid with d_valid
Luke Kenneth Casson Leighton [Sat, 6 Apr 2019 00:52:42 +0000 (01:52 +0100)]
replace n_o_valid with d_valid

5 years agoadd experiment override of i_ready test
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 22:57:14 +0000 (23:57 +0100)]
add experiment override of i_ready test

5 years agotidy up i_valid_logic
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 22:43:37 +0000 (23:43 +0100)]
tidy up i_valid_logic

5 years agohooray, p_o_ready works
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 22:37:12 +0000 (23:37 +0100)]
hooray, p_o_ready works

5 years agotracking down sync failure when stage not dynamically ready
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 18:56:48 +0000 (19:56 +0100)]
tracking down sync failure when stage not dynamically ready

5 years agotry single pipe for now, not chain
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 18:41:33 +0000 (19:41 +0100)]
try single pipe for now, not chain

5 years agoexperimenting: something odd with dynamic ready/valid override
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 18:22:37 +0000 (19:22 +0100)]
experimenting: something odd with dynamic ready/valid override

5 years agocall ControlBase elaborate from UnbufferedPipeline
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 09:28:35 +0000 (10:28 +0100)]
call ControlBase elaborate from UnbufferedPipeline

5 years agobeginnings of dynamic ready/valid stage ctl
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 09:18:02 +0000 (10:18 +0100)]
beginnings of dynamic ready/valid stage ctl

5 years agomove o_valid and o_ready (underscore them) and replace with properties
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

5 years agoadd example stage data signalling properties
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 08:05:21 +0000 (09:05 +0100)]
add example stage data signalling properties

5 years agoMerge branch 'master' of ssh://libre-riscv.org:922/ieee754fpu
Aleksandar Kostovic [Fri, 5 Apr 2019 05:16:06 +0000 (07:16 +0200)]
Merge branch 'master' of ssh://libre-riscv.org:922/ieee754fpu

5 years agoFixed the error when runing unit test
Aleksandar Kostovic [Fri, 5 Apr 2019 05:15:43 +0000 (07:15 +0200)]
Fixed the error when runing unit test

5 years agoadd stage_ctl argument to PrevControl / NextControl on pipeline
Luke Kenneth Casson Leighton [Fri, 5 Apr 2019 05:02:48 +0000 (06:02 +0100)]
add stage_ctl argument to PrevControl / NextControl on pipeline

5 years agoFixed indentation issiues with fmul.py
Aleksandar Kostovic [Fri, 5 Apr 2019 04:57:06 +0000 (06:57 +0200)]
Fixed indentation issiues with fmul.py

5 years agoadd example ready for adding delay (data_ready) to pipeline API
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

5 years agoadd debug output
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 21:35:20 +0000 (22:35 +0100)]
add debug output

5 years agoadd create2 functions, for use later
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 21:35:03 +0000 (22:35 +0100)]
add create2 functions, for use later

5 years agoAdd m.d.sync return to get_a and get_b cases
Aleksandar Kostovic [Thu, 4 Apr 2019 17:56:58 +0000 (19:56 +0200)]
Add m.d.sync return to get_a and get_b cases

5 years agoconvert fdiv to set op based on get_op return results
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 16:55:30 +0000 (17:55 +0100)]
convert fdiv to set op based on get_op return results

5 years agouse ObjectProxy in get_op
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 07:29:53 +0000 (08:29 +0100)]
use ObjectProxy in get_op

5 years agoadd syncmode, selects sync/comb on ObjectProxy assignment
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 07:28:59 +0000 (08:28 +0100)]
add syncmode, selects sync/comb on ObjectProxy assignment

5 years agoFINALLY, got ObjectProxy in pipeline auto-stage working
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 03:28:33 +0000 (04:28 +0100)]
FINALLY, got ObjectProxy in pipeline auto-stage working

5 years agoadd dictionary-support to pipeline eq function
Luke Kenneth Casson Leighton [Thu, 4 Apr 2019 03:22:01 +0000 (04:22 +0100)]
add dictionary-support to pipeline eq function

5 years agouse local temporary for variables
Luke Kenneth Casson Leighton [Wed, 3 Apr 2019 06:07:46 +0000 (07:07 +0100)]
use local temporary for variables