I’ve been trying to play with multiplication on a TinyFPGA A2, but Lattice Diamond is failing to build at the “*Synthesize Design*” step with the following:

```
Done: error code -1073741819
```

This appears to be `0xC0000005`

, or “*Access Violation*”…

Taking things step by step, I’ve found that performing multiplication with both inputs completely fixed, aside from *a single bit on one input*, the synthesis will complete… however that’s not useful.

I’ve also tried using someone else’s multiplication module (for example qmult.v) with no joy. Here, Diamond complains about `ovr`

being driven from two places, but commenting line 50 results in the Access Violation error again.

I understand that multiplication can be quite expensive in logic, but I’m only looking to work with two 8-bit values, and thus a 16-bit intermediary…

If I whittle down my design, then things start to work again, but I’m now in the situation of trying to figure out what I can “*keep*” without it crashing… which appears to be quite random.

- Does multiplication synthesize to a look-up table (as I’ve read somewhere)?
- Is this a known issue? (crashing without error)
- Is there anything I can do to better understand what’s going on?
- … is there an alternate tool people could recommend (perhaps Linux & command line?)