Code Monkey home page Code Monkey logo

pcie_2's Introduction

Proyecto #2: Capa de transacción PCIE adaptada y lógica de conmutación

Este proyecto se basa en la creación de la capa de transacción del PCIE. Esta capa se modela de tal forma que lee los datos de entrada, los guarda en una memoria de entrada para posteriormente redirigirlos al puerto de salida en el que se requieran bajo una prioridad dada. Además cuenta con un árbitro para el manejo de las memorias internas (en este caso FIFOs), que se encarga de manejar las prioridades de los FIFOS de entrada, y limitar el paso de información cuando se llenan los FIFOs. Por otra parte, la capa de transacción también cuenta con una máquina de estados que controla la etapa en la que se encuentra el módulo.

Autores

  • Luis Alonso Rodríguez - B76547
  • Jafet David Gutiérrez Guevara - B73558
  • Gabriel Araya Mora - B80525
  • Andrés Arias Campos - B80661

Documentation

La capa de transacción diseñada está compuesta por los siguientes elementos:

  • FIFO: Se utilizan ocho unidades en total, las cuales se encargan del manejo de memoria en la arquitectura.
  • Árbitro: Se utiliza para el manejo de los buses de memoria en los FIFOs, esto para evitar que dos de ellos traten de pasar por un cable al mismo tiempo.
  • Multiplexor y demultiplexor: El multiplexor se compone por 4 entradas y una salida de datos. Su propósito es pasar las palabras de salida de cada FIFO al demultiplexor. Por otra parte, el demultiplexor está conformado por una entrada y 4 salidas de datos. Su función es la de direccionar las palabras que le pasa el multiplexor al FIFO correspondiente. El multiplexor utiliza la salida de pop del árbitro como entrada de selección, mientras que el demultiplexor escoge la salida de datos con base en los dos bits más significativos de las palabras de entrada.
  • Contadores: Se utilizan para verificar que la cantidad de palabras de entrada y salida sean la misma, esto para corroborar que no se perdieron datos en el proceso.
  • FSM: También llamada máquina de estados, es la encargada de indicar en cuál estado se encuentra la capa. Entre los estados se encuentran: el de reinicio (reset), el de inicio (init), el de inactividad (idle) y el de activo (active).

A continuación se muestra el diagrama que describe la arquitectura de la capa de transacción desarrollada:

Diagrama-completo.jpg

Universidad de Costa Rica

Facultad de Ingeniería

Escuela de Ingeniería Eléctrica

IE0523 - Circuitos Digitales II

pcie_2's People

Contributors

osiris350 avatar gabomora2200 avatar jdgg98 avatar

Watchers

 avatar

Forkers

gabomora2200

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.