Comments (5)
Well, you're right - this chip has 5 DSP blocks, two macros in each. Five mult36x36 seems to pick them all.
mult36x36 is made up of 4 mult18x18, the results of which are compressed and added together using alu54d, which are in these dsps, so the usage report is somewhat lying.
from nextpnr.
I think it is a bit hard to understand, but does it mean we only have 5x ALU54 and 5x MULT36x36.
So if we use all 5x MULT36x36, they use the 5x ALU54, to add their results?
from nextpnr.
Here is one macro: two mult18x18 and alu54d
two macros form one DSP block.
Mult36x36 splits the input operands into 18-bit chunks and multiplies each chunk by each.
The results of the multiplications are then shifted and summed to produce a 72-bit result. Four 18x18 multipliers are used for multiplying chunks, and two ALU54Ds are used for shifting and subsequent summing.
Thus, using one Mult36x36 you occupy 4 mult18x18 and two ALU54d
If necessary, I can draw a picture of multiplication and shifts along each wire, although it will be a large picture.
from nextpnr.
Ahh I see! Now it makes sense. Just got it trough using all 10 ALU54, by reducing some of the MULT36.
Thank you for the help!
Just a note, but maybe you could change the "Device utilisation:" to whenever a MULT36 is used, it should add +2 on the ALU54, maybe in parentheses.
Info: Device utilisation:
Info: VCC: 1/ 1 100%
Info: IOB: 25/ 274 9%
Info: LUT4: 2396/ 8640 27%
Info: OSER16: 0/ 80 0%
Info: IDES16: 0/ 80 0%
Info: IOLOGICI: 0/ 276 0%
Info: IOLOGICO: 0/ 276 0%
Info: MUX2_LUT5: 390/ 4320 9%
Info: MUX2_LUT6: 94/ 2160 4%
Info: MUX2_LUT7: 35/ 1080 3%
Info: MUX2_LUT8: 14/ 1080 1%
Info: ALU: 722/ 6480 11%
Info: GND: 1/ 1 100%
Info: DFF: 1819/ 6480 28%
Info: RAM16SDP4: 0/ 270 0%
Info: BSRAM: 7/ 26 26%
Info: ALU54D: 4(10)/ 10 40% edit
Info: MULTADDALU18X18: 0/ 10 0%
Info: MULTALU18X18: 0/ 10 0%
Info: MULTALU36X18: 0/ 10 0%
Info: MULT36X36: 3/ 5 60%
Info: MULT18X18: 0/ 20 0%
Info: MULT9X9: 0/ 40 0%
Info: PADD18: 0/ 20 0%
Info: PADD9: 0/ 40 0%
Info: GSR: 1/ 1 100%
Info: OSC: 0/ 1 0%
Info: rPLL: 1/ 2 50%
Info: BUFG: 0/ 22 0%
from nextpnr.
yes that would be nice, I haven’t delved into it yet because this part is not specific to Gowin and is located somewhere at the upper general levels :)
from nextpnr.
Related Issues (20)
- Symbol not found: __ZNK5boost10filesystem4path7stem_v3Ev HOT 5
- DSP Primitives not working on GOWIN or Himbaechel HOT 13
- Histogram should probably show slack 0 to improve clarity
- I can't find the arch file chipdb-5k.bin, where is it ? HOT 2
- Routing fails on Crosslink Nexus: "Failed to route arc 0.0 of net 'clk'" HOT 4
- ecp5: trouble using IO_TYPE=LVDS HOT 8
- Does anyone know how to get this working in Void Linux? HOT 2
- Himbaechel Example fail
- Matching Bel type shows as not matching HOT 2
- PIN "U3" unavailabel in ECP5's CABGA381 package HOT 1
- Could not use nextpnr-gowin with --family GW2A-18C HOT 2
- Is there MachXO3 support? HOT 2
- [Feature request] backend for SOFA (Skywater Opensource FPGAs) HOT 4
- An option to reject inputs where some of the clock nets have no defined or derived constraints HOT 4
- Fmax estimation implemented with nextpnr-himbaechel for Gowin devices? HOT 3
- Infinite loop in router for a large fraction of seeds on a consistent net
- Apycula not found HOT 2
- Empty GUI grid with --gui using nexpnr-himbaechel on GW1NR-LV9; --gui-no-aa crashes. HOT 2
- Build is broken HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nextpnr.