41 |
Desarrollo de un Microprocesador ARM7Soto Kort, Patricio Isaías January 2008 (has links)
Este trabajo de título tiene como objetivo generar la capacidad de diseñar circuitos
integrados digitales desarrollando un dispositivo electrónico específico: un microprocesador
ARM7. Para ésto se utilizaron lenguajes de descripción de hardware que permiten utilizar
una metodología top-down, comenzando por un modelo comportamental de alto nivel del
circuito hasta obtener un modelo estructural.
El microprocesador ARM7 es un exitoso modelo diseñado por ARMTM, que a pesar
de no poseer la complejidad de otros procesadores, se destaca por ser el más utilizado
en la familia de dispositivos ARM, encontrándose en diversos dispositivos portables como
consolas de juegos, teléfonos celulares y reproductores multimedia. Su diseño simple
ofrece un alto rendimiento a muy bajo consumo y costo, por lo cual ha sido escogido para
desarrollar en este trabajo.
El desarrollo contempló la utilización inicial de la herramienta ArchC, la cual permite
obtener una descripción de un procesador de manera relativamente sencilla en lenguaje
SystemC. Con este modelo diseñado se pudieron realizar pruebas que para verificar el
funcionamiento del procesador y así continuar con su descripción en lenguaje Verilog. Este
último tiene la capacidad de describir circuitos a bajo nivel y posee la ventaja de encontrarse
en un estado más maduro por la cantidad de años que ha sido utilizado por ingenieros.
El diseño del microprocesador en Verilog se realizó programando cada módulo que
conforma el datapath junto al módulo de control que genera las señales necesarias para
ejecutar una instrucción. La programación de estos módulos se realizó considerando las
estructuras conocidas por la literatura relacionada al tema y diseñando secciones que no
se encontraron documentadas de forma libre. A partir de esta programación se generó un
modelo Verilog que combina descripciones comportamentales y estructurales.
Antes de realizar la síntesis del microprocesador, cada módulo fue probado de forma
individual, asegurando su funcionalidad de forma independiente y luego se realizó una
validación global del sistema. Finalmente se realizó la síntesis del dispositivo con el
programa Design CompilerTM imponiendo restricciones para obtener un procesador de
20 Mhz. Se comprobó por medio de una nueva verificación que la netlist obtenida es
satisfactoria según las especificaciones.
En conclusión se obtuvo un microprocesador funcional, con las instrucciones más
importantes implementadas. Las pruebas fueron satisfactorias logrando corregir muchos
errores a causa de desconocimiento y/o descuido. El objetivo principal se cumplió ya que
en el trabajo se debió aprender tanto acerca de sistemas digitales como de lenguajes
de descripción de hardware. Estos últimos requieren mucha experiencia en su uso, ya
que describen algoritmos de forma paralela y no secuencial como los típicos lenguajes de
software a los cuales la mayoría de los ingenieros están acostumbrados.
Finalmente queda a disposición el modelo del microprocesador para que pueda ser
utilizado con fines académicos y con la posibilidad de completar su funcionalidad y/o ser
usado como núcleo de un sistema sobre una FPGA.
|
42 |
Projeto, verificação funcional e síntese de módulos funcionais para um comutador Gigabit Ethernet / Design, functional verification and synthesis of functional modules for a gigabit ethernet switchSeclen, Jorge Lucio Tonfat January 2011 (has links)
Este trabalho apresenta o projeto, a verificação funcional e a síntese dos módulos funcionais de um comutador Gigabit Ethernet. As funções destes módulos encontramse definidas nos padrões IEEE 802.1D, IEEE 802.1Q, IEEE 802.3 e nos seguintes RFCs (Request for Comments): RFC 2697, RFC 2698 e RFC 4115. Estes módulos formam o núcleo funcional do comutador e implementam as principais funções dele. Neste trabalho quatro módulos são desenvolvidos e validados. Estes módulos foram projetados para serem inseridos na plataforma NetFPGA, formando o chamado “User Data Path”. Esta plataforma foi desenvolvida pela universidade de Stanford para permitir a prototipagem rápida de hardware para redes. O primeiro módulo chamado de “Árbitro de entrada” decide qual das portas de entrada do comutador ele vai atender, para que os quadros que ingressam por essa porta sejam processados. Este módulo utiliza um algoritmo Deficit Round Robin (DRR). Este algoritmo corrige um problema encontrado no módulo original desenvolvido na plataforma NetFPGA. O segundo módulo é o “Pesquisador da porta de saída”. O bloco principal deste módulo é o motor de classificação. A função principal do motor de classificação e aprendizagem de endereços MAC é encaminhar os quadros à suas respectivas portas de saída. Para cumprir esta tarefa, ele armazena o endereço MAC de origem dos quadros em uma memória SRAM e é associado a uma das portas de entrada. Este motor de classificação utiliza um mecanismo de hashing que foi provado que é eficaz em termos de desempenho e custo de implementação. São apresentadas duas propostas para implementar o motor de classificação. Os resultados da segunda proposta permite pesquisar efetivamente 62,5 milhões de quadros por segundo, que é suficiente para trabalhar a uma taxa wire-speed em um comutador Gigabit de 42 portas. O maior desafio foi conseguir a taxa de wire-speed durante o processo de “aprendizagem” usando uma memória SRAM externa. O terceiro módulo é o marcador de quadros. Este módulo faz parte do mecanismo de qualidade de serviço (QoS). Com este módulo é possível definir uma taxa máxima de transferência para cada uma das portas do comutador. O quarto módulo (Output Queues) implementa as filas de saída do comutador. Este módulo faz parte de plataforma NetFPGA, mas alguns erros foram encontrados e corrigidos durante o processo de verificação. Os blocos foram projetados utilizando Verilog HDL e visando as suas implementações em ASIC, baseado em uma tecnologia de 180 nanômetros da TSMC com a metodologia Semi-Custom baseada em standard cells. Para a verificação funcional foi utilizada a linguagem SystemVerilog. Uma abordagem de estímulos aleatórios restritos é utilizada em um ambiente de testbench com capacidade de verificação automática. Os resultados da verificação funcional indicam que foi atingido um alto porcentual de cobertura de código e funcional. Estes indicadores avaliam a qualidade e a confiabilidade da verificação funcional. Os resultados da implementação em ASIC amostram que os quatro módulos desenvolvidos atingem a freqüência de operação (125 MHz) definida para o funcionamento completo do comutador. Os resultados de área e potência mostram que o módulo das Filas de saída possui a maior área e consumo de potência. Este módulo representa o 92% da área (115 K portas lógicas equivalentes) e o 70% da potência (542 mW) do “User Data Path”. / This work presents the design, functional verification and synthesis of the functional modules of a Gigabit Ethernet switch. The functions of these modules are defined in the IEEE 802.1D, IEEE 802.1Q, IEEE 802.3 standards and the following RFCs (Request for Comments): RFC 2697, RFC 2698 and RFC 4115. These modules are part of the functional core of the switch and implement the principal functions of it. In this work four modules are developed and validated. These modules were designed to be inserted in the NetFPGA platform, as part of the “User Data Path”. This platform was developed at Stanford University to enable the fast prototype of networking hardware. The first module called “input arbiter” decides which input port to serve next. This module uses an algorithm Deficit Round Robin (DRR). This algorithm corrects a problem found in the original module developed in the NetFPGA platform. The second module is the classification engine. The main function of the MAC address classification engine is to forward Ethernet frames to their corresponding output ports. To accomplish this task, it stores the source MAC address from frames in a SRAM memory and associates it to one of the input ports. This classification engine uses a hashing scheme that has been proven to be effective in terms of performance and implementation cost. It can search effectively 62.5 million frames per second, which is enough to work at wire-speed rate in a 42-port Gigabit switch. The main challenge was to achieve wire-speed rate during the “learning” process using external SRAM memory. The third module is the frame marker. This module is part of the quality of service mechanism (QoS). With this module is possible to define a maximum transmission rate for each port of the switch. The fourth module (Output Queues) implements the output queues of the switch. This module is part of the NetFPGA platform, but some errors were found and corrected during the verification process. These module were designed using Verilog HDL, targeting the NetFPGA prototype board and an ASIC based on a 180 nm process from TSMC with the Semi-custom methodology based on standard cells. For the functional verification stage is used the SystemVerilog language. A constrained-random stimulus approach is used in a layered-testbench environment with self-checking capability. The results from the functional verification indicate that it was reached a high percentage of functional and code coverage. These indicators evaluate the quality and reliability of the functional verification. The results from the ASIC implementation show that the four modules developed achieve the operation frequency (125 MHz) defined for the overall switch operation. The area and power results demonstrate that the Output Queues module has the largest area and power consumption. This module represents the 92% of area (115 K equivalent logic gates) and the 70% of power (542 mW) from the User Data Path.
|
43 |
Parameterizable Wishbone BusHussain Fawzi, Omar, Alagedi, Alfiqar January 2012 (has links)
In the industry of intellectual property products "IP-cores", a communication link is almost always needed. A semiconductor intellectual property IP core is a reusable unit of logic in electronic design. IP cores are used as building blocks for ASIC chip design or FPGA logic designs. A bus creates a communication link between the IP cores in a system. The company AnaCatum Design AB have many projects where a bus is needed. Creating a new bus structure for every project is time consuming. By having a generic bus structure of a known standard with changeable parameters, the user only has to set the desired parameters to fit the system. Also having interfaces for master and slave the user has only to make minor changes to have a fully functional bus for the system.
|
44 |
Projeto, verificação funcional e síntese de módulos funcionais para um comutador Gigabit Ethernet / Design, functional verification and synthesis of functional modules for a gigabit ethernet switchSeclen, Jorge Lucio Tonfat January 2011 (has links)
Este trabalho apresenta o projeto, a verificação funcional e a síntese dos módulos funcionais de um comutador Gigabit Ethernet. As funções destes módulos encontramse definidas nos padrões IEEE 802.1D, IEEE 802.1Q, IEEE 802.3 e nos seguintes RFCs (Request for Comments): RFC 2697, RFC 2698 e RFC 4115. Estes módulos formam o núcleo funcional do comutador e implementam as principais funções dele. Neste trabalho quatro módulos são desenvolvidos e validados. Estes módulos foram projetados para serem inseridos na plataforma NetFPGA, formando o chamado “User Data Path”. Esta plataforma foi desenvolvida pela universidade de Stanford para permitir a prototipagem rápida de hardware para redes. O primeiro módulo chamado de “Árbitro de entrada” decide qual das portas de entrada do comutador ele vai atender, para que os quadros que ingressam por essa porta sejam processados. Este módulo utiliza um algoritmo Deficit Round Robin (DRR). Este algoritmo corrige um problema encontrado no módulo original desenvolvido na plataforma NetFPGA. O segundo módulo é o “Pesquisador da porta de saída”. O bloco principal deste módulo é o motor de classificação. A função principal do motor de classificação e aprendizagem de endereços MAC é encaminhar os quadros à suas respectivas portas de saída. Para cumprir esta tarefa, ele armazena o endereço MAC de origem dos quadros em uma memória SRAM e é associado a uma das portas de entrada. Este motor de classificação utiliza um mecanismo de hashing que foi provado que é eficaz em termos de desempenho e custo de implementação. São apresentadas duas propostas para implementar o motor de classificação. Os resultados da segunda proposta permite pesquisar efetivamente 62,5 milhões de quadros por segundo, que é suficiente para trabalhar a uma taxa wire-speed em um comutador Gigabit de 42 portas. O maior desafio foi conseguir a taxa de wire-speed durante o processo de “aprendizagem” usando uma memória SRAM externa. O terceiro módulo é o marcador de quadros. Este módulo faz parte do mecanismo de qualidade de serviço (QoS). Com este módulo é possível definir uma taxa máxima de transferência para cada uma das portas do comutador. O quarto módulo (Output Queues) implementa as filas de saída do comutador. Este módulo faz parte de plataforma NetFPGA, mas alguns erros foram encontrados e corrigidos durante o processo de verificação. Os blocos foram projetados utilizando Verilog HDL e visando as suas implementações em ASIC, baseado em uma tecnologia de 180 nanômetros da TSMC com a metodologia Semi-Custom baseada em standard cells. Para a verificação funcional foi utilizada a linguagem SystemVerilog. Uma abordagem de estímulos aleatórios restritos é utilizada em um ambiente de testbench com capacidade de verificação automática. Os resultados da verificação funcional indicam que foi atingido um alto porcentual de cobertura de código e funcional. Estes indicadores avaliam a qualidade e a confiabilidade da verificação funcional. Os resultados da implementação em ASIC amostram que os quatro módulos desenvolvidos atingem a freqüência de operação (125 MHz) definida para o funcionamento completo do comutador. Os resultados de área e potência mostram que o módulo das Filas de saída possui a maior área e consumo de potência. Este módulo representa o 92% da área (115 K portas lógicas equivalentes) e o 70% da potência (542 mW) do “User Data Path”. / This work presents the design, functional verification and synthesis of the functional modules of a Gigabit Ethernet switch. The functions of these modules are defined in the IEEE 802.1D, IEEE 802.1Q, IEEE 802.3 standards and the following RFCs (Request for Comments): RFC 2697, RFC 2698 and RFC 4115. These modules are part of the functional core of the switch and implement the principal functions of it. In this work four modules are developed and validated. These modules were designed to be inserted in the NetFPGA platform, as part of the “User Data Path”. This platform was developed at Stanford University to enable the fast prototype of networking hardware. The first module called “input arbiter” decides which input port to serve next. This module uses an algorithm Deficit Round Robin (DRR). This algorithm corrects a problem found in the original module developed in the NetFPGA platform. The second module is the classification engine. The main function of the MAC address classification engine is to forward Ethernet frames to their corresponding output ports. To accomplish this task, it stores the source MAC address from frames in a SRAM memory and associates it to one of the input ports. This classification engine uses a hashing scheme that has been proven to be effective in terms of performance and implementation cost. It can search effectively 62.5 million frames per second, which is enough to work at wire-speed rate in a 42-port Gigabit switch. The main challenge was to achieve wire-speed rate during the “learning” process using external SRAM memory. The third module is the frame marker. This module is part of the quality of service mechanism (QoS). With this module is possible to define a maximum transmission rate for each port of the switch. The fourth module (Output Queues) implements the output queues of the switch. This module is part of the NetFPGA platform, but some errors were found and corrected during the verification process. These module were designed using Verilog HDL, targeting the NetFPGA prototype board and an ASIC based on a 180 nm process from TSMC with the Semi-custom methodology based on standard cells. For the functional verification stage is used the SystemVerilog language. A constrained-random stimulus approach is used in a layered-testbench environment with self-checking capability. The results from the functional verification indicate that it was reached a high percentage of functional and code coverage. These indicators evaluate the quality and reliability of the functional verification. The results from the ASIC implementation show that the four modules developed achieve the operation frequency (125 MHz) defined for the overall switch operation. The area and power results demonstrate that the Output Queues module has the largest area and power consumption. This module represents the 92% of area (115 K equivalent logic gates) and the 70% of power (542 mW) from the User Data Path.
|
45 |
A Verilog 8051 Soft Core for FPGA ApplicationsRangoonwala, Sakina 08 1900 (has links)
The objective of this thesis was to develop an 8051 microcontroller soft core in the Verilog hardware description language (HDL). Each functional unit of the 8051 microcontroller was developed as a separate module, and tested for functionality using the open-source VHDL Dalton model as benchmark. These modules were then integrated to operate as concurrent processes in the 8051 soft core. The Verilog 8051 soft core was then synthesized in Quartus® II simulation and synthesis environment (Altera Corp., San Jose, CA, www.altera.com) and yielded the expected behavioral response to test programs written in 8051 assembler residing in the v8051 ROM. The design can operate at speeds up to 41 MHz and used only 16% of the FPGA fabric, thus allowing complex systems to be designed on a single chip. Further research and development can be performed on v8051 to enhance performance and functionality.
|
46 |
Kosimulace mikroprocesoru a periferií / Co-Simulation of Microprocessor and Peripheral DevicesFrühbauer, Jan January 2012 (has links)
The aim of this thesis is to analyze various kinds of co-simulation techniques and to design integration these techniques into Lissom simulation platform. The first section of this thesis shows capabilities of external interfaces of simulation platforms for HDL languages VHDL, Verilog and SystemVerilog and of tool Matlab. The second section deals with design of synchronization mechanism among Lissom simulation platform and others simulation platforms using mentioned external interfaces. In the last part the testing of implemented solutions and evaluation of results is described.
|
47 |
Realisierung eines Verilog/VHDL Codegenerators fuer graphisch erfasste Finite State MachinesRoy, Diana 24 March 1997 (has links)
Es wurden verschieden Kodierungsarten fuer FSMs untersucht,
schwerpunktmaessig Gray Code und andere Arten der hazardfreien
Kodierung.
Ein spezieller Kodierungsalgorithmus zur hazardfreien
Kodierung wurde entwickelt und in eine Entwurfsumgebung
implementiert.
Ein weitere Schwerpunkt der Arbeit sind Codegeneratoren, die
eine Verhaltensbeschreibung der FSM in Verilog oder in VHDL
erzeugen.
|
48 |
SpyDrNet - An Open-Source Python Netlist Representation for Analysis and TransformationSkouson, Dallin Mark 31 March 2022 (has links)
SpyDrNet is an open-source structural netlist representation framework written in Python that allows users to create, analyze, and manipulate structural netlists. The internal format was designed to hold generic source structural netlists. Verilog and EDIF netlists generated by Vivado were read and written by SpyDrNet. Additional API functionality was built around the netlist representation. An application applying triple modular redundancy and duplication with compare was created and successfully used.
|
49 |
SoC Security Verification Using Assertion-Based and Information Flow Tracking TechniquesAchyutha, Shanmukha Murali January 2021 (has links)
No description available.
|
50 |
Implementation of Low-Bit Rate Audio Codec, Codec2, in Verilog on Modern FPGASSampath Kumar, Santhiya 30 April 2020 (has links)
No description available.
|
Page generated in 0.0626 seconds