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
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:28:52 +0000 (03:28 +0100)]
make Stage.process optional
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 02:21:25 +0000 (03:21 +0100)]
split out data creation to new_data function
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.
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.
Luke Kenneth Casson Leighton [Mon, 29 Apr 2019 00:14:25 +0000 (01:14 +0100)]
move wrapping of stage 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)
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:55:52 +0000 (22:55 +0100)]
call property data_r not data
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:44:50 +0000 (22:44 +0100)]
return data (property) in fsm experiment
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:42:01 +0000 (22:42 +0100)]
another eq import moved to nmoperator
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 21:38:34 +0000 (22:38 +0100)]
use property decorator to process input data from stage
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 17:36:18 +0000 (18:36 +0100)]
add fast sqrt paper link
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
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 16:51:46 +0000 (17:51 +0100)]
find MSB-pow-2 in different way
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 16:49:20 +0000 (17:49 +0100)]
minor tidyup
Aleksandar Kostovic [Sun, 28 Apr 2019 15:45:26 +0000 (17:45 +0200)]
Created two nested for loops for testing
Aleksandar Kostovic [Sun, 28 Apr 2019 15:25:15 +0000 (17:25 +0200)]
Commented the right function
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:52:11 +0000 (14:52 +0100)]
add convenience routines
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:45:03 +0000 (14:45 +0100)]
add a few comments
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
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:44:18 +0000 (14:44 +0100)]
add an __main__ test thing
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
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 13:43:14 +0000 (14:43 +0100)]
remove Q function thing
Aleksandar Kostovic [Sun, 28 Apr 2019 13:08:47 +0000 (15:08 +0200)]
Created the main function
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 11:23:58 +0000 (12:23 +0100)]
add comments to iocontrol.py
g
Luke Kenneth Casson Leighton [Sun, 28 Apr 2019 10:19:28 +0000 (11:19 +0100)]
fixed sqrt bugs
Aleksandar Kostovic [Sun, 28 Apr 2019 09:52:36 +0000 (11:52 +0200)]
Adapted the C version of sqrt to python
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 23:05:48 +0000 (00:05 +0100)]
add docstrings
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:52:55 +0000 (23:52 +0100)]
pass name into multipipe
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:45:06 +0000 (23:45 +0100)]
update docstrings
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:42:54 +0000 (23:42 +0100)]
update docstrings
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:38:37 +0000 (23:38 +0100)]
update docstrings / comments
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:34:19 +0000 (23:34 +0100)]
update docstrings / comments
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 22:26:37 +0000 (23:26 +0100)]
update comments
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
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
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
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 18:45:04 +0000 (19:45 +0100)]
allow StageChain to accept empty list/tuple
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 15:06:23 +0000 (16:06 +0100)]
split out IO control classes to separate module
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 14:56:55 +0000 (15:56 +0100)]
move eq, shape and cat to nmoperator.py
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 14:27:21 +0000 (15:27 +0100)]
LTStageDerived does not have to be derived from Elaboratable
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
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:57:50 +0000 (14:57 +0100)]
add submodules
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:56:16 +0000 (14:56 +0100)]
call ControlBase.elaborate
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
Aleksandar Kostovic [Sat, 27 Apr 2019 13:37:02 +0000 (15:37 +0200)]
Removed left semicolons
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:23:37 +0000 (14:23 +0100)]
FPADDBasePipe derives from ControlBase, must return ControlBase.elaborate
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:22:56 +0000 (14:22 +0100)]
disable Elaboratable for now
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:22:43 +0000 (14:22 +0100)]
replace i_valid with valid_i
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:14:18 +0000 (14:14 +0100)]
fix name bug in specallocate
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:14:06 +0000 (14:14 +0100)]
replace o_ready with ready_o
Luke Kenneth Casson Leighton [Sat, 27 Apr 2019 13:01:55 +0000 (14:01 +0100)]
whitespace cleanup
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)
Aleksandar Kostovic [Sat, 27 Apr 2019 10:58:57 +0000 (12:58 +0200)]
Nemoved the example number
Aleksandar Kostovic [Sat, 27 Apr 2019 10:50:36 +0000 (12:50 +0200)]
Created the sqrt function found on wikipedia page
Aleksandar Kostovic [Sat, 27 Apr 2019 07:32:50 +0000 (09:32 +0200)]
Very simple function for sqrt
Luke Kenneth Casson Leighton [Fri, 26 Apr 2019 10:09:54 +0000 (11:09 +0100)]
more cases of Elaboratable
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 09:36:21 +0000 (10:36 +0100)]
add more use of Elaboratables
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 09:35:16 +0000 (10:35 +0100)]
add more use of Elaboratables
Luke Kenneth Casson Leighton [Tue, 23 Apr 2019 09:23:24 +0000 (10:23 +0100)]
add new Elaboratable
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 23:24:50 +0000 (00:24 +0100)]
experiment with Object class
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:52:33 +0000 (23:52 +0100)]
create example Object class (annoyingly)
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:25:58 +0000 (23:25 +0100)]
debugging RecordObject __setattr__
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:25:23 +0000 (23:25 +0100)]
remove unused unit test
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:23:09 +0000 (23:23 +0100)]
use RecordObject in output mux pipe
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 22:18:03 +0000 (23:18 +0100)]
use __iter__ for ports in multipipe
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:53:34 +0000 (22:53 +0100)]
add ports function to RecordObject
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
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:11:24 +0000 (22:11 +0100)]
convert FPOpData to __iter__
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:08:11 +0000 (22:08 +0100)]
hmmm, Array not working as submodule
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:08:00 +0000 (22:08 +0100)]
convert ControlBase to iter
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 21:04:58 +0000 (22:04 +0100)]
make PrevControl and NextControl iterable
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
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
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 14:59:00 +0000 (15:59 +0100)]
add prev/next ports and elaborate
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 11:50:02 +0000 (12:50 +0100)]
add test_fsm_experiment.py - works great!
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 11:49:50 +0000 (12:49 +0100)]
comment out print debug statements
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
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:24:46 +0000 (10:24 +0100)]
investigating Record flattening
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:20:02 +0000 (10:20 +0100)]
generate il file before running simulation, test 7
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:05:27 +0000 (10:05 +0100)]
use elaborate not get_fragment
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 19:50:37 +0000 (20:50 +0100)]
rename flatten to cat
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 14:53:49 +0000 (15:53 +0100)]
use iterator for 2-arg Visitor as well as single-arg
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 14:31:22 +0000 (15:31 +0100)]
replace flatten with iterator
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 09:04:06 +0000 (10:04 +0100)]
looking for replacements of the hard-coded control blocks
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:57:23 +0000 (07:57 +0100)]
add in_multi and stage_ctl args to FIFOControl
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:46:12 +0000 (07:46 +0100)]
clarify pipe mode comments
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:40:20 +0000 (07:40 +0100)]
rename count to level to match SyncFIFO API
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:39:50 +0000 (07:39 +0100)]
fix bug in setting up count
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 03:04:11 +0000 (04:04 +0100)]
give convenience names to Queue (FIFOInterface) signals
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:43:06 +0000 (13:43 +0100)]
try using Queue instead of SyncFIFO
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:39:37 +0000 (13:39 +0100)]
tidyup on Queue class
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:01:21 +0000 (13:01 +0100)]
reduce queue size down to 1
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:00:59 +0000 (13:00 +0100)]
transform to meet nmigen FIFOInterface API
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 11:25:20 +0000 (12:25 +0100)]
add initial ChiselQueue.py
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 05:47:38 +0000 (06:47 +0100)]
add post-processing optional capability
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 03:55:13 +0000 (04:55 +0100)]
add c version from original paper
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 03:37:18 +0000 (04:37 +0100)]
add buffered and fwft modes to FIFOControl
Aleksandar Kostovic [Fri, 12 Apr 2019 20:23:25 +0000 (22:23 +0200)]
Create fsqrt.py file and put the verilog code in comments to indicate the basic structure of algorithm
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 12:42:00 +0000 (13:42 +0100)]
update comments