Examen febrero 2020 - RTL

Examen febrero 2020 - RTL

de Juan Pedro Fernández Muhlbauer -
Número de respuestas: 5

Hola. Hice el diagrama de tiempo de acuerdo a la descripción RTL de la solución y me quedó así. 
La salida we_n no debería de estar invertida? Ya que la letra dice que para escribir un byte se debe poner en nivel bajo la salida we_n.
Gracias.

En respuesta a Juan Pedro Fernández Muhlbauer

Re: Examen febrero 2020 - RTL

de Gonzalo Federico Cunarro Podesta -
Mientras no hay (cambio or on_off) siempre se escribe en la misma dirección de RAM y se va actualizando el valor en la misma. Cuando hay (cambio or on_off) no se escribe, se deja el último valor que hubo, se incrementa Dir_M[] y se resetea Cont[] de forma de empezar otro conteo.
En respuesta a Gonzalo Federico Cunarro Podesta

Re: Examen febrero 2020 - RTL

de Juan Pedro Fernández Muhlbauer -
Coincido con lo que decís, pero no es lo que refleja el diagrama de tiempos, no? Este lo hice guiado con la descripción RTL de la solución. A no ser que el diagrama este mal, no entiendo por que en la descripción se pone we_n=(cambio or on_off) en lugar de we_n=!(cambio or on_off), que seria invertir la salida we_n en el diagrama. Ya que de lo contrario nunca se escribiría el valor 02h, por ejemplo, debido a que we_n siempre permanece en alto cuando Data[]=02h.
En respuesta a Juan Pedro Fernández Muhlbauer

Re: Examen febrero 2020 - RTL

de Gonzalo Federico Cunarro Podesta -
Creo que tenes una confusión con la letra, no va escribiendo la cuenta en cada posición de memoria, cuenta y sobreescribe la misma celda de memoria hasta que hay cambio u on_off sube, y recién ahí dir pasa a apuntar a la siguiente celda de memoria.
En respuesta a Gonzalo Federico Cunarro Podesta

Re: Examen febrero 2020 - RTL

de Juan Pedro Fernández Muhlbauer -

Si, es cierto, pero lo que yo pregunto es lo siguiente: en ese período que marqué en la foto se debe escribir (en la dirección 0002h) el dato 02h, no? Y para poder escribirlo lo debe habilitar la salida we_n poniéndose en nivel bajo (we_n=0), según indica la letra. Pero como we_n=(cambio OR on_off) y se tiene que on_off=0 y cambio = in XOR in_ant  = 1 (en ese período), we_n=1 y no se habilita la escritura del dato 02h por estar we_n en nivel alto.
Por eso mi duda es si no debería de estar invertida la salida we_n para que se pueda habilitar la escritura del dato 02h, como también de aquellos datos para los cuales we_n=1 durante el mismo período en que ocurren esos datos, es decir, en todo momento en que we_n=1 en el diagrama?
En ese caso no quedaría we_n=!(cambio OR on_off) en lugar de we_n=!(cambio OR on_off)?

En respuesta a Juan Pedro Fernández Muhlbauer

Re: Examen febrero 2020 - RTL

de Gonzalo Federico Cunarro Podesta -
El contador lo que cuenta es nro de flancos en mismo nivel lógico -1, el primer flanco en un nuevo nivel corresponde al cero, ahí empiezo a contar, en el segundo flanco recién escribo 1. Porque si solo detecte un flanco con un nivel lógico no puedo asegurar que eso fuese un perídodo entero.