ieee754fpu.git
5 years agowhoops, use _spec on new_specs
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 23:49:57 +0000 (00:49 +0100)]
whoops, use _spec on new_specs

5 years agoupdate comments on FIFOControl
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 23:24:22 +0000 (00:24 +0100)]
update comments on FIFOControl

5 years agoadded links explaining Moore FSM / Mealy FSM
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 23:15:35 +0000 (00:15 +0100)]
added links explaining Moore FSM / Mealy FSM

5 years agoadd comment on _spec
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 22:46:30 +0000 (23:46 +0100)]
add comment on _spec

5 years agospelling correction
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 22:04:58 +0000 (23:04 +0100)]
spelling correction

5 years agoderive StageChain from StageHelper, use set_specs instead of manual ispec/ospec
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 22:03:11 +0000 (23:03 +0100)]
derive StageChain from StageHelper, use set_specs instead of manual ispec/ospec
function, add auto-detect to set_specs to determine if it is
passed an object that has a "stage"

5 years agomove StageHelper class
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 22:02:02 +0000 (23:02 +0100)]
move StageHelper class

5 years agostore ospecfn and ispecfn in stagehelper
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 21:54:11 +0000 (22:54 +0100)]
store ospecfn and ispecfn in stagehelper

5 years agoextra tests to find out rounding conditions
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 19:54:30 +0000 (20:54 +0100)]
extra tests to find out rounding conditions

5 years agototal shock! experimentation worked!
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 14:38:33 +0000 (15:38 +0100)]
total shock! experimentation worked!

5 years agoguessing / experimenting...
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 14:12:19 +0000 (15:12 +0100)]
guessing / experimenting...

5 years agohmmm... experimenting...
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 13:42:57 +0000 (14:42 +0100)]
hmmm... experimenting...

5 years agoadd printout of binary version
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 11:23:19 +0000 (12:23 +0100)]
add printout of binary version

5 years agosorting out...
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 10:22:34 +0000 (11:22 +0100)]
sorting out...

5 years agoTried to make final assignemnt of the sqrt
Aleksandar Kostovic [Mon, 29 Apr 2019 10:16:46 +0000 (12:16 +0200)]
Tried to make final assignemnt of the sqrt

5 years agodecode xbits (an integer) not x (an object)
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 09:28:53 +0000 (10:28 +0100)]
decode xbits (an integer) not x (an object)

5 years agoCreated small test for decode_fp32 function
Aleksandar Kostovic [Mon, 29 Apr 2019 06:50:53 +0000 (08:50 +0200)]
Created small test for decode_fp32 function

5 years agoremove use of SyncFIFOBuffered, Queue is much better
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 05:24:00 +0000 (06:24 +0100)]
remove use of SyncFIFOBuffered, Queue is much better

5 years agoadd extra FIFOTest pipe to test 21, to see if sync-delays occur
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 05:21:18 +0000 (06:21 +0100)]
add extra FIFOTest pipe to test 21, to see if sync-delays occur

5 years agoadd assert on ControlBase.connect, stage should be None
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 05:15:30 +0000 (06:15 +0100)]
add assert on ControlBase.connect, stage should be None

5 years agoshuffle imports
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 04:13:00 +0000 (05:13 +0100)]
shuffle imports

5 years agoredo module imports
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 04:10:46 +0000 (05:10 +0100)]
redo module imports

5 years agoremove unneeded imports
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 04:08:50 +0000 (05:08 +0100)]
remove unneeded imports

5 years agoassign function setup to one of specallocate/nospecallocate
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 04:06:59 +0000 (05:06 +0100)]
assign function setup to one of specallocate/nospecallocate

5 years agoupdate comments
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 04:00:33 +0000 (05:00 +0100)]
update comments

5 years agoremove unneeded imports, move RecordBasedStage and PassThroughStage
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 03:55:25 +0000 (04:55 +0100)]
remove unneeded imports, move RecordBasedStage and PassThroughStage

5 years agoremove unneeded imports from iocontrol
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 03:52:43 +0000 (04:52 +0100)]
remove unneeded imports from iocontrol

5 years agoremove unneeded imports from stageapi
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 03:51:36 +0000 (04:51 +0100)]
remove unneeded imports from stageapi

5 years agosplit stageapi into separate module, move ControlBase to singlepipe
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 03:49:11 +0000 (04:49 +0100)]
split stageapi into separate module, move ControlBase to singlepipe

5 years agoStage API process fn now optional
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 03:47:49 +0000 (04:47 +0100)]
Stage API process fn now optional

5 years agoadd docstrings
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 03:07:04 +0000 (04:07 +0100)]
add docstrings

5 years agochain cannot be empty
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:54:43 +0000 (03:54 +0100)]
chain cannot be empty

5 years agomove StageHelper class
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:53:34 +0000 (03:53 +0100)]
move StageHelper class

5 years agoupdate comments
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:52:26 +0000 (03:52 +0100)]
update comments

5 years agoupdate comments
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:45:42 +0000 (03:45 +0100)]
update comments

5 years agoliked the StageHelper/Wrapper concept enough to keep it.
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:43:41 +0000 (03:43 +0100)]
liked the StageHelper/Wrapper concept enough to keep it.

also made ControlBase Stage-API-compliant by deriving from it.  Not
sure if this is a good idea

5 years agomake Stage.process optional
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:28:52 +0000 (03:28 +0100)]
make Stage.process optional

5 years agosplit out data creation to new_data function
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:21:25 +0000 (03:21 +0100)]
split out data creation to new_data function

5 years agoRevert "rework of ControlBase, split out into StageHandler"
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:17:17 +0000 (03:17 +0100)]
Revert "rework of ControlBase, split out into StageHandler"

This reverts commit 05702deb66d0b75772030b9ac558df3222001585.

5 years agoRevert "move wrapping of stage into StageHandler"
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:16:36 +0000 (03:16 +0100)]
Revert "move wrapping of stage into StageHandler"

This reverts commit 2b26be5b974d43047bf096a555408a62bab2c4eb.

5 years agomove wrapping of stage into StageHandler
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 00:14:25 +0000 (01:14 +0100)]
move wrapping of stage into StageHandler

5 years agorework of ControlBase, split out into StageHandler
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 22:35:05 +0000 (23:35 +0100)]
rework of ControlBase, split out into StageHandler

StageHandler manages the relationship with data.

ControlBase handles p and n (prev and next IO Control)

5 years agocall property data_r not data
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:55:52 +0000 (22:55 +0100)]
call property data_r not data

5 years agoreturn data (property) in fsm experiment
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:44:50 +0000 (22:44 +0100)]
return data (property) in fsm experiment

5 years agoanother eq import moved to nmoperator
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:42:01 +0000 (22:42 +0100)]
another eq import moved to nmoperator

5 years agouse property decorator to process input data from stage
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:38:34 +0000 (22:38 +0100)]
use property decorator to process input data from stage

5 years agoadd fast sqrt paper link
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 17:36:18 +0000 (18:36 +0100)]
add fast sqrt paper link

5 years agoget the sqrt m/e, print out the original m/e side-by-side with sqrt m/e
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 16:56:57 +0000 (17:56 +0100)]
get the sqrt m/e, print out the original m/e side-by-side with sqrt m/e

5 years agofind MSB-pow-2 in different way
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 16:51:46 +0000 (17:51 +0100)]
find MSB-pow-2 in different way

5 years agominor tidyup
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 16:49:20 +0000 (17:49 +0100)]
minor tidyup

5 years agoCreated two nested for loops for testing
Aleksandar Kostovic [Sun, 28 Apr 2019 15:45:26 +0000 (17:45 +0200)]
Created two nested for loops for testing

5 years agoCommented the right function
Aleksandar Kostovic [Sun, 28 Apr 2019 15:25:15 +0000 (17:25 +0200)]
Commented the right function

5 years agoadd convenience routines
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:52:11 +0000 (14:52 +0100)]
add convenience routines

5 years agoadd a few comments
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:45:03 +0000 (14:45 +0100)]
add a few comments

5 years agoadd some functions copied from unit_test_single for mantissa/exponent handling
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:44:49 +0000 (14:44 +0100)]
add some functions copied from unit_test_single for mantissa/exponent handling

5 years agoadd an __main__ test thing
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:44:18 +0000 (14:44 +0100)]
add an __main__ test thing

5 years agolittle trick when it comes to if else and a return statement:
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:43:51 +0000 (14:43 +0100)]
little trick when it comes to if else and a return statement:
remove the else and reduce the indentation a bit

5 years agoremove Q function thing
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:43:14 +0000 (14:43 +0100)]
remove Q function thing

5 years agoCreated the main function
Aleksandar Kostovic [Sun, 28 Apr 2019 13:08:47 +0000 (15:08 +0200)]
Created the main function

5 years agoadd comments to iocontrol.py
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 11:23:58 +0000 (12:23 +0100)]
add comments to iocontrol.py
g

5 years agofixed sqrt bugs
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 10:19:28 +0000 (11:19 +0100)]
fixed sqrt bugs

5 years agoAdapted the C version of sqrt to python
Aleksandar Kostovic [Sun, 28 Apr 2019 09:52:36 +0000 (11:52 +0200)]
Adapted the C version of sqrt to python

5 years agoadd docstrings
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 23:05:48 +0000 (00:05 +0100)]
add docstrings

5 years agopass name into multipipe
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:52:55 +0000 (23:52 +0100)]
pass name into multipipe

5 years agoupdate docstrings
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:45:06 +0000 (23:45 +0100)]
update docstrings

5 years agoupdate docstrings
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:42:54 +0000 (23:42 +0100)]
update docstrings

5 years agoupdate docstrings / comments
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:38:37 +0000 (23:38 +0100)]
update docstrings / comments

5 years agoupdate docstrings / comments
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:34:19 +0000 (23:34 +0100)]
update docstrings / comments

5 years agoupdate comments
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:26:37 +0000 (23:26 +0100)]
update comments

5 years agocall nmoperator.cat/eq/shape instead of as global functions
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:17:33 +0000 (23:17 +0100)]
call nmoperator.cat/eq/shape instead of as global functions

5 years agoadd assertion on stage chain (must be non-zero length). add docstrings
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 20:23:28 +0000 (21:23 +0100)]
add assertion on stage chain (must be non-zero length).  add docstrings

5 years agoupdate ControlBase docstrings, throw assert if pipechain is zero length
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 18:59:33 +0000 (19:59 +0100)]
update ControlBase docstrings, throw assert if pipechain is zero length

5 years agoallow StageChain to accept empty list/tuple
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 18:45:04 +0000 (19:45 +0100)]
allow StageChain to accept empty list/tuple

5 years agosplit out IO control classes to separate module
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 15:06:23 +0000 (16:06 +0100)]
split out IO control classes to separate module

5 years agomove eq, shape and cat to nmoperator.py
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 14:56:55 +0000 (15:56 +0100)]
move eq, shape and cat to nmoperator.py

5 years agoLTStageDerived does not have to be derived from Elaboratable
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 14:27:21 +0000 (15:27 +0100)]
LTStageDerived does not have to be derived from Elaboratable

5 years agoreplace i_data with data_i and o_data with data_o
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 14:08:06 +0000 (15:08 +0100)]
replace i_data with data_i and o_data with data_o

5 years agoadd submodules
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:57:50 +0000 (14:57 +0100)]
add submodules

5 years agocall ControlBase.elaborate
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:56:16 +0000 (14:56 +0100)]
call ControlBase.elaborate

5 years agoreplace i_ready with ready_i and o_valid with valid_o
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:55:02 +0000 (14:55 +0100)]
replace i_ready with ready_i and o_valid with valid_o

5 years agoRemoved left semicolons
Aleksandar Kostovic [Sat, 27 Apr 2019 13:37:02 +0000 (15:37 +0200)]
Removed left semicolons

5 years agoFPADDBasePipe derives from ControlBase, must return ControlBase.elaborate
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:23:37 +0000 (14:23 +0100)]
FPADDBasePipe derives from ControlBase, must return ControlBase.elaborate

5 years agodisable Elaboratable for now
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:22:56 +0000 (14:22 +0100)]
disable Elaboratable for now

5 years agoreplace i_valid with valid_i
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:22:43 +0000 (14:22 +0100)]
replace i_valid with valid_i

5 years agofix name bug in specallocate
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:14:18 +0000 (14:14 +0100)]
fix name bug in specallocate

5 years agoreplace o_ready with ready_o
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:14:06 +0000 (14:14 +0100)]
replace o_ready with ready_o

5 years agowhitespace cleanup
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:01:55 +0000 (14:01 +0100)]
whitespace cleanup

5 years agoadd name-detector to ispec / ospec, call with extra name arg if available
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:00:03 +0000 (14:00 +0100)]
add name-detector to ispec / ospec, call with extra name arg if available

(there are too many to change, and it requires "name=None" to be
added to all code, where devs may not *want* the burden of having
to add name prefixes to all code)

5 years agoNemoved the example number
Aleksandar Kostovic [Sat, 27 Apr 2019 10:58:57 +0000 (12:58 +0200)]
Nemoved the example number

5 years agoCreated the sqrt function found on wikipedia page
Aleksandar Kostovic [Sat, 27 Apr 2019 10:50:36 +0000 (12:50 +0200)]
Created the sqrt function found on wikipedia page

5 years agoVery simple function for sqrt
Aleksandar Kostovic [Sat, 27 Apr 2019 07:32:50 +0000 (09:32 +0200)]
Very simple function for sqrt

5 years agomore cases of Elaboratable
Luke Kenneth Casson Leighton [Fri, 26 Apr 2019 10:09:54 +0000 (11:09 +0100)]
more cases of Elaboratable

5 years agoadd more use of Elaboratables
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 09:36:21 +0000 (10:36 +0100)]
add more use of Elaboratables

5 years agoadd more use of Elaboratables
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 09:35:16 +0000 (10:35 +0100)]
add more use of Elaboratables

5 years agoadd new Elaboratable
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 09:23:24 +0000 (10:23 +0100)]
add new Elaboratable

5 years agoexperiment with Object class
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 23:24:50 +0000 (00:24 +0100)]
experiment with Object class

5 years agocreate example Object class (annoyingly)
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:52:33 +0000 (23:52 +0100)]
create example Object class (annoyingly)

5 years agodebugging RecordObject __setattr__
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:25:58 +0000 (23:25 +0100)]
debugging RecordObject __setattr__

5 years agoremove unused unit test
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:25:23 +0000 (23:25 +0100)]
remove unused unit test

5 years agouse RecordObject in output mux pipe
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:23:09 +0000 (23:23 +0100)]
use RecordObject in output mux pipe