Code Monkey home page Code Monkey logo

Comments (5)

yrabbit avatar yrabbit commented on August 29, 2024

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.

shot-0

from nextpnr.

bjoernskau avatar bjoernskau commented on August 29, 2024

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.

yrabbit avatar yrabbit commented on August 29, 2024

Here is one macro: two mult18x18 and alu54d

dsp-macro

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.

bjoernskau avatar bjoernskau commented on August 29, 2024

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.

yrabbit avatar yrabbit commented on August 29, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.