【原创】验证平台的搭建——理论篇
前段时间,因为基于modelsim图形界面的对大量数据仿真的漫长时间令我失去耐心,使我不得不另找出路,于是,花了两天的时间搭了一个统一的验证平台,大大缩短了仿真的时间,即当仿真少量数据(通过观察波形)时,平台运行于图形界面下,当仿真大量数据时,平台则运行于命令形式下,从而提高了设计的效率。
发表于 2015/9/24 22:33:02
阅读(2658)
【原创】FPGA设计中的一个小分析
在我看过的很多代码中,发现许多人在对变量赋初始值(或常量值)0时的做法各种各样,现在来分析下这几种情况对设计的影响。以对64位变量a赋初始值0为例:(1)第一种:a<=64’d0;对于这种指定变量具体位宽的代码风格,我是直接否定的,因为它不利于参数
发表于 2015/8/2 13:22:47
阅读(2826)
【原创】FPGA应用(四)——电子钟
一、设计需求设计一个可以显示分、秒的电子钟模块并在红色飓风E45开发板的四个的数码管进行显示。二、设计思路首先,我们得了解板上四个八段数码管的特性进行了解。图1所示为数码管的原理图,从中可以知道数码是共阴的,即当LED_AN
发表于 2015/7/26 17:45:12
阅读(3383)
【原创】FPGA应用(三)——按键控制led
一、设计需求设计一个按键控制led的功能模块,即一个按键控制一个led。随着每一次按键的按下,led就按照亮、灭交替显示。二、设计思路本次使用的按键为机械弹性开关按键,但由于机械触点的弹性作用,按键闭合时并不能马上接通,同
发表于 2015/7/12 18:07:16
阅读(4491)
【原创】FPGA应用(二)——74HC595驱动
一、设计需求设计一个驱动74HC595芯片工作的功能模块,并在CB哥的开发板上8盏led灯上实现流水灯的效果。二、设计思路1、74HC595介绍及分析图1所示为74HC595芯片的封装及引脚分布。74HC595是由8位移位寄存器和8位三态并行输出的D型
发表于 2015/7/12 1:47:54
阅读(5494)
【原创】FPGA应用(一)——流水灯
一、设计需求设计一个功能模块使红色飓风E45板上的8盏led灯流动起来,像流水一样。二、设计思路首先,有一点要明确的是led灯的每一次流动都是需要时间间隔的。也就是说,8盏led灯所对应的状态只有经过一段时间延迟后才能发生改变。根据这种思路
发表于 2015/7/8 0:33:44
阅读(4405)
【原创】FPGA设计技巧总结---第一节
受时序控制的脉冲信号或时钟信号或其他信号的正确运用,对我们的设计非常有帮助。接下来,介绍下我总结的几种信号的产生。1)复位结束后,以固定时间(这里以5个时钟周期为例)产生脉冲信号,如图1所示:图1其相应的VerilogHDL实现如下所示:`timescale1ns/
发表于 2015/7/4 12:58:15
阅读(2086)
【原创】Spartan6之蛋疼的时钟管理模块
忙了两个多月的毕业设计,有好长的一段时间没写过博客了。不过,在做毕设的过程中学到很多的东西,包括代码规范、文档规范、对设计的优化技巧等,最后也获得了相应的回报---毕设被评为优秀和创新。以为毕设搞定后就会很轻松,但我错了,事情又被排满了。呵
发表于 2015/6/11 15:03:55
阅读(5793)
【原创】generate你会用吗?
在我们的FPGA设计中,常常会对某些信号进行多级的缓存或进行多级类似的操作,如果不采取适当的技巧,就会是我们的设计代码变得冗余、不好维护。本博文提出的generate将可以解决这个问题。为了更加直观表现出使用generate的好处,接下来给出使用generate前后的代码描述。
发表于 2015/4/26 12:49:17
阅读(2422)
【原创】IP核的输出细节
前段时间,在做毕设的过程中,有一个功能模块调用了乘法器IP核并用modelsim对其进行功能仿真,发现其输出结果不同步了。现在来看看究竟发生了什么?假设乘法器IP核的参数设置如下图所示:其VerilogHDL例化代码如下所示:`timescale1ns/1ps/****************************
发表于 2015/4/26 9:39:07
阅读(2355)
【原创】CORDIC算法的FPGA实现
忙了几天的毕业设计,做了256~16M点FFT窗函数的设计。今晚终于可以写下博客了,嘻嘻。在这次的设计中用到了CORDIC算法,接下来开始举一个简单的例子来说明该算法的FPGA实现。根据上一篇博客的CORDIC算法理论基础,本次设计以圆周系统的旋转模式为依据和迭代法为实现方案
发表于 2015/3/17 2:15:24
阅读(8750)
【原创】基于FPGA的测频系统+上位机
【1】本设计的要求:利用FPGA实现频率计,要求2秒内测出外部频率,并且2秒更新一次值;实现100MHz频率的测量;测量结果通过串口921600bps发送给PC;发送格式为:FFCB0176543210,其中FFCB01为帧头,76543210(即0x76543210)为频率值,数据在上位机中转换成十进制并用合
发表于 2015/3/7 0:49:44
阅读(3011)