VHDL: problema con la función de resolución

T

toninlg

Guest
Código:data_in: INOUT STD_LOGIC_VECTOR (7 downto 0)

señal de datos: STD_LOGIC_VECTOR (7 downto 0);

 
¿Cómo hacer su FPGA real se sabe que 'data_in' en 'estado' Z '
porque '111111 'es muy similar a' ZZZZZ '?
Usted puede hacer esto sólo por las medidas, pero ¿para qué FPGA?

Creo que debe crear la señal adicional, que se
confirmar los datos válidos en data_in:

señal std_logic valid_data: '0 ', '0' datos no válidos, '1 'data_valid

if (valid_data = '1 '), entonces los datos <= data_in, es cadena correcta, pero asyncronous

Más fiable y correcta (en flanco de subida de CLK):

if (clk'event y = '1 'y valid_data = '1'), entonces los datos <= data_in

 
Creo que no entiendo muy bien el estado de alta Z, que es el problema.

Mediante la adición de señal adicional ¿Te refieres es decir, una llave de entrada escribir?De hecho, yo tengo una entrada de escribir, pero en la simulación si data_in conjunto de datos a todos los 'Z', se vio obligado a desconocidos.Supongo que al igual que para la IC, los datos deben ser válidos antes de la señal de escribir y que no hay nada que hacer si la entrada Escribir se activa mientras el bus de datos sigue siendo alta-Z?

 
Lo siento por mis primeros respuesta no es del todo correcto.

Z-estado es el estado de alta impedancia del conductor de salida.
La producción en Z-estado aislado de la entrada, la misma situación,
Cuando se coloca 10Mom resistencia en serie de la producción a
de entrada.Todo el valor de la producción no llegan a la entrada.
Siguiente: tiene autobús INOUT data_in de FPGA para el mundo exterior
y los datos = señal interna.
data_in está trabajando en modo de autobús INOUT que es la aportación
y salida conectados entre sí.

¿Por qué usan INOUT autobús si es único destino de los datos de entrada
(a juzgar por data_in nombre). Si es así, el uso en modo (es decir, data_in: IN std_logic_vector ..)

Si no es así, y necesitas bus bidireccional InOut, bien ir más allá.
Como he dicho, INOUT significa pin de entrada y salida del controlador conectados entre sí.Si hay algún valor en el driver de salida, que el mismo valor que podrás ver
en la entrada.De entrada más fuerte de conductor, se ve el valor de producción hacia atrás en la entrada,
porque unidos entre sí.
Si desea ver el valor de controlador externo conectado al pin IO en
Data_in autobús IO, usted debe colocar su bus de salida para el estado Z.
Si no va a depositar su salida a la Z en estado peor de los casos externo del conductor
se pelea con un driver de salida interna.Ganar más fuerte.Y usted
ver el resultado de esta lucha en su data_in de entrada.
Cuando el puesto de salida en el estado de la salida de Z está aislada de la entrada,
y podrás ver la señal de controlador externo conectado a dicho pin.
¿Por eso usted debe usar Z-estado.

Ahora su data_in en Z-estado y está esperando los datos correctos de exteriores
conductor.
Si asignación permanente de datos <= data_in, que «conjunto de datos a estado desconocido.
Bueno, no es problema.Cuando se coloca datos externos a data_in, ¿se
tienen ninguna señal en los pines externos, que acompaña con datos válidos.
Si usted tiene, no problema.Prueba de esta señal, y sólo cuando la señal
válida, asignar datos <= data_in.
Si aún no dicha señal, ¿cómo FPGA definir los datos correctos en el autobús data_in?

 
He de utilizar InOut, cuando Escribir es habilitar puedo actualizar los datos de la señal interna y cuando se lee es permitir que puse la señal de datos internos sobre data_in (nombre no está muy bien elegido, pero se trata del intento de múltiples).También hay un chip de seleccionar.
Cita:Si desea ver el valor de controlador externo conectado al pin IO en

Data_in autobús IO, usted debe colocar su bus de salida para el estado Z.

 
toninlg escribió:

Si uso un pin de InOut ¿Cómo puedo realizar el bus de salida para el estado Z?
Estaba pensando que data_in opción para el estado Z, fue la solución para ver los datos externos en la clavija IO?

 
¿Por qué no vamos a ser?
No creo que sea necesario para convertir la Z a 1 o 0.

 
No dije nada sobre la conversión de la Z a 0 o 1, pero la detección de si el bus de datos era el Alto-z.Debido a que en la simulación, si los datos de autobús High-Z la señal de datos se ve obligado a desconocidos.Pero yo estaba mezclando la simulación y hardware real.En el hardware si el bus es de alto Z verá la entrada de 0, 1 o un valor que oscila entre 0 y 1.
Yo no comprendo muy bien cómo hacer un autobús bidir en VHDL, he visto algunos de los puestos sobre este asunto, yo no soy el único pensamiento que está confundido.

 
Usted no puede detectar Alto Alto Z. Z es un estado reemplazable.Si es un proceso continuo de una línea de conducción de señales a "Estado Z", y luego otro proceso puede prevalecer sobre el estado continuamente poniendo un 0 o 1 en la línea misma señal.Usted no puede captar un estado Z.(No se puede reloj a otra señal.) Es un estado desconocido, porque su valor booleano es impredecible.

 

Welcome to EDABoard.com

Sponsor

Back
Top