Giter Club home page Giter Club logo

uart's Introduction

UART设计与验证

实现一个在ARM中通过APB总线连接的UART模块(Universal Asynchronous Receiver/Transmitter)模块,包括设计与验证两部分。

项目需求

  • 系统时钟最大工作频率满足100MHz,功能时钟满足26MHz
  • 具有系统和功能时钟域的复位功能
  • 配置接口满足AMBA2.0-APB总线接口时序,总线位宽16bit
  • 数据传输满足通用串口时序,奇偶校验功能可配置
  • 波特率满足115200,或可配置
  • 接收和发送FIFO复位单独可控,触发深度可配置
  • 数据收发中断功能可配置
  • 数据发送间隔可控
  • 具有状态指示功能
  • 具有FIFO数据量指示功能

设计

  • 波特率产生模块
    • 根据功能时钟和配置,产生收发波特率时钟。
  • 数据接收
    • 根据RX波特率时钟接收数据,进行奇偶校验,存放数据到RX FIFO,再由CUP经过APB总线读取数据。内含接收数据状态机。
  • 数据发送
    • CUP通过APB总线将需要发送的数据放到TX FIFO,根据TX波特率时钟进行数据发送。内含发送数据状态机。
  • 寄存器配置
    • 实现APB读写寄存器功能,中断操作,功能选择,模块状态指示等。

验证

  • 波特率产生
    • 产生仿真环境使用的波特率时钟。
  • 数据接收
    • 仿真环境的接收数据模型。
  • 数据发送
    • 仿真环境的发送数据模型。
  • APB总线
    • 仿真环境的APB总线模型,模拟cpu响应中断和实现各种功能。
  • 数据对比
    • 根据对比发送和接收的数据和时序,产生不同的对比结果,便于仿真时对结果的观察。
  • Testcase产生
    • 通过不同的激励或配置产生不同的case,验证时序和功能是否符合。

框架

更多资料

请关注公众号 “两猿社”.

  • 带你丰富IC相关项目经验,轻松应对校招!!!
  • 项目模块详细讲解,在公众号内持续更新!!!

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.