La Red de Conocimientos Pedagógicos - Currículum vitae - Preguntas del examen Ise

Preguntas del examen Ise

Este programa definitivamente no se puede utilizar, por lo que debe hacer algo usted mismo:

En primer lugar, la FPGA en sí no admite operaciones de multiplicación y división exponenciales que no sean 2, por lo que las operaciones de multiplicación y división en el algoritmo Necesito llamar al núcleo de multiplicación y división, y la llamada central está en No se puede expresar aquí. Debe generar un núcleo IP en quaters o ISE y luego llamarlo.

En segundo lugar, el período de la señal estándar es incierto, por lo que es imposible determinar cuándo el resultado está fuera de rango;

No sé qué profesor idiota te dio esto. pregunta de prueba. Simplemente desafía los límites de FPGA y específicamente hace preguntas en áreas en las que FPGA no es bueno.

Puedes usarlo primero. Si eliges la mejor respuesta, puedes hacerme cualquier pregunta. Normalmente lo visito de vez en cuando.

`Escala de tiempo 1 nanosegundo/1 nanosegundo

//////////////////////////// /////////////////////////////////////////////////// //// //////

//Compañía:

//Ingeniero: Scare Rice Plane

//

//Fecha de creación: 09:30:31 29/06/2010

//Nombre del diseño:

//Nombre del módulo: Frecuencia

// Nombre del proyecto:

//Dispositivo de destino:

//Versión de la herramienta:

//Descripción:

//

//Dependencias:

//

//Revisión:

//Revisión 0.01 - Archivo creado

/ /Comentarios adicionales:

//

////////////////////////////// /// //////////////////////////////////////////////// /////// //

Frecuencia del módulo (clk, En, zhamen, Entrada, LED4, LED1, LED2, LED3, LED5, baja, alta

);

Input clk//Entrada de reloj, que es la llamada señal estándar.

Entrada En;

Entrada Kuimen; //Entrada de puerta

Entrada de entrada; //Entrada de datos de prueba

Salida LED4 // Cinco LEDs como salidas.

LED de salida 1;

LED de salida2

LED de salida3

LED de salida5

Nivel bajo de salida <; /p>

Nivel alto de salida;

cable de cable

cable En

Puerta de cable;

Entrada cableada;

reg zhamen _ En//Umbral real habilitado

reg[10:0]Nx;//Datos

reg[11:0]Ns ; cuenta

reg[7:0]led 1;

reg[7:0]led 2;

reg[7:0] led 3;

reg[7:0]led 4;

reg[7:0]led 5;

reg bandera;

reg[ 10:0] resultado;

reg nivel bajo; //Indica que la salida del LED es inferior o superior al rango de prueba. Aquí, debido a que la configuración del valor umbral está relacionada con la frecuencia de clk, debe configurarlo usted mismo.

reg alto;

siempre@(posedgeclock)

iniciar

if(En==1)

Iniciar

if(zhamen==1)

Iniciar

if(input==1)

Zha men _ En = 1;

Fin

if(zhamen==0)

Inicio

if(input==1)

Inicio

Zha men _ En = 0;

Fin

Fin

if(zhamen_En==1)

p>

Inicio

Ns = Ns+1;

bandera = 1

Fin

Fin

Otro

Inicio

led 5 = 0;

led 1 = 0

led 2 = 0; p>

led 3 = 0;

led 4 = 0;

Zha men _ En = 0;

bandera = 0; >

p>

Fin

Fin

Siempre @(entrada planteada)

Inicio

if(zhamen_En= =1)

Nx = Nx+1;

Fin

Siempre @(reloj puesto)

Inicio

if( Zha men _ En = = 0 &&flag==1)

Inicio

flag = 0;

Resultado=(Nx/Ns )* Fs//Esto es sólo un ejemplo. Aquí debe llamar al núcleo de división y al núcleo de multiplicación, simplemente ingréselos directamente después de llamar.

Case(result%10)//Aquí también se llama al núcleo de división para generar el resto y el resultado, lo mismo ocurre a continuación.

4' b 0000: led 1 = 8 ' b 11111101

4 ' b 0001: led 1 = 8 ' b 01100001

4 ' b; 0010: led 1 = 8' b 110110111;

4' b 0011: led 1 = 8' b 11110011;

4' b 0100: led 1 = 8' b 011001111;

4' b 0101: led 1 = 8 ' b 101101111

4 ' b 0110: led 1 = 8 ' b 101111111

4 ' b 0111: led 1 = 8' b 11100001;

4' b 1000: led 1 = 8' b 111111111;

4' b 1001: led 1 = 8' b 111111111;

Predeterminado: led 1 = 8 ' b 11111101

Fin de caso

Caso ((resultado%10)%100)/10)p>

4' b 0000: led 2 = 8' b 11111100;

4' b 0001: led 2 = 8' b 01100000;

4' b 0010: led 2 = 8' b 11011010;

4' b 0011: led 2 = 8' b 11110010;

4' b 0100: led 2 = 8' b 01100110;

p>

4 ' b 0101: led 2 = 8 ' b 101101110;

4 ' b 0110: led 2 = 8 ' b 101111110;

4' b 0111: led 2 = 8 ' b 11100000

4 ' b 1000: led 2 = 8 ' b 111111110

4 ' b 1001: led 2 = 8 ' b 111101110;

p>

Predeterminado: led 2 = 8 ' b 11111100;

Fin caso

Caso ((resultado% 1000- resultado% 100-resultado%10)/100)

4 ' b 0000: led 3 = 8 ' b 11111100;

4 ' b 0001: led 3 = 8 ' b 01100000 ;

4 ' b 0010 :led 3 = 8 ' b 11011010

4 ' b 0011 : led 3 = 8 ' b 11110010

4 ' b 0100: led 3 = 8 ' b 01100110;

4 ' b 0101: led 3 = 8 ' b 101111110;

4 ' b 0111 :led 3 = 8 ' b 11100000;

4 ' b 1000:led 3 = 8 ' b 111111110;

4 ' b 1001:led 3 = 8 ' b 111101110;

Predeterminado: led 3 = 8 ' b 111111100;

Fin de caso

Caso((resultado% 10000 -resultado% 1000-resultado% 100-resultado%10 )/1000)

<

p>4 ' b 0000: led 4 = 8 ' b 11111100;

4 ' b 0001: led 4 = 8 ' b 01100000;

4 ' b 0010: led 4 = 8' b 11011010;

4' b 0011: led 4 = 8' b 11110010;

4' b 0100: led 4 = 8' b 01100110;

4 ' b 0101: led 4 = 8 ' b 101101110;

4 ' b 0110: led 4 = 8 ' b 101111110;

4 ' b 0111: led 4 = 8 ' b 11100000;

4 ' b 1000:led 4 = 8 ' b 111111110;

4 ' b 1001:led 4 = 8 ' b 111101110;

Predeterminado: led 4 = 8' b 11111100;

Fin de caso

Caso ((resultado-resultado% 10000-resultado% 1000-resultado% 100-resultado%10)/ 10000)

4' b 0000: led 5 = 8 ' b 11111100

4 ' b 0001: led 5 = 8 ' b 01100000

4 ' b 0010:led 5 = 8 ' b 11011010;

4 ' b 0011:led 5 = 8 ' b 11110010;

4 ' b 0100:led 5 = 8 ' b 01100110;

4' b 0101: led 5 = 8' b 101101110;

4' b 0110: led 5 = 8' b 101111110

4 ' b 0111: led 5 = 8 ' b 11100000

4 ' b 1000: led 5 = 8 ' b 111111110

4 ' b 1001: led 5 = 8 ' b; 111101110;

Predeterminado: le D5 = 8 ' b 11111100

Fin de caso

Fin

Fin

Módulo terminal