数字电路时序初步及最小时钟周期计算

几个时间概念

TclkT_{clk}:时钟周期。两个时钟上升沿之间的时间。

TcoT_{co} / TctoqT_{ctoq}:寄存器更新延迟。clock output delay,时钟触发到数据输出的最大延迟时间。

TgateT_{gate} / TdataT_{data}:逻辑门的延迟。一般包括传播延迟。

TsetupT_{setup}:触发器的建立时间。

TholdT_{hold}:触发器的保持时间。

TskewT_{skew}:时钟偏移。同一时钟到达不同的触发器的时钟引脚经历的路径可能存在差异,造成他们的时钟上升沿不是同时出现的,这种偏差称为时钟偏移。通过使用时钟树综合工具可以有效地减少时钟偏移,但是不能消除时钟偏移。

Read more

SPI协议及其Verilog实现

简介

SPI(Serial Peripheral Interface)是一个串行的同步传输协议,不同于Uart和IIC,没有起始位和结束位而是以时钟沿来同步和传输;不同于采用数据包的形式,数据可以连续不中断地传输。是一种一对多的传输协议。4线SPI是全双工的接口,而3线SPI是半双工接口,本篇采用更通用的4线SPI来介绍。

Read more

Uart的Verilog实现

概述

Uart是个缩写,全称是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。单向传输只需要单线。异步传输的意思是没有同步时钟来同步发送端和接受端的数据,所以在数据之前添加起始位,之后添加结束位,以此来判断传输过程的开始和结束。当接收端检测到开始位,即开始以特定的频率来接收输入的bit位,这个特定的频率称为波特率。发送端和接收端要在大致相同的波特率下工作,才可以保证传输的正确性(最多相差10%)。

Read more

AMBA-APB总线协议学习

简介

The Advanced Peripheral Bus(APB)is part of the Advanced Microcontroller Bus architecture (AMBA)protocol family. It defines a low-cost interface that is optimized for minimal consumption and reduced interface complexity.

Read more

Verilog没有葵花宝典——day13(存储器)

题目

  1. 存储名词解释
  2. 用verilog实现一个深度为16,位宽8bit的单端口SRAM。搭建一个仿真环境,完成初始化,读取,写入的操作。
  3. 接第2题,如果同时对一个地址进行读和写操作,会怎样?实际中应该如何处理?
  4. 使用单端口SRAM构造一个双端口同步FIFO。

Read more