ieee754fpu.git
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

5 years agouse local variable in second stage pipeline test
Luke Kenneth Casson Leighton [Wed, 3 Apr 2019 05:31:00 +0000 (06:31 +0100)]
use local variable in second stage pipeline test

5 years agosemi-working, top-level signals okay, ObjectProxy not yet connected
Luke Kenneth Casson Leighton [Wed, 3 Apr 2019 04:01:45 +0000 (05:01 +0100)]
semi-working, top-level signals okay, ObjectProxy not yet connected

5 years agocontinuing to experiment with pipeline, outputs still not connected
Luke Kenneth Casson Leighton [Tue, 2 Apr 2019 17:52:01 +0000 (18:52 +0100)]
continuing to experiment with pipeline, outputs still not connected

5 years agopipeline ObjectProxy objects now stored in module, not linked to output yet
Luke Kenneth Casson Leighton [Tue, 2 Apr 2019 01:44:24 +0000 (02:44 +0100)]
pipeline ObjectProxy objects now stored in module, not linked to output yet

5 years agomore experimentation on pipeline ObjectProxy
Luke Kenneth Casson Leighton [Mon, 1 Apr 2019 21:32:37 +0000 (22:32 +0100)]
more experimentation on pipeline ObjectProxy

5 years agostart on ObjectProxy example
Luke Kenneth Casson Leighton [Mon, 1 Apr 2019 00:23:39 +0000 (01:23 +0100)]
start on ObjectProxy example

5 years agofound bug in auto-stage, must return "like" from auto-ispec / auto-ospec
Luke Kenneth Casson Leighton [Sun, 31 Mar 2019 18:33:43 +0000 (19:33 +0100)]
found bug in auto-stage, must return "like" from auto-ispec / auto-ospec

5 years agobug where combinatorial assignments from stage are bleeding through
Luke Kenneth Casson Leighton [Sun, 31 Mar 2019 14:27:42 +0000 (15:27 +0100)]
bug where combinatorial assignments from stage are bleeding through

5 years agouse stage names instead of numbers in the pipeline
Luke Kenneth Casson Leighton [Sat, 30 Mar 2019 23:52:10 +0000 (23:52 +0000)]
use stage names instead of numbers in the pipeline

5 years agouse and return module instead of m.d in pipeline introspection
Luke Kenneth Casson Leighton [Sat, 30 Mar 2019 23:11:28 +0000 (23:11 +0000)]
use and return module instead of m.d in pipeline introspection

5 years agoadd pipeline context / stage management
Luke Kenneth Casson Leighton [Sat, 30 Mar 2019 23:04:23 +0000 (23:04 +0000)]
add pipeline context / stage management

5 years agosplit out concurrentunit ReservationStations to separate module
Luke Kenneth Casson Leighton [Sat, 30 Mar 2019 22:00:37 +0000 (22:00 +0000)]
split out concurrentunit ReservationStations to separate module

5 years agowhoops wrong temporary created
Luke Kenneth Casson Leighton [Fri, 29 Mar 2019 21:43:24 +0000 (21:43 +0000)]
whoops wrong temporary created

5 years agocreate FPDecode module
Luke Kenneth Casson Leighton [Fri, 29 Mar 2019 21:40:22 +0000 (21:40 +0000)]
create FPDecode module

5 years agoalways pass decoded a/b through
Luke Kenneth Casson Leighton [Fri, 29 Mar 2019 21:30:50 +0000 (21:30 +0000)]
always pass decoded a/b through

5 years agocombine specialcases if/elif tests into single temporaries
Luke Kenneth Casson Leighton [Fri, 29 Mar 2019 19:53:03 +0000 (19:53 +0000)]
combine specialcases if/elif tests into single temporaries

5 years agoadd generate to nmigen_add_experiment.py again
Luke Kenneth Casson Leighton [Fri, 29 Mar 2019 19:37:51 +0000 (19:37 +0000)]
add generate to nmigen_add_experiment.py again

5 years agocreate e_match temporary
Luke Kenneth Casson Leighton [Fri, 29 Mar 2019 19:37:37 +0000 (19:37 +0000)]
create e_match temporary

5 years agouse correct function in unit test
Luke Kenneth Casson Leighton [Fri, 29 Mar 2019 14:42:08 +0000 (14:42 +0000)]
use correct function in unit test