projects
/
ieee754fpu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
ee09397
)
extend truth tables
author
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Fri, 12 Apr 2019 12:35:04 +0000
(13:35 +0100)
committer
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Fri, 12 Apr 2019 12:35:04 +0000
(13:35 +0100)
src/add/singlepipe.py
patch
|
blob
|
history
diff --git
a/src/add/singlepipe.py
b/src/add/singlepipe.py
index a6a4bfed16cb3f3619c767aecf618092c96be760..311fee97c7095c87a35c8acb71882c41f0c0a1d8 100644
(file)
--- a/
src/add/singlepipe.py
+++ b/
src/add/singlepipe.py
@@
-762,32
+762,32
@@
class SimpleHandshake(ControlBase):
+--process->--^
Truth Table
+--process->--^
Truth Table
- Inputs Temporary Output
- ------- ---------- -----
+ Inputs Temporary Output
Data
+ ------- ---------- -----
----
P P N N PiV& ~NiR& N P
i o i o PoR NoV o o
V R R V V R
------- - - - -
P P N N PiV& ~NiR& N P
i o i o PoR NoV o o
V R R V V R
------- - - - -
- 0 0 0 0 0 0 >0 0
- 0 0 0 1 0 1 >1 0
- 0 0 1 0 0 0 0 1
- 0 0 1 1 0 0 0 1
+ 0 0 0 0 0 0 >0 0
reg
+ 0 0 0 1 0 1 >1 0
reg
+ 0 0 1 0 0 0 0 1
process(i_data)
+ 0 0 1 1 0 0 0 1
process(i_data)
------- - - - -
------- - - - -
- 0 1 0 0 0 0 >0 0
- 0 1 0 1 0 1 >1 0
- 0 1 1 0 0 0 0 1
- 0 1 1 1 0 0 0 1
+ 0 1 0 0 0 0 >0 0
reg
+ 0 1 0 1 0 1 >1 0
reg
+ 0 1 1 0 0 0 0 1
process(i_data)
+ 0 1 1 1 0 0 0 1
process(i_data)
------- - - - -
------- - - - -
- 1 0 0 0 0 0 >0 0
- 1 0 0 1 0 1 >1 0
- 1 0 1 0 0 0 0 1
- 1 0 1 1 0 0 0 1
+ 1 0 0 0 0 0 >0 0
reg
+ 1 0 0 1 0 1 >1 0
reg
+ 1 0 1 0 0 0 0 1
process(i_data)
+ 1 0 1 1 0 0 0 1
process(i_data)
------- - - - -
------- - - - -
- 1 1 0 0 1 0 1 0
- 1 1 0 1 1 1 1 0
- 1 1 1 0 1 0 1 1
- 1 1 1 1 1 0 1 1
+ 1 1 0 0 1 0 1 0
process(i_data)
+ 1 1 0 1 1 1 1 0
process(i_data)
+ 1 1 1 0 1 0 1 1
process(i_data)
+ 1 1 1 1 1 0 1 1
process(i_data)
------- - - - -
"""
------- - - - -
"""
@@
-866,32
+866,32
@@
class UnbufferedPipeline(ControlBase):
Truth Table
Truth Table
- Inputs Temp Output
- ------- - -----
+ Inputs Temp Output
Data
+ ------- - -----
----
P P N N ~NiR& N P
i o i o NoV o o
V R R V V R
------- - - -
P P N N ~NiR& N P
i o i o NoV o o
V R R V V R
------- - - -
- 0 0 0 0 0 0 1
- 0 0 0 1 1 1 0
- 0 0 1 0 0 0 1
- 0 0 1 1 0 0 1
+ 0 0 0 0 0 0 1
reg
+ 0 0 0 1 1 1 0
reg
+ 0 0 1 0 0 0 1
reg
+ 0 0 1 1 0 0 1
reg
------- - - -
------- - - -
- 0 1 0 0 0 0 1
- 0 1 0 1 1 1 0
- 0 1 1 0 0 0 1
- 0 1 1 1 0 0 1
+ 0 1 0 0 0 0 1
reg
+ 0 1 0 1 1 1 0
reg
+ 0 1 1 0 0 0 1
reg
+ 0 1 1 1 0 0 1
reg
------- - - -
------- - - -
- 1 0 0 0 0 1 1
- 1 0 0 1 1 1 0
- 1 0 1 0 0 1 1
- 1 0 1 1 0 1 1
+ 1 0 0 0 0 1 1
reg
+ 1 0 0 1 1 1 0
reg
+ 1 0 1 0 0 1 1
reg
+ 1 0 1 1 0 1 1
reg
------- - - -
------- - - -
- 1 1 0 0 0 1 1
- 1 1 0 1 1 1 0
- 1 1 1 0 0 1 1
- 1 1 1 1 0 1 1
+ 1 1 0 0 0 1 1
process(i_data)
+ 1 1 0 1 1 1 0
process(i_data)
+ 1 1 1 0 0 1 1
process(i_data)
+ 1 1 1 1 0 1 1
process(i_data)
------- - - -
Note: PoR is *NOT* involved in the above decision-making.
------- - - -
Note: PoR is *NOT* involved in the above decision-making.
@@
-952,32
+952,32
@@
class UnbufferedPipeline2(ControlBase):
This is HELD if the output is not ready. It is updated
SYNCHRONOUSLY.
This is HELD if the output is not ready. It is updated
SYNCHRONOUSLY.
- Inputs Temp Output
+ Inputs Temp Output
Data
------- - -----
------- - -----
- P P N N ~NiR& N P
+ P P N N ~NiR& N P
(buf_full)
i o i o NoV o o
V R R V V R
------- - - -
i o i o NoV o o
V R R V V R
------- - - -
- 0 0 0 0 0 0 1
- 0 0 0 1 1 1 0
- 0 0 1 0 0 0 1
- 0 0 1 1 0 0 1
+ 0 0 0 0 0 0 1
process(i_data)
+ 0 0 0 1 1 1 0
reg
+ 0 0 1 0 0 0 1
process(i_data)
+ 0 0 1 1 0 0 1
process(i_data)
------- - - -
------- - - -
- 0 1 0 0 0 0 1
- 0 1 0 1 1 1 0
- 0 1 1 0 0 0 1
- 0 1 1 1 0 0 1
+ 0 1 0 0 0 0 1
process(i_data)
+ 0 1 0 1 1 1 0
reg
+ 0 1 1 0 0 0 1
process(i_data)
+ 0 1 1 1 0 0 1
process(i_data)
------- - - -
------- - - -
- 1 0 0 0 0 1 1
- 1 0 0 1 1 1 0
- 1 0 1 0 0 1 1
- 1 0 1 1 0 1 1
+ 1 0 0 0 0 1 1
process(i_data)
+ 1 0 0 1 1 1 0
reg
+ 1 0 1 0 0 1 1
process(i_data)
+ 1 0 1 1 0 1 1
process(i_data)
------- - - -
------- - - -
- 1 1 0 0 0 1 1
- 1 1 0 1 1 1 0
- 1 1 1 0 0 1 1
- 1 1 1 1 0 1 1
+ 1 1 0 0 0 1 1
process(i_data)
+ 1 1 0 1 1 1 0
reg
+ 1 1 1 0 0 1 1
process(i_data)
+ 1 1 1 1 0 1 1
process(i_data)
------- - - -
Note: PoR is *NOT* involved in the above decision-making.
------- - - -
Note: PoR is *NOT* involved in the above decision-making.