摘要:
TTL,CMOS以及LVTTL,LVCMOS TTL和CMOS是数字电路中两种常见的逻辑电平,LVTTL和LVCMOS是两者低电平版本。TTL是流控器件,输入电阻小,TTL电平器件速度快,驱动能力大,但功耗大。CMOS是MOS管逻辑,为压控器件,且输入电阻极大,CMOS电平器件速度慢,驱动能力不足T 阅读全文
摘要:
1.1 什么是高速电路 信号的最高频率成分是取决于有效频率,而不是周期频率。 高速电路的定义是根据信号的有效频率来计算的,在现实世界中,任何信号都是由多个频率分量的正弦波叠加而成的。定义各正弦波分量的幅值为VN,则VN = 2 / (3.14 x N),可见各级谐波分量的幅值与频率成反比。现实信号, 阅读全文
摘要:
对于全局时钟的管理,涉及到关于亚稳态的知识,大家可以上网搜索相关资料,这里不再赘述。亚稳态最简单的理解形式是无法判断是处于高电平状态还是处于低电平状态,这样会导致整个系统不稳定,会出现逻辑上的错误。 任何对时钟的管理形式,都是最大限度避免亚稳态情况的出现,从而提高MTBF(平均无故障时间)。 对于... 阅读全文
摘要:
SDRAM驱动需要两个时钟,一个是控制时钟,一个是驱动时钟,这两个时钟有一个相位差,如何产生高精度的时钟是SDRAM能够正常工作的关键,采用FPGA内部动态可重置PLL生成SDRAM所需要的时钟频率。 1.PLL 上图是PLL的 官方文档中的内容。PLL主要由前N分频计数器(pre-divider... 阅读全文
摘要:
上一篇博客主要讲解了一下SDRAM整体结构以及PCB方面的注意事项。接下来讲解一下需要用到的一些命令。 1.常用命令的缩写 上述是常用到的一些指令集。 2.模式寄存器 (1)突发长度 通过对A0~A11的控制来实现SDRAM的常用配置。首先A0~A2是突发长度的控制。突发长度的控制如下图,有突发长度 阅读全文
摘要:
上图是terasic公司提供的SDRAM控制器,大部分已经封装好,我们需要修改其中部分代码,以此来实现我们自己需要的功能。 1.PLL时钟设定 首先上面的sdram_pll.v中产生上一篇博客所需要的“驱动时钟”和“控制时钟”,这两个时钟由于PCB走线延时,两个时钟会有一定的时间差,一般会设定在-... 阅读全文
摘要:
前面几篇博客已经讲到了关于0V7725的相关驱动问题,那么OV7725驱动成功之后,设定OV7725输出RGB565格式,那么对于640x480x16,那么若是选用FIFO,应该设置为位宽16bit,存储深度为30万,但是这样是不现实的。所以采用存储深度更大的SDRAM来实现数据的缓存。 要么对于... 阅读全文
摘要:
笔者用过的一些软件用来写Verilog代码,比如notepad+,ultra,editplus等,近日在群里看到大家在讨论一个比较有意思的软件,sublime text,才发现有种相见恨晚的感觉,其实利用这些编写代码的软件无非就是书写代码时更加快速,下面就介绍一下 sublime text2怎么来... 阅读全文
摘要:
大家在写程序的时候,可能会听闻,什么独热码,什么格雷码,什么二进制码等等,本节意在解释这几种编码之间的区别和优势以及用verilog怎么去实现,下面先介绍这几种编码的区别。1 基础理论部分1.1 独热码 独热码,在英文文献中称做 one-hot code, 直观来说就是有多少个状态就有多少比特,而... 阅读全文
摘要:
1基础理论部分 VGA(video graphics array)即视频图形阵列,是IBM在1987年随PS/2一起推出的使用模拟信号的一种视频传输标准。VGA相比与现在的视频传输接口来说已经过时,不过作为最低标准,基本上制造商都会接入此接口,图11.1是常见的VGA接口。图11.1 VGA接口 对... 阅读全文