A powerful tool to build, test, and analyse multiplier designs.
Project description
multiplied
A powerful tool to build, test, and analyse multiplier designs.
Why?
Generating and analysing multiplier designs by hand is labour intensive, even for small datasets, for entire truth tables , this is close to impossible.
multiplied is built to streamline:
- Custom partial product reduction via templates
- Generating complete truth tables
- Analysis, plotting, and managing datasets
- Fine-grain access to bits, words or stages
Setup
pip install multiplied
import multiplied as mp
Pattern Based Algorithm
Multiplied assists in template generation to create reusable algorithm objects:
- Patterns are used to build simple templates
- Automatic grouping based on empty rows
- Pseudo outputs help visualise where bits from a given arithmetic unit will land.
m = mp.Matrix(8)
p = mp.Pattern(['a','a','b','b','c','c','d','d'])
alg = mp.Algorithm(m)
alg.push(p)
print(alg)
0:{
template:{
________AaAaAaAa
_______aAaAaAaA_
______BbBbBbBb__
_____bBbBbBbB___
____CcCcCcCc____
___cCcCcCcC_____
__DdDdDdDd______
_dDdDdDdD_______
______AaAaAaAaAa
________________
____BbBbBbBbBb__
________________
__CcCcCcCcCc____
________________
DdDdDdDdDd______
________________
}
pseudo:{
______AaAaAaAaAa
____BbBbBbBbBb__
__CcCcCcCcCc____
DdDdDdDdDd______
________________
________________
________________
________________
}
map:{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FD FD FD FD FD FD FD FD FD FD FD FD FD FD FD FD
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
Automatic Template Generation
Extend the previous single stage, pattern based algorithm using auto resolution:
alg.auto_resolve_stage()
print(alg)
0:{
template:{
________AaAaAaAa
_______aAaAaAaA_
______BbBbBbBb__
_____bBbBbBbB___
____CcCcCcCc____
___cCcCcCcC_____
__DdDdDdDd______
_dDdDdDdD_______
______AaAaAaAaAa
________________
____BbBbBbBbBb__
________________
__CcCcCcCcCc____
________________
DdDdDdDdDd______
________________
}
pseudo:{
______AaAaAaAaAa
____BbBbBbBbBb__
__CcCcCcCcCc____
DdDdDdDdDd______
________________
________________
________________
________________
}
map:{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE FE
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FD FD FD FD FD FD FD FD FD FD FD FD FD FD FD FD
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
1:{
template:{
______AaAaAaAaAa
____AaAaAaAaAa__
__AaAaAaAaAa____
BbBbBbBbBb______
________________
________________
________________
________________
__AaAaAaAaAaAaAa
___AaAaAaAaAa___
________________
BbBbBbBbBb______
________________
________________
________________
________________
}
pseudo:{
__AaAaAaAaAaAaAa
___AaAaAaAaAa___
BbBbBbBbBb______
________________
________________
________________
________________
________________
}
map:{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
2:{
template:{
__AaAaAaAaAaAaAa
___aAaAaAaAaA___
AaAaAaAaAa______
________________
________________
________________
________________
________________
AaAaAaAaAaAaAaAa
_AaAaAaAaAaA____
________________
________________
________________
________________
________________
________________
}
pseudo:{
AaAaAaAaAaAaAaAa
_AaAaAaAaAaA____
________________
________________
________________
________________
________________
________________
}
map:{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
3:{
template:{
AaAaAaAaAaAaAaAa
_aAaAaAaAaAa____
________________
________________
________________
________________
________________
________________
AaAaAaAaAaAaAaAa
________________
________________
________________
________________
________________
________________
________________
}
pseudo:{
AaAaAaAaAaAaAaAa
________________
________________
________________
________________
________________
________________
________________
}
map:{
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
}
Complex Templates
Coming Soon
Documentation
Resouces for usage, general theory and implementations can be found in /docs/. For the API Reference head to multiplied's documentation site
Dependencies
Planned or currently in use.
| database | visualization |
|---|---|
| Parquet | Matplotlib |
| Pandas |
Full list TBD.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file multiplied-0.4.0.tar.gz.
File metadata
- Download URL: multiplied-0.4.0.tar.gz
- Upload date:
- Size: 34.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8155f891a2e5c42c910c7d6f60023a1544a7f71067c14e30b723284d5491b541
|
|
| MD5 |
df795284a3bd427369941bbd28f6613b
|
|
| BLAKE2b-256 |
4bf0a739929fa622c8f192b47d298b49d22bb3a02e659a7282e8c2c7f0d54170
|
File details
Details for the file multiplied-0.4.0-py3-none-any.whl.
File metadata
- Download URL: multiplied-0.4.0-py3-none-any.whl
- Upload date:
- Size: 43.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f15994f328a650c3934e167886162a181f38d7c1e88ed01c3dc1c72a6bc90d01
|
|
| MD5 |
5c4817fa0a39abfc4594412d86d58a58
|
|
| BLAKE2b-256 |
1007225e2fd6b40576cb38f71e94b82831248e842e0c58154374d2b703aad42e
|