BRAM synthesis bug?
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Área
- build-system, embedded-iot
Línea de trabajo
Comienza con los puntos de entrada BRAM2Port/mkBRAM2Server y BRAM_DUAL_PORT/mkBRAMCore2, y después compara la síntesis de las BRAMs de escritura de 128 y 256 entradas. Reproduce la discrepancia con y sin la propiedad -nolutram, comparando la simulación, el Verilog generado y el bitfile resultante. Se considera terminado cuando se haya identificado y corregido la causa en la síntesis o la configuración, y la ruta de escritura funcione con el tamaño mayor.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
It was noticed that writes to the QSFP modules stopped working. Simulations looked fine. The limited capacity I had to observe on-chip behavior looked fine (writes to the BRAM appeared to happen, as did reads). However, the data that was always being read out was 0x0. Things looked fine in the BSV and I scoured the generated Verilog and could not find anything anomalous. While trying to figure out what could have changed, I remembered that I bumped up the size of the read/write BRAMs from 128 to 256 so place and route would automatically put them in hard RAM blocks, not lutrams. When I reverted the size of the write BRAM back down to 128 (resulting in it synthesizing to lutram), it worked correctly! When I tested a bitfile with 128 and synthesized with the -nolutram property, it also worked and had synthesized to hard logic. Simulations worked the whole time.
Notably, we haven't found any issues with the read BRAM after the size change. I'm guessing that is due to using the higher level BRAM2Port interface provided by mkBRAM2Server, which introduces FIFOs at the ports of the BRAM, compared to the more bare bones BRAM_DUAL_PORT interface given by mkBRAMCore2.
The generated Verilog for 128 vs 256 looks exactly the same aside from the memsize parameter on the BRAM instantiation changing. I am not going to spend the time chasing this down right now given other priorities (DVT/PVT builds, compliance), so I'm opening this issue as a tracker for later.
- Lenguaje dominante
- VHDL
- Estrellas
- 24
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de oxidecomputer/quartz
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
oxidecomputer/quartz#535 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
oxidecomputer/quartz#534 ·
-
VHDL ignition controllerAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
oxidecomputer/quartz#533 ·
-
FPGA-FPGA linkPosiblemente ocupada @nathanaelhuffman la tomó hace 21 días. Abierto
oxidecomputer/quartz#532 · 1 asignado ·
-
QSFP module controlAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
oxidecomputer/quartz#531 ·
Todos los issues de oxidecomputer/quartz
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
element-hq/lk-jwt-service#248 ·
Los mantenedores suelen responder en 1 día
-
area/install-update comp/cli duplicate P2 python:uv sweeper:risk-compatibility type/bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
NousResearch/hermes-agent#135440 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
pytorch/tensordict#1927 ·
Los mantenedores suelen responder en 1 día
-
bug ticket
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
cratestack/cratestack#1154 ·
Los mantenedores suelen responder en 1 día