Algun experto en Verilog?

Hola,

Quiero hacer un circuito secuencial sencillo de tan solo 3 salidas, pero nunca antes habia programado CPLD.

Consiste en lo sigiente:

Tres lineas llamadas "I", "V", y "H" que tienen que tomar los niveles alto (1) y bajo (0) según la siguiente secuencia:

I V H ===== Inicio de BucleA: (!! SE REPITE 600 veces !!) Durante 100 periodos: 1 0 0 Durante 5 periodos: 0 0 0 Durante 16 periodos: 0 1 0 Durante 11 periodos: 0 0 0 Fin de BucleA Durante 132 periodos: 0 0 0 Durante 528 periodos: 0 0 1 Durante 3036 periodos: 0 0 0 Vuelta al INICIO de BucleA

Por si sirve de algo: cada periodo es de 200 nanosegundos, y la CPLD de destino sería una XC9536XL ó XC9572XL de XILINX.

¿Hay algun experto en Verilog (ó ABEL-HDL) que pueda orientarme?

He escrito lo siguiente, pero me falta hacer el bucle general:

( ¿Existe algún repeat (forever)? ó ¿Se puede hacer un for(;;) infinito como el de C? )

== INICIO de CODIGO ===================================================

module secuencia;

output I; output H; output V;

initial

begin

repeat (600) begin // Inicio Bucle A repeat (100) begin I = 1; H = 0; V = 0; end repeat (5) begin I = 0; H = 0; V = 0; end repeat (16) begin I = 0; H = 1; V = 0; end repeat (11) begin I = 0; H = 0; V = 0; end end // Bucle A

repeat (132) begin // Inicio Bucle B I = 0; H = 0; V = 0; end // Bucle B

repeat (528) begin // Inicio Bucle C I = 0; H = 0; V = 1; end // Bucle C

repeat (3036) begin // Inicio Bucle D I = 0; H = 0; V = 0; end // Bucle D

end

== FIN de CODIGO ======================================================

Saludos.

Reply to
RF
Loading thread data ...

me gustaria ayudarte pero reconozco que no se que es un CPLD

saludos.

"RF" escribió en el mensaje news:kfrnd.173700$ snipped-for-privacy@news-reader.eresmas.com...

Reply to
Jhayber

Complex Programmable Logic Device

Es un conjunto de funciónes lógicas (AND, OR, NOT, Biestables...) encapsuladas en un circuito integrado e interconectables por medio de una matriz programable. La función lógica que se desea, se configura programando las conexiónes de la matriz. Esa es la definición genérica y burda, pero luego hay toda una familia de dispositivos, como las FPGA's, PAL, GAL, etc.

Saludos Jorge

Reply to
Jorge Sánchez

He estado mirando esquemas similares en internet y veo que estaba fallando en los conceptos principales. Ahora ya tengo codigo en el que fijarme.

Se tienen que utilizar contadores para generar los cambios, ya que las salidas no pueden salir de la nada, como es lógico.

Un saludo.

Reply to
RF

Son dispositivos de logica programable.

Sirven para sustituir a los integrados 74xx y similares.

Una ventaja de los CPLD es que se pueden volver a reprogramar (como la memoria Flash de un microcontrolador) para que realice una funcion distinta.

Otra de las ventajas es que con un único CPLD puedes sustituir a varios (o muchos) integrados 74xx.

Tambien tiene como ventaja la velocidad. Pueden llegar a velocidades de mas de 300 Mhz.

(otra ventaja es que algunos pueden funcionar a la vez con circuitos de 3.3V y 5V, sin necesidad de conversores de nivel. Ya que se realiza internamente)

Para programarlos requiere de un tiempo de aprendizaje, pero los fabricantes cada vez lo ponen mas fácil. Los entornos de desarrolo son gratuitos, y existen muchos esquemas en internet para fabricarse los programadores. Y además, el precio de los CPLD sencillos ronda los 3 euros (1 euro en USA).

Es comparable a lo que ocurre con los micros PIC o AVR. Los entornos de desarrolo son gratuitos (MPLAB y AVR Studio) y existen esquemas de programadores en internet (JDM, PonyProg).

Con las CPLD de Xilinx y Altera los entornos de desarrollo se llaman "WebPack" (Xilinx) y "Quartus" (Altera). Y los cables para programarlos se llaman "Parallel Cable III" (Xilinx) y ByteBlaster (Altera). Ambos utilizan el puerto paralelo del PC.

Existen otros fabricantes (Lattice, Atmel, AMD, Cypress, etc..) pero los dos anteriores son los mas destacados.

Saludos.

Reply to
RF

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.