aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
blob: 8df7cf846078b0269bdfed2cce611129d7a209b4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# Booth Multiplier

Sequentially multiply two signed twos-compliment integers in
Verilog using the [Booth Algorithm][1].

[1]: https://en.wikipedia.org/wiki/Booth%27s_multiplication_algorithm

## License

All source code is licensed under the CERN-OHL-W v2 or later.

## Usage

Set parameters `A1_LEN` and `A2_LEN` to the argument size of the
first and second integer. Set `A2LEN_SIZ` equal to
`floor(log2(A2_LEN) + 1)`.

After inputting each integer, pulse `arm` and wait until `fin` goes
high to retreive the output in `outn`.

## Simulating

Simulation is done with Verilator. Run `make`.