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

5 years agouse __iter__ for ports in multipipe
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:18:03 +0000 (23:18 +0100)]
use __iter__ for ports in multipipe

5 years agoadd ports function to RecordObject
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:53:34 +0000 (22:53 +0100)]
add ports function to RecordObject

5 years agoadd __iter__ to several classes, add global shape() function use in FIFOControl
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

5 years agoconvert FPOpData to __iter__
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:11:24 +0000 (22:11 +0100)]
convert FPOpData to __iter__

5 years agohmmm, Array not working as submodule
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:08:11 +0000 (22:08 +0100)]
hmmm, Array not working as submodule

5 years agoconvert ControlBase to iter
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:08:00 +0000 (22:08 +0100)]
convert ControlBase to iter

5 years agomake PrevControl and NextControl iterable
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:04:58 +0000 (22:04 +0100)]
make PrevControl and NextControl iterable

5 years agoconvert FPGet2OpMod to use PrevControl (replace ack/stb with i_valid/o_ready
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

5 years agoconvert to use PrevControl and NextControl instead of Trigger class
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

5 years agoadd prev/next ports and elaborate
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 14:59:00 +0000 (15:59 +0100)]
add prev/next ports and elaborate

5 years agoadd test_fsm_experiment.py - works great!
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 11:50:02 +0000 (12:50 +0100)]
add test_fsm_experiment.py - works great!

5 years agocomment out print debug statements
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 11:49:50 +0000 (12:49 +0100)]
comment out print debug statements

5 years agoimprove ControlBase.ports enumeration of its o_data and i_data
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

5 years agoinvestigating Record flattening
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:24:46 +0000 (10:24 +0100)]
investigating Record flattening

5 years agogenerate il file before running simulation, test 7
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:20:02 +0000 (10:20 +0100)]
generate il file before running simulation, test 7