摘要: 基本原理: 1.读写指针的工作原理 写指针:总是指向下一个将要被写入的单元,复位时,指向第1个单元(编号为0)。 读指针:总是指向当前要被读出的数据,复位时,指向第1个单元(编号为0). 2.FIFO的“空”/“满”检测 FIFO设计的关键:产生可靠的FIFO读写指针和生成FIFO“空”/“满”状态 阅读全文
posted @ 2016-11-28 17:03 SYoong 阅读(11774) 评论(6) 推荐(1) 编辑
摘要: Part 1,功能定义: 用16*8 RAM实现一个同步先进先出(FIFO)队列设计。由写使能端控制该数据流的写入FIFO,并由读使能控制FIFO中数据的读出。写入和读出的操作(高电平有效)由时钟的上升沿触发。当FIFO的数据满和空的时候分别设置相应的高电平加以指示。FIFO是英文First In 阅读全文
posted @ 2016-11-28 12:35 SYoong 阅读(6204) 评论(0) 推荐(0) 编辑
摘要: 建立和保持时间: 建立时间(Tsu)是指在时钟上升沿到来之前数据必须保持稳定的时间,保持时间(Th)是指在时钟上升沿到来以后数据必须保持稳定的时间。一个数据需要在时钟的上升沿被锁存,那么这个数据就必须在这个时钟的上升沿的建立时间和保持时间内保持稳定。建立时间和保持时间的示意图如下图所示: 同步系统中 阅读全文
posted @ 2016-11-28 11:16 SYoong 阅读(2875) 评论(0) 推荐(0) 编辑
摘要: Verilog中已有一些建立好的逻辑门和开关的模型。在所涉及的模块中,可通过实例引用这些门与开关模型,从而对模块进行结构化的描述。 逻辑门: and (output,input,...) nand (output,input,...) or (output,input,...) nor (outpu 阅读全文
posted @ 2016-11-16 14:03 SYoong 阅读(42132) 评论(0) 推荐(0) 编辑
摘要: 利用状态机实现比较复杂的接口设计: 这是一个将并行数据转换为串行输出的变换器,利用双向总线输出。这是由EEPROM读写器的缩减得到的,首先对I2C总线特征介绍: I2C总线(inter integrated circuit)双向二线制串行总线协议为:只有总线处于“非忙”状态时,数据传输才开始。在数据 阅读全文
posted @ 2016-11-15 19:34 SYoong 阅读(5549) 评论(0) 推荐(0) 编辑
摘要: 在分频器电路中最重要的概念有两个;1)奇分频/偶分频;2)占空比。 A)其中最简单的就是二分频电路,占空比为50%,其Verilog程序为 波形图如下所示: B)采用计数器实现计数分频(偶数)占空比为50%,如实现40分频,程序如下: 波形图: C)采用相与/相或的方式实现奇分频,以及占空比可调分频 阅读全文
posted @ 2016-11-08 21:46 SYoong 阅读(5692) 评论(0) 推荐(0) 编辑
摘要: 这里采用夏宇闻教授第十五章的序列检测为例来学习; 从以上的状态转换图可以写出状态机的程序: 以下是测试模块: 其实这里也可以采用六个状态来实现功能: 以下是测试模块: 也可以用移位寄存器来实现: 1 module seqdet 2 ( 3 input wire x, 4 input wire clk 阅读全文
posted @ 2016-10-12 16:20 SYoong 阅读(7519) 评论(0) 推荐(1) 编辑
摘要: 详细的了解层次化事件队列有助于理解Verilog的阻塞赋值和非阻塞赋值功能。所谓层次化事件队列指的是用于调度仿真时间的不同Verilog事件队列。在IEEE的5.3节中定义了层次化事件队列在逻辑上分为用于当前仿真事件的4个不同队列,和用于下一段仿真事件的若干个附加队列: 1)动态事件队列(下列事件队 阅读全文
posted @ 2016-10-12 10:22 SYoong 阅读(2414) 评论(0) 推荐(0) 编辑
摘要: 1)状态机的异步置位和复位 异步置位与复位是于时钟无关的。当异步置位或复位信号来临时,他们立即分别置触发器的输出为1或0,不需要等待时钟沿的到来。要将他们列入always块的事件控制信号内就能触发always的执行。 沿关键词包括posedge(信号上升沿)和negedge(下降沿触发)的时钟,信号 阅读全文
posted @ 2016-10-11 15:29 SYoong 阅读(3916) 评论(0) 推荐(0) 编辑
摘要: 这里以简单的3-8译码器和8-3编码器为例: 8-3编码器程序: 1)利用for循环 1 module encoder8_3(a,out,none_on); 2 input [7:0]a; 3 output [2:0]out; 4 output none_on; 5 reg [2:0]out; 6 阅读全文
posted @ 2016-10-11 10:51 SYoong 阅读(4903) 评论(4) 推荐(0) 编辑