【原创】FPGA设计中的一个小分析
在我看过的很多代码中,发现许多人在对变量赋初始值(或常量值)0时的做法各种各样,现在来分析下这几种情况对设计的影响。以对64位变量a赋初始值0为例:(1)第一种:a<=64’d0;对于这种指定变量具体位宽的代码风格,我是直接否定的,因为它不利于参数
发表于 2015/8/2 13:22:47
阅读(2825)
【原创】FPGA应用(四)——电子钟
一、设计需求设计一个可以显示分、秒的电子钟模块并在红色飓风E45开发板的四个的数码管进行显示。二、设计思路首先,我们得了解板上四个八段数码管的特性进行了解。图1所示为数码管的原理图,从中可以知道数码是共阴的,即当LED_AN
发表于 2015/7/26 17:45:12
阅读(3383)
【原创】第一次见到的Verilog HDL语法
最近在看代码的时候,不小心发现了在表示变量位宽范围时用到了+:、-:这样的符号。这种用法还是第一次见到的,也许是我太孤陋寡闻了。经过一番的查询,终于知道了它的用法和意义了。它的表示方法如下所示:a[j+:k];或&n
发表于 2015/7/19 0:23:05
阅读(4795)
【原创】FPGA应用(三)——按键控制led
一、设计需求设计一个按键控制led的功能模块,即一个按键控制一个led。随着每一次按键的按下,led就按照亮、灭交替显示。二、设计思路本次使用的按键为机械弹性开关按键,但由于机械触点的弹性作用,按键闭合时并不能马上接通,同
发表于 2015/7/12 18:07:16
阅读(4490)
【原创】FPGA应用(二)——74HC595驱动
一、设计需求设计一个驱动74HC595芯片工作的功能模块,并在CB哥的开发板上8盏led灯上实现流水灯的效果。二、设计思路1、74HC595介绍及分析图1所示为74HC595芯片的封装及引脚分布。74HC595是由8位移位寄存器和8位三态并行输出的D型
发表于 2015/7/12 1:47:54
阅读(5493)
【原创】关于parameter的一些用法
一、parameter在可综合逻辑设计中只能用于定义整数,否则综合后会提示下面的错误信息;而在仿真中既可以定义整数,也可以定义实数。二、当以下面的形式给出参数定义时,CLK_CYCLE将是一个舍去小数部分的整数。parameterCLK_CYCLE=10/4;三、在仿真时如果要定义一个
发表于 2015/7/9 22:59:00
阅读(3035)
【原创】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)
【原创】数据位宽的定义原来还可以这么表示的
在VerilogHDL中,定义一个(MSB-LSB+1)位的变量或端口a格式如下所示:reg[MSB:LSB]a;或者wire[MSB:LSB]a;或者input/inout/output[MSB:LSB]a;其中,我们见得最多和用得最多的是MSB和LSB都是正整数。前段时间,不小心看到MSB和LSB可
发表于 2015/6/22 9:52:42
阅读(3638)
【原创】modelsim编译Xilinx器件库的另一种方法(节省时间)
以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有点长。自从前段时间,在自己电脑装MathType,360杀毒软件将它视为木马。我以为是360误报,直接将360安全卫士关闭了。后来,电脑上
发表于 2015/6/13 14:45:54
阅读(4395)
【原创】generate你会用吗?
在我们的FPGA设计中,常常会对某些信号进行多级的缓存或进行多级类似的操作,如果不采取适当的技巧,就会是我们的设计代码变得冗余、不好维护。本博文提出的generate将可以解决这个问题。为了更加直观表现出使用generate的好处,接下来给出使用generate前后的代码描述。
发表于 2015/4/26 12:49:17
阅读(2421)
【原创】IP核的输出细节
前段时间,在做毕设的过程中,有一个功能模块调用了乘法器IP核并用modelsim对其进行功能仿真,发现其输出结果不同步了。现在来看看究竟发生了什么?假设乘法器IP核的参数设置如下图所示:其VerilogHDL例化代码如下所示:`timescale1ns/1ps/****************************
发表于 2015/4/26 9:39:07
阅读(2355)
【原创】Xilinx ISE14.7 安装教程
在软件安装之前,得准备好软件安装包,可从Xilinx官网上下载:http://china.xilinx.com/support/download/index.html/content/xilinx/zh/downloadNav/design-tools.html。下载好的软件如下所示:接下来开始安装ISE14.7软件:(1)在安装包目录下双击xsetup.exe,此时启
发表于 2015/3/7 14:58:55
阅读(121859)
【原创】基于FPGA的测频系统+上位机
【1】本设计的要求:利用FPGA实现频率计,要求2秒内测出外部频率,并且2秒更新一次值;实现100MHz频率的测量;测量结果通过串口921600bps发送给PC;发送格式为:FFCB0176543210,其中FFCB01为帧头,76543210(即0x76543210)为频率值,数据在上位机中转换成十进制并用合
发表于 2015/3/7 0:49:44
阅读(3011)
【原创】FPGA之资源优化思想的运用
很多不安于现状的年轻人心中都有一个明确的目标,并最终为之留下了心酸和泪水而走上了成功的道路。如今我就觉得自己挺年轻的,不过我并没有像他们那么的努力。为了实现梦想,对得起自己,从现在开始我要向他们学习拼搏、执着的精神。哪怕前方的路途再怎么曲折、不
发表于 2015/3/4 3:33:14
阅读(3617)