LatticeMico32 (LM32) es una CPU sin royalties que utilizo para estudiar cómo se puede implementar una CPU en orden canalizada.
Un punto problemático en particular con el que tengo problemas es cómo se implementa el archivo de registro. En una...
Estoy buscando un sintetizador verilog de código abierto. Estoy usando Icarus Verilog como un simulador de Verilog. Originalmente, lo iba a utilizar tanto para la simulación como para la síntesis, pero descubrí que la herramienta ya no admite la...
Cuando estaba mirando el código de Verilog de alguien, encontré "+:" en Verilog.
Parece una función aritmética pero no estoy seguro. Nunca he visto antes. ¿Alguien sabe este uso?
Actualización:
csum= csum + one_cnt[i* ('DPC_shift +1) +: ('D...
Tengo un CPLD (Lattice MachXO2) que emite una señal de un Arduino para encender un LED.
Arduino:
//send out .1s pulse on output pin 2 when a 'q' is recieved
void loop () {
USBinByte = Serial.read();
if (USBinByte == 'q') {
digital...
Estoy trabajando en un programa Verilog en el que quiero que muestre algún tipo de forma de onda de audio (capturada desde mi micrófono) a través de un VGA. Utilizo el siguiente módulo para cambiar las nuevas muestras de audio y lo intercambio c...
¿Puedes define un trozo de bits en Verilog?
Por ejemplo, esto es posible:
'define opcode 5:3 // is this possible?
reg [ 7:0 ] a, b;
...
if ( a[ 'opcode ] == someValue ) // a[5:3]
doStuff
if ( b[ 'opcode ] == someValue ) /...
Recientemente he comenzado a codificar seriamente en Verilog HDL. Aunque todavía tengo que controlar los FPGA y CPLD, tengo curiosidad acerca de los niveles de abstracciones utilizados en estos códigos. Entiendo que tengo 3 opciones en este mome...
En Verilog, $random genera diferentes entradas aleatorias pero esto no parece funcionar cuando lo intento. Cada vez que uso $random para un registro o entero, debo obtener diferentes valores, pero no es así. Lo probé incluso en el...
Estoy intentando crear un FSM que deja desplazamientos en un registro hasta que el MSB es 1 mientras se cuenta el número de turnos completados. Sin embargo, tengo un problema con los cierres porque no reasigno cada registro en un cambio de estad...
Después de sintetizar el diseño de mi nivel RTL en la lista de redes verilog, encuentro que la sintaxis es confusa. Esto es lo que quiero decir.
El compilador RTL me da:
MUX2X1 g11005(.A (n_741), .B (\in_a[9] ), .S (n_2197), .Y (n_1063));...