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

5 years agouse elaborate not get_fragment
Luke Kenneth Casson Leighton [Sat, 20 Apr 2019 09:05:27 +0000 (10:05 +0100)]
use elaborate not get_fragment

5 years agorename flatten to cat
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 19:50:37 +0000 (20:50 +0100)]
rename flatten to cat

5 years agouse iterator for 2-arg Visitor as well as single-arg
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

5 years agoreplace flatten with iterator
Luke Kenneth Casson Leighton [Fri, 19 Apr 2019 14:31:22 +0000 (15:31 +0100)]
replace flatten with iterator

5 years agolooking for replacements of the hard-coded control blocks
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 09:04:06 +0000 (10:04 +0100)]
looking for replacements of the hard-coded control blocks

5 years agoadd in_multi and stage_ctl args to FIFOControl
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:57:23 +0000 (07:57 +0100)]
add in_multi and stage_ctl args to FIFOControl

5 years agoclarify pipe mode comments
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:46:12 +0000 (07:46 +0100)]
clarify pipe mode comments

5 years agorename count to level to match SyncFIFO API
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:40:20 +0000 (07:40 +0100)]
rename count to level to match SyncFIFO API

5 years agofix bug in setting up count
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 06:39:50 +0000 (07:39 +0100)]
fix bug in setting up count

5 years agogive convenience names to Queue (FIFOInterface) signals
Luke Kenneth Casson Leighton [Wed, 17 Apr 2019 03:04:11 +0000 (04:04 +0100)]
give convenience names to Queue (FIFOInterface) signals

5 years agotry using Queue instead of SyncFIFO
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:43:06 +0000 (13:43 +0100)]
try using Queue instead of SyncFIFO

5 years agotidyup on Queue class
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:39:37 +0000 (13:39 +0100)]
tidyup on Queue class

5 years agoreduce queue size down to 1
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:01:21 +0000 (13:01 +0100)]
reduce queue size down to 1

5 years agotransform to meet nmigen FIFOInterface API
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 12:00:59 +0000 (13:00 +0100)]
transform to meet nmigen FIFOInterface API

5 years agoadd initial ChiselQueue.py
Luke Kenneth Casson Leighton [Tue, 16 Apr 2019 11:25:20 +0000 (12:25 +0100)]
add initial ChiselQueue.py

5 years agoadd post-processing optional capability
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 05:47:38 +0000 (06:47 +0100)]
add post-processing optional capability

5 years agoadd c version from original paper
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 03:55:13 +0000 (04:55 +0100)]
add c version from original paper

5 years agoadd buffered and fwft modes to FIFOControl
Luke Kenneth Casson Leighton [Sat, 13 Apr 2019 03:37:18 +0000 (04:37 +0100)]
add buffered and fwft modes to FIFOControl

5 years agoCreate fsqrt.py file and put the verilog code in comments to indicate the basic struc...
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

5 years agoupdate comments
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 12:42:00 +0000 (13:42 +0100)]
update comments

5 years agoextend truth tables
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 12:35:04 +0000 (13:35 +0100)]
extend truth tables

5 years agoadd truth table for PassThroughHandshake
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 10:40:30 +0000 (11:40 +0100)]
add truth table for PassThroughHandshake

5 years agoadd 2-stage FIFO (add1) example
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 07:25:04 +0000 (08:25 +0100)]
add 2-stage FIFO (add1) example

5 years agoadd temporary buf_full to UnbufferedPipeline
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 04:52:27 +0000 (05:52 +0100)]
add temporary buf_full to UnbufferedPipeline

5 years agoadd comments to FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 04:12:46 +0000 (05:12 +0100)]
add comments to FIFOControl

5 years agorename some test functions, make better suitable for nosetests
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 04:05:12 +0000 (05:05 +0100)]
rename some test functions, make better suitable for nosetests

5 years agoadd Test 24, add built-in process function into FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 03:21:24 +0000 (04:21 +0100)]
add Test 24, add built-in process function into FIFOControl

5 years agomove PassThroughStage out of FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 02:54:00 +0000 (03:54 +0100)]
move PassThroughStage out of FIFOControl

5 years agoswap iospecfn and depth arguments in FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 02:50:02 +0000 (03:50 +0100)]
swap iospecfn and depth arguments in FIFOControl

5 years agoadd test23, connect FIFO-with-RecordObj to adder
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:48:06 +0000 (02:48 +0100)]
add test23, connect FIFO-with-RecordObj to adder

5 years agoprocess nxt.o_data in connect_out, not prev data
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:47:37 +0000 (02:47 +0100)]
process nxt.o_data in connect_out, not prev data

5 years agouse SimpleHandshake in RecordObject test
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:24:29 +0000 (02:24 +0100)]
use SimpleHandshake in RecordObject test

5 years agoremove eq function from RecordObject test
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:21:04 +0000 (02:21 +0100)]
remove eq function from RecordObject test

5 years agoadd RecordObject-based 2-op add test
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:20:42 +0000 (02:20 +0100)]
add RecordObject-based 2-op add test

5 years agoreorganise FIFOtest, call it FIFOControl
Luke Kenneth Casson Leighton [Fri, 12 Apr 2019 01:03:48 +0000 (02:03 +0100)]
reorganise FIFOtest, call it FIFOControl

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