crazybird

【原创】FPGA应用(二)——74HC595驱动

一、设计需求设计一个驱动74HC595芯片工作的功能模块,并在CB哥的开发板上8盏led灯上实现流水灯的效果。二、设计思路1、74HC595介绍及分析图1所示为74HC595芯片的封装及引脚分布。74HC595是由8位移位寄存器和8位三态并行输出的D型

【原创】关于parameter的一些用法

一、parameter在可综合逻辑设计中只能用于定义整数,否则综合后会提示下面的错误信息;而在仿真中既可以定义整数,也可以定义实数。二、当以下面的形式给出参数定义时,CLK_CYCLE将是一个舍去小数部分的整数。parameterCLK_CYCLE=10/4;三、在仿真时如果要定义一个

【原创】FPGA应用(一)——流水灯

一、设计需求设计一个功能模块使红色飓风E45板上的8盏led灯流动起来,像流水一样。二、设计思路首先,有一点要明确的是led灯的每一次流动都是需要时间间隔的。也就是说,8盏led灯所对应的状态只有经过一段时间延迟后才能发生改变。根据这种思路

我也来玩玩板子,实践实践下

想想,我学FPGA也快三年了吧,这期间除了仿真还是仿真,基本上没怎么用过板子实践。如果继续这样下去,总感觉限制着自己能力的提升,希望从真刀实战中升华自己,很早就想买块板子玩玩了。直到去年10月中旬跟老师借了500块跟CB哥买了块板子做课设,玩

【原创】FPGA设计技巧总结---第一节

受时序控制的脉冲信号或时钟信号或其他信号的正确运用,对我们的设计非常有帮助。接下来,介绍下我总结的几种信号的产生。1)复位结束后,以固定时间(这里以5个时钟周期为例)产生脉冲信号,如图1所示:图1其相应的VerilogHDL实现如下所示:`timescale1ns/

【原创】数据位宽的定义原来还可以这么表示的

在VerilogHDL中,定义一个(MSB-LSB+1)位的变量或端口a格式如下所示:reg[MSB:LSB]a;或者wire[MSB:LSB]a;或者input/inout/output[MSB:LSB]a;其中,我们见得最多和用得最多的是MSB和LSB都是正整数。前段时间,不小心看到MSB和LSB可

【原创】Microsoft Word由于MathType的安装出现的一点小问题

近段时间,由于工作需要,要在MicrosoftWord文档中编辑公式,于是安装了公式编辑器MathType。但令人不如意的是,当打开Word文档时,却连续两次出现了下面的错误信息提示(TheMathTypeDLLcannotbefound.PleasereinstallMathType.):按两次确定之后,在菜单栏中出现了两

【原创】modelsim编译Xilinx器件库的另一种方法(节省时间)

以前在用modelsim对Xilinx进行器件库编译时,我用的比较多的是直接在ISE中编译器件库,感觉很方便简单,就是编译时间有点长。自从前段时间,在自己电脑装MathType,360杀毒软件将它视为木马。我以为是360误报,直接将360安全卫士关闭了。后来,电脑上

【原创】Spartan6之蛋疼的时钟管理模块

忙了两个多月的毕业设计,有好长的一段时间没写过博客了。不过,在做毕设的过程中学到很多的东西,包括代码规范、文档规范、对设计的优化技巧等,最后也获得了相应的回报---毕设被评为优秀和创新。以为毕设搞定后就会很轻松,但我错了,事情又被排满了。呵

伙伴们,福利来啦---3个画时序图神器连载

你们还在苦于画时序图工具难找吗?还在抱怨时序图画得难看吗?还在。。。现在福利来了,3个时序图工具任你选,终于不用苦于找人要都不给的尴尬场景了。哈哈~~~~AndyTiming:链接:http://pan.baidu.com/s/

【SystemVerilog断言学习笔记7】蕴含操作

现在对前面几篇博客中介绍的断言进行分析,为了更好的理解,下面结合简单的代码段进行分析:propertyp1;@(posedgeclk)a##2b;endpropertya1:assertproperty(p1);针对这段代码段,可以做下总结:在每个时钟上升沿都检查信号“a”的电

【SystemVerilog断言学习笔记6】禁止属性的使用

当我们期望属性永远为假时,可以用关键字“not”来禁止属性,即当属性为真时断言失败。接下来验证“not”是如何运作的。测试代码:/*******************************************************作者:CrazyBird文件:assert_test2.sv日

【SystemVerilog断言学习笔记5】“##”的解读与运用

有时候,我们需要检查几个时钟周期才能完成的事务。在SVA中,可以用“##”表示时钟周期延迟,如“a##2b”即当a为高电平时,2个时钟周期之后b应为高电平。下面举个简单的例子来说明:测试代码:/****************************************************

【SystemVerilog断言学习笔记4】边沿检测内嵌函数

SVA中内嵌了信号边沿检测函数,方便用户监视信号从一个时钟周期到另一个时钟周期的跳变。其中,有三个非常有用的内嵌函数如下:(1)$rose(booleanexpressionorsignal_name):当表达式/信号的最低位由0变为1时返回真;(2)$fell(booleanexpressionor

【SystemVerilog断言学习笔记3】SVA块的建立

不管学什么东西,如果掌握了技巧、规律,我们将很容易上手。同样,如果我们掌握了建立SystemVerilog断言(简称SVA)块的步骤,在后面SVA的深入学习中将起到事半功倍的效果。SVA块的建立步骤如下。步骤一、建立布尔表达式步骤二、建立序列表达式关键词