Coder Social home page Coder Social logo

openxc7 / demo-projects Goto Github PK

View Code? Open in Web Editor NEW
41.0 7.0 15.0 22.19 MB

Demo projects for various Kintex FPGA boards

License: BSD 3-Clause "New" or "Revised" License

Makefile 0.08% Verilog 88.63% Tcl 0.28% Scala 7.12% Dockerfile 0.01% Java 0.05% C++ 0.39% SWIG 0.01% Shell 0.02% VHDL 0.22% Python 0.46% SystemVerilog 0.19% Assembly 2.38% C 0.18%
blinky fpga

demo-projects's People

Contributors

hansemro avatar hansfbaier avatar ilyarepko avatar jakergrossman avatar rcoeurjoly avatar robinsonb5 avatar suarezvictor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

demo-projects's Issues

Litex build not reproducible

Can you add the script/command used to generate the litex builds? I can't my own builds to work with the toolchain.

[yosys 0.18 : 0.36][openXC7 0.7.0] cannot place LUTRAM primitives

openXC7 0.7.0 update (more specifically yosys) introduces a build regression for litex-ddr-kc705 and litex-ddr-hpcstore-k420t demos due to unsupported inference of RAM128X1S/RAM256X1S (LUTRAM/Distributed RAM) primitives.

Info: Device utilisation:
Info:             SLICE_LUTX: 12586/407600     3%
Info:              SLICE_FFX:  6139/407600     1%
Info:                 CARRY4:   369/50950     0%
Info:             PSEUDO_GND:     1/86505     0%
Info:             PSEUDO_VCC:     1/86505     0%
Info:                  HARD0:     0/ 3660     0%
Info:               RAMB18E1:     8/  890     0%
Info:               FIFO18E1:     0/  445     0%
Info:           RAMBFIFO36E1:     0/  445     0%
Info:               RAMB36E1:    11/  445     2%
Info:                DSP48E1:     4/  840     0%
Info:                    PAD:   131/ 1460     8%
Info:          IOB33M_OUTBUF:     0/  168     0%
Info:          IOB33S_OUTBUF:     0/  168     0%
Info:           IOB33_OUTBUF:     5/  350     1%
Info:        IOB33M_INBUF_EN:     0/  168     0%
Info:        IOB33S_INBUF_EN:     0/  168     0%
Info:         IOB33_INBUF_EN:     3/  350     0%
Info:   IOB33M_TERM_OVERRIDE:     0/  168     0%
Info:   IOB33S_TERM_OVERRIDE:     0/  168     0%
Info:    IOB33_TERM_OVERRIDE:     0/  350     0%
Info:          PULL_OR_KEEP1:     0/  980     0%
Info:               IDELAYE2:    64/  500    12%
Info:           OLOGICE3_TFF:     0/  350     0%
Info:         OLOGICE3_OUTFF:     0/  350     0%
Info:          OLOGICE3_MISR:     0/  350     0%
Info:              OSERDESE2:   107/  500    21%
Info:           ILOGICE3_IFF:     0/  350     0%
Info:   ILOGICE3_ZHOLD_DELAY:     0/  350     0%
Info:              ISERDESE2:    64/  500    12%
Info:                  BUFIO:     0/   40     0%
Info:             IDELAYCTRL:     3/   10    30%
Info:               BUFGCTRL:     4/   32    12%
Info:                  BSCAN:     0/    4     0%
Info:                   BUFG:     0/   32     0%
Info:               DCIRESET:     0/    1     0%
Info:               DNA_PORT:     0/    1     0%
Info:              EFUSE_USR:     0/    1     0%
Info:              FRAME_ECC:     0/    1     0%
Info:                   ICAP:     0/    2     0%
Info:               INVERTER:     9/  240     3%
Info:    IOB18M_OUTBUF_DCIEN:     9/   72    12%
Info:      IOB18_INBUF_DCIEN:    65/  150    43%
Info:     IOB18_OUTBUF_DCIEN:   102/  150    68%
Info:             MMCME2_ADV:     0/   10     0%
Info:               ODELAYE2:   107/  150    71%
Info:           OLOGICE2_TFF:     0/  500     0%
Info:         OLOGICE2_OUTFF:     0/  500     0%
Info:              PLLE2_ADV:     1/   10    10%
Info:              SELMUX2_1:     4/154550     0%
Info:                STARTUP:     0/    1     0%
Info:             USR_ACCESS:     0/    1     0%
Info:                 BUFHCE:     0/  168     0%
Info:                 BUFFER:     0/  480     0%
Info:           ILOGICE2_IFF:     0/  500     0%
Info:          OLOGICE2_MISR:     0/  500     0%
Info:    IOB18_TERM_OVERRIDE:     0/  150     0%
Info:     IOB18S_INBUF_DCIEN:     0/   72     0%
Info:    IOB18S_OUTBUF_DCIEN:     9/   72    12%
Info:   IOB18S_TERM_OVERRIDE:     0/   72     0%
Info:     IOB18M_INBUF_DCIEN:     9/   72    12%
Info:   IOB18M_TERM_OVERRIDE:     0/   72     0%
Info:     IDELAYE2_FINEDELAY:     0/  150     0%

Info: Placed 687 cells based on constraints.
ERROR: Unable to place cell 'data_mem_grain0.0.0.genblk1.genblk1[0].genblk1.slice', no Bels remaining of type 'RAM128X1S'
0 warnings, 1 error
make: *** [../openXC7.mk:40: xilinx_kc705.fasm] Error 255

Looks like the openXC7 0.7.0 release includes an update to yosys 0.36 (from 0.17), which introduces memory_libmap pass (from 0.18 release). Reverting YosysHQ/yosys@3b2f959 stops yosys from inferring unsupported LUTRAM primitives.

nextpnr error (XC7K325) : "ERROR: Cell 'ODDR_2' cannot be bound to bel 'OLOGIC_X0Y147/OUTFF' since it is already bound to cell 'ODDR_3'"

I tried processing the litex generated output (with demo based tweaks on generated .xdc file), however it can't generate the bitstream(vivado can process the same w/o error). Here is the error (project source xc7k325t-veriscv-nextpnr.zip ):

Info: Annotating ports with timing budgets for target frequency 50.00 MHz
Info: Checksum: 0x40513b0e

Info: Device utilisation:
Info: SLICE_LUTX: 32144/407600 7%
Info: SLICE_FFX: 18140/407600 4%
Info: CARRY4: 985/50950 1%
Info: PSEUDO_GND: 1/86505 0%
Info: PSEUDO_VCC: 1/86505 0%
Info: HARD0: 0/ 3660 0%
Info: RAMB18E1_RAMB18E1: 41/ 890 4%
Info: FIFO18E1_FIFO18E1: 0/ 445 0%
Info: RAMBFIFO36E1_RAMBFIFO36E1: 0/ 445 0%
Info: RAMB36E1_RAMB36E1: 16/ 445 3%
Info: DSP48E1_DSP48E1: 16/ 840 1%
Info: PAD: 71/ 1460 4%
Info: IOB33M_OUTBUF: 0/ 168 0%
Info: IOB33S_OUTBUF: 0/ 168 0%
Info: IOB33_OUTBUF: 16/ 350 4%
Info: IOB33M_INBUF_EN: 0/ 168 0%
Info: IOB33S_INBUF_EN: 0/ 168 0%
Info: IOB33_INBUF_EN: 13/ 350 3%
Info: IOB33M_TERM_OVERRIDE: 0/ 168 0%
Info: IOB33S_TERM_OVERRIDE: 0/ 168 0%
Info: IOB33_TERM_OVERRIDE: 0/ 350 0%
Info: PULL_OR_KEEP1: 0/ 980 0%
Info: IDELAYE2_IDELAYE2: 16/ 500 3%
Info: OLOGICE3_TFF: 0/ 350 0%
Info: OLOGICE3_OUTFF: 8/ 350 2%
Info: OLOGICE3_MISR: 0/ 350 0%
Info: OSERDESE2_OSERDESE2: 44/ 500 8%
Info: ILOGICE3_IFF: 4/ 350 1%
Info: ILOGICE3_ZHOLD_DELAY: 0/ 350 0%
Info: ISERDESE2_ISERDESE2: 16/ 500 3%
Info: BUFIO_BUFIO: 0/ 40 0%
Info: IDELAYCTRL_IDELAYCTRL: 1/ 10 10%
Info: BUFGCTRL: 7/ 32 21%
Info: SELMUX2_1: 37/154550 0%
Info: BUFG_BUFG: 0/ 32 0%
Info: BUFHCE_BUFHCE: 0/ 168 0%
Info: PLLE2_ADV_PLLE2_ADV: 1/ 10 10%
Info: INVERTER: 3/ 240 1%
Info: BUFFER: 0/ 480 0%
Info: ILOGICE2_IFF: 0/ 500 0%
Info: OLOGICE2_MISR: 0/ 500 0%
Info: OLOGICE2_OUTFF: 0/ 500 0%
Info: OLOGICE2_TFF: 0/ 500 0%
Info: IOB18_INBUF_DCIEN: 16/ 150 10%
Info: IOB18_OUTBUF_DCIEN: 41/ 150 27%
Info: IOB18_TERM_OVERRIDE: 0/ 150 0%
Info: IOB18S_INBUF_DCIEN: 0/ 72 0%
Info: IOB18S_OUTBUF_DCIEN: 3/ 72 4%
Info: IOB18S_TERM_OVERRIDE: 0/ 72 0%
Info: IOB18M_INBUF_DCIEN: 2/ 72 2%
Info: IOB18M_OUTBUF_DCIEN: 3/ 72 4%
Info: IOB18M_TERM_OVERRIDE: 0/ 72 0%
Info: IDELAYE2_FINEDELAY_IDELAYE2_FINEDELAY: 0/ 150 0%
Info: ODELAYE2_ODELAYE2: 0/ 150 0%

ERROR: Cell 'ODDR_2' cannot be bound to bel 'OLOGIC_X0Y147/OUTFF' since it is already bound to cell 'ODDR_3'
0 warnings, 1 error
make: *** [Makefile:41: qmtech_kintex.fasm] Error 255

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.