ieee754.part_cmp.experiments package¶
Submodules¶
ieee754.part_cmp.experiments.eq_combiner module¶
-
class
ieee754.part_cmp.experiments.eq_combiner.
Combiner
(op, width)¶ Bases:
nmigen.hdl.ir.Elaboratable
-
elaborate
(platform)¶
-
ports
()¶
-
-
class
ieee754.part_cmp.experiments.eq_combiner.
EQCombiner
(width)¶
-
class
ieee754.part_cmp.experiments.eq_combiner.
Twomux
¶ Bases:
nmigen.hdl.ir.Elaboratable
-
elaborate
(platform)¶
-
-
class
ieee754.part_cmp.experiments.eq_combiner.
XORCombiner
(width)¶
ieee754.part_cmp.experiments.equal module¶
Copyright (C) 2020 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
dynamically-partitionable “comparison” class, directly equivalent to Signal.__eq__ except SIMD-partitionable
See:
ieee754.part_cmp.experiments.equal_ortree module¶
Copyright (C) 2020 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
dynamically-partitionable “comparison” class, directly equivalent to Signal.__eq__ except SIMD-partitionable
See:
ieee754.part_cmp.experiments.ge module¶
Copyright (C) 2020 Luke Kenneth Casson Leighton <lkcl@lkcl.net>
dynamically-partitionable “comparison” class, directly equivalent to Signal.__ge__ except SIMD-partitionable
See:
- http://libre-riscv.org/3d_gpu/architecture/dynamic_simd/ge
- http://bugs.libre-riscv.org/show_bug.cgi?id=132
-
class
ieee754.part_cmp.experiments.ge.
PartitionedGe
(width, partition_points)¶ Bases:
nmigen.hdl.ir.Elaboratable
-
elaborate
(platform)¶
-
-
ieee754.part_cmp.experiments.ge.
create_ge
(nes, les, start, count)¶ create a greater-than-or-equal from partitioned eqs and greaterthans
- this works by doing: lt3 |
- (lt2 & eq3) | (lt1 & eq3 & eq2) | (lt0 & eq3 & eq2 & eq1)