
FPGA学习
文章平均质量分 84
狼性天下
这个作者很懒,什么都没留下…
展开
-
FIFO
1.什么是FIFO?FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。2.什么情况下用FIFO?FIFO一般用于不同时钟域之间的数据传转载 2013-07-28 12:21:30 · 3351 阅读 · 0 评论 -
FPGA/CPLD网站
原文地址:FPGA/CPLD网站" href="http://blog.sina.com.cn/s/blog_72d3d3080100sysr.html" target="_blank" style="color:rgb(62,115,160); text-decoration:none">FPGA/CPLD网站作者:northcamel原文地址:http://blog.mcuol.c转载 2013-01-09 18:11:21 · 1015 阅读 · 0 评论 -
优化高速接口的时序裕量
过去十年中,高速数字总线已经获得了令人瞩目的发展,它们不仅比以往更快,而且还正在改变系统定时数据的方式。为提高数据吞吐量,新兴的同步数字总线可以通过一套定时机制在每个时钟周期内多次发送数据。本文将对源同步定时如何优化高速接口时序裕量进行讨论。时序预算是对系统正常工作所需时序参数或时序要求的计算。为了使同步系统正常工作,其时序需求必须在一个时钟周期内满足。对时序的预算涉及到许多因素,包括对保持时转载 2013-01-05 10:46:38 · 1781 阅读 · 0 评论 -
UART 基础知识
UART (Universal Asynchronous Receiver/Transmitter)通用异步收发器 UART是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。作为接口的一部分,UART还提供以下功能: 将由计算机内部传送过来的并行数据转载 2012-12-20 13:26:55 · 791 阅读 · 0 评论 -
基于FPGA的串口设计
摘自:http://group.chinaaet.com/99/61999 过采样到0开始传输,紧跟8位数据,然后上拉1结束。让我们来看看0x55是如何传输的: 0x55的二进制表示为:01010101。但是由于先发送的是最低有效位,所以发送序列是这样的: 1-0-1-0-1-0-1-0.电缆上的信号使用正负电压的机制:"1" 用 -10V 的电压表示(或者在 -5V 与转载 2012-12-20 19:17:10 · 927 阅读 · 0 评论 -
关于Error: Can't compile duplicate declarations of entity "**" into library "work"的错误
今天做SEG7模块添加74138时,出现了Error: Can't compile duplicate declarations of entity "**" into library "work"。“**”是我的一个模块文件名,这个文件名同时有一个.bdf文件,还有一个.v文件。 其中.bdf文件是我为了加74138时新建的文件,存盘时我没有改默认文件名,所以出现和.v文件重名的转载 2012-12-20 12:58:04 · 31902 阅读 · 14 评论 -
FPGA点灯程序
点灯实验:(1)数字设计:由verilog设计电路,输出引脚连到FPGA对应的LED的引脚(2)嵌入式设计:软件实现-------XPS:PLB总线上添加GPIO,GPIO输出连接到FPGA对应的LED引脚,SDK:软件通过对GPIO的地址对应的寄存器赋值来点灯 硬件实现-------XPS:基于PLB总线添加自定义IP核实现点灯的功能,软件可实现调试功能硬件系统的构转载 2012-12-17 15:24:29 · 4335 阅读 · 0 评论 -
初识DE2-115开发板
初识DE2-115开发板 DE2-115的资源非常丰富,包括1. 核心的FPGA芯片-Cyclone IV 4CE115F29,从名称可以看出,它包含有115千个LE。Altera下载控制芯片- EPCS64以及USB-Blaster对Jtag和as模式的支持。2.存储用的芯片有: 2-Mbyte SRAM,64-Mbyte SDRAM,8-Mbyte Flas转载 2012-12-17 15:17:43 · 17103 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------步进电机驱动控制
Verilog HDL 之 步进电机驱动控制 步进电机的用途还是非常广泛的,目前打印机,绘图仪,机器人等等设备都以步进电机为动力核心。那么,下面我们就了解下什么是步进电机,它是怎么控制的。一、步进电机相关知识简介1、步进电机概述 步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。单相步进电动机有单路电脉冲驱动,输出功率一般很小,其转载 2012-12-16 23:31:14 · 13560 阅读 · 1 评论 -
UART传输时序
UART传输时序如图11-40所示。 发送数据过程:空闲状态,线路处于高电位;当收到发送数据指令后,拉低线路一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位(停止位为高电位),一帧资料发送结束。接收数据过程:空闲状态,线路处于高电位;当检测到线路的下降沿(线路电位由高电位变为低电位)时说明转载 2013-01-26 23:10:47 · 2461 阅读 · 0 评论 -
DE2-115 LCD1602字符的显示
顶层代码:?1234567891011121314151617181920212223242526272829303132333435module lcd1602(input CLOCK_50,input转载 2013-01-13 12:42:35 · 2632 阅读 · 0 评论 -
ModelSim仿真流程
摘自:http://www.eefocus.com/xuweitao/blog/08-01/142501_dc4aa.html 1、 运行ModelSim,如果上一次使用ModelSim建立过工程,这时候会自动打开上一次所建立的工程; 2、 点击File->New->Project,在Project Name中我们输入建立的工程名,在Project Location中输入工程保存的路径转载 2013-01-15 10:19:15 · 1125 阅读 · 0 评论 -
MAC概述
MAC帧结构:前导码7byte定界符1byte目的地址6byte源地址6byte长度/类型2byte数据0---1500byte填充0---46byte帧校原创 2013-06-25 22:51:44 · 963 阅读 · 0 评论 -
modelsim仿真学习笔记
http://www.elecfans.com/bandaoti/eda/20110303189449.html 1、 仿真的目的: 在软件环境下,验证电路的行为和设想中的是否一致。 2、 仿真的分类: a) 功能仿真:在RTL层进行的仿真,其特点是不考虑构成电路的逻辑和门的时间延迟,着重考虑电路在理想环境下的行为和设计构想的一致性; b) 时序仿真:又称为后仿真,转载 2013-05-10 17:10:25 · 997 阅读 · 0 评论 -
Verilog三段状态机的写法-转载
时序电路的状态是一个状态变量集合,这些状态变量在任意时刻的值都包含了为确定电路的未来行为而必需考虑的所有历史信息。状态机采用VerilogHDL语言编码,建议分为三个always段完成。三段式建模描述FSM的状态机输出时,只需指定case敏感表为次态寄存器, 然后直接在每个次态的case分支中描述该状态的输出即可,不用考虑状态转移条件。三段式描述方法虽然代码结构复杂了一些,但是换来转载 2013-03-27 15:55:08 · 1863 阅读 · 1 评论 -
基于Verilog HDL的有限状态机
1.有限状态机1.1 概述有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。状态机特别适合描述那些发生有先后顺序或者有逻辑规律的事情,其实这就是状态机的本质。状态机就是对具有逻辑顺序或时序规律的事件进行描述的一种方法在实际的应用中根据状态机的输出是否与输入条件相关,可将状态机分为两大类,即摩尔 (Moore) 型状态转载 2013-03-27 16:39:06 · 7758 阅读 · 1 评论 -
Cyclone M4K移位寄存器使用
Cyclone的M4K可以配置移位寄存器使用。 大体上,就是一个位宽为w的移位输入shift_in_data和移位输出shift_out_data,一个输入时钟信号shift_clk作为数据移入或者移除锁存信号,可选的时钟使能输入信号和异步清除输入信号。还有一个taps信号,这个可以是一个大信号,也可以是好多个小信号,后面再详细说。 这个移位寄存器的使用说简单其实很简转载 2013-03-26 21:11:04 · 1817 阅读 · 0 评论 -
FPGA中的M4K
哈哈...M4K??什么是M4K???m4k就是一个存储单元,具体点就是以4kbits,4k为一块、///、EP2C8 有36个165888bitsRAM fifo ROM等可以由M4K等块存储单元组成也可以用LUT组成,按设计需要选择相应的组成方式;是一个网友解释道的....//================================RAM读取==============转载 2013-02-28 14:26:52 · 5238 阅读 · 0 评论 -
Verilog IIC通信实验笔记
Write by Gianttank我实验的是 AT24C08的单字节读,单字节写,页读和页写,在高于3.3V系统中他的通信速率最高400KHZ的,我实验里用的是100KHZ的速率。图1是硬件原理图 图1 图2图2是器件地址,我的原理图是A2接高。IIC通信协议中要注意的地方:1. 当时钟线SCL 高电平时,如果把数据线SDA 从高电平拉到转载 2013-02-13 23:19:00 · 1852 阅读 · 0 评论 -
源同步信号跨时钟域采集的两种方法
对于数据采集接收的一方而言,所谓源同步信号,即传输待接收的数据和时钟信号均由发送方产生。FPGA应用中,常常需要产生一些源同步接口信号传输给外设芯片,这对FPGA内部产生时钟或数据的逻辑和时序都有较严格的要求。而对于一些FPGA采集信号的应用中,常常也有时钟和数据均来自外设芯片的情况,此时对数据和时钟的采集也同样需要关注FPGA内部的逻辑和时序。当然,无论何种情况,目的只有一个,保证信号稳定可靠的转载 2013-02-04 16:22:57 · 1784 阅读 · 0 评论 -
modelsim的 # (vish-4014) No objects found matching '/*'
http://blog.sina.com.cn/s/blog_671c69ae01010063.html 一、 在6.2以前的所有版本中,modelsim安装目录下的modelsim.ini文件中,VoptFlow选项是默认被注释掉,也就是关闭的,而在6.2系列版本中,默认是打开的,这就可能导致仿真时出现问题。VoptFlow在ini文件中的描述是:Set to tu转载 2013-01-16 20:55:17 · 11506 阅读 · 4 评论 -
Modelsim仿真
摘自:http://www.cnblogs.com/sunev/archive/2012/03/10/2388808.html一、 Modelsim简介 Modelsim仿真工具是Model公司开发的。它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变转载 2013-01-15 18:37:24 · 14556 阅读 · 0 评论 -
multisim
Multimeter(万用表) Function Generatoer(函数信号发生器) Wattmeter(瓦特表) Oscilloscope(示波器) Bode Plotter(波特仪) Word Generator(字符发生器 Logic Analyzer(逻辑分析仪) Logic CoMultisimt提供了许多分析功能转载 2012-12-15 21:32:58 · 2453 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------双向移位寄存器
Verilog HDL 之 双向移位寄存器一、原理 前一个实验设计的寄存器只有寄存数据和代码的功能。有时为了处理数据,需要将寄存器中的各位数据在移位控制信号的作用下,依次向高位或是低位移动移位。具有移位功能的寄存器称为移位寄存器。 本实验就是设计一个双向的移位寄存器,该寄存器可以对4位信号串行输入的数据进行移动输出。另外,该寄存器还有一个异步清零端,低电平有效。还有一个load装载转载 2012-12-12 15:58:55 · 5101 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------二进制与格雷码的转换
Verilog HDL 之 二进制与格雷码的转换 格雷码的特点:相邻的两个码组之间仅有一位不同。普通二进制码与格雷码之间可以相互转换。下面将作简要的介绍。8位二进制码转格雷码 二进制码转换为格雷码:从最右边一位起,一次与左边一位“异或”,作为对应格雷码该位的值,最左边的一位不变(相当于最左边是0)。 1 modele bin2gry(Gry,Bin) 2 para转载 2012-12-12 14:51:47 · 3812 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------数据选择器
Verilog HDL 之 数据选择器一、原理 数据选择是指经过选择,把多个通道的数据传送到唯一的公共数据通道上去。实现数据选择功能的逻辑电路称为数据选择器,它的作用相当于多个输入的单刀多掷开关。 表1.1 八选一数据选择器真值表二、实现在设计文件中输入Verilog代码 1 `timescale 1 ns / 1 ps 2转载 2012-12-12 23:35:26 · 2883 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------8-3优先编码器
Verilog HDL 之 8-3优先编码器原理: 在数字系统中,常常会有几个部件同时发出服务请求的可能,而在同一时刻只能给其中一个部件发出允许操作信号。因此,必须根据轻重缓急,规定好这些控制对象允许操作的先后次序,即优先级别。 编码器有8个输入端,3个输出端。还有一个输入使能EI,输出使能EO和优先编码器工作状态标志GS。编码器以低为有效。当EI=0 时,编码器工作;输出全为转载 2012-12-12 23:39:52 · 15049 阅读 · 1 评论 -
FPGA Verilog HDL 系列实例--------3-8译码器
Verilog HDL 之 3-8译码器一、原理: 译码是编码的逆过程,它的功能是将特定含义的二进制码进行辨别,并转换成控制信号,具有译码功能的逻辑电路成为译码器。 译码器可分为两种类型,一种是将一系列代码转换成与之一一对应得有效信号。这种译码器可以称为唯一地址译码器,它常用于计算机中对存储器单元地址的译码,即将每一个地址代码换成一个有效信号,从而选中对应的单元。另一种是将一种代码转载 2012-12-12 23:38:45 · 4403 阅读 · 1 评论 -
FPGA Verilog HDL 系列实例--------寄存器
Verilog HDL 之 寄存器一、原理 寄存器是计算机和其他数字系统中用来存储代码或数据的逻辑部件。它的主要组成部分是触发器。一个触发器能储存一位二进制代码,所以要存储n位二进制代码的寄存器需要n个触发器组成。 寄存器和数据锁存器功能是相同的,不同的区别在于锁存器是电平信号控制,属于电平敏感性,而寄存器一般是由同步时钟信号控制。两者使用场合不一样,主要取决于控制方式及控制信号和转载 2012-12-12 15:38:23 · 4685 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------D 触发器
Verilog HDL 之 D 触发器一、原理 触发器是能够储存1位二进制码的逻辑电路,它有两个互补输出端,其输出状态不仅与输入有关,而且还与原来的输出状态有关。D触发器是触发器中的一种,也是应用的最多的一种,它的特性方程为 其逻辑功能如表1.1所示, 二、实现在设计文件中输入Verilog代码 1 `timescale 1 ns / 1 ps转载 2012-12-12 15:16:25 · 2543 阅读 · 0 评论 -
同步与异步
同步设备同步当两个设备一起工作并对时间有精确要求的时候,就需要在它们之间进行同步。同步是基于在两个设备之间规定一个共同的时间参考。例如,你想将32轨的音频信号录制在两台16轨磁带机上,则这两个磁带机的磁带传送轴就需要锁定在一起,这个过程就称为同步。如果这两个设备没有进行同步,无论它们开始的时间多么一致,也会由于两台设备机械结构的差异而产生时间漂移。 桌面型音乐制作系统经常遇到的同步通转载 2012-12-07 11:28:41 · 594 阅读 · 0 评论 -
Error: Can't access JTAG chain 错误情况讨论
可能出现的问题:1.下载有时受环境影响很大。比如,在嘈杂的环境下就可能下载不进去。 2.电源按钮没有打开或者是工作模式没有跳到"RUN”3.电路板问题(电源,负载,虚焊等)4.FPGA器件上的JTAG相关引脚出现故障 5.USB-Blaster坏了 6.10针JTAG线缆没有压制好7.JTAG的PCB是否正确8··· 摘自:http://www.cnb转载 2012-12-06 10:56:16 · 5092 阅读 · 0 评论 -
Quartus II中FPGA的管脚分配保存方法
摘自:http://www.cnblogs.com/sunev/archive/2012/03/10/2388705.html一、摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总。 二、管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按钮) ,打开Pin Planner,分配转载 2012-11-29 15:00:20 · 1080 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------半加器与全加器
Verilog HDL 之 半加器与全加器一、原理 算术运算式数值系统的基本功能,更是计算机中不可缺少的组成单元。1、半加器 半加法和全加法是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路。一位加法器的真值表见表1.1;由表中可以看见,这种加法没有考虑低位来的进位,所以称为半加。半加器就是实现表1.1中逻辑关系的电路。被加数A加数B和数S进位C000001转载 2012-12-13 21:48:58 · 9332 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------4位二进制加减法计数器
Verilog HDL 之 4位二进制加减法计数器一、原理 计数器是数字系统中用的较多的基本逻辑器件。它不仅能记录输入时钟脉冲的个数,还可以实现分频、定时等功能。 计数器的种类很多。按脉冲方式可以分为同步计数器和异步计数器;按进制可以分为二进制计数器和非二进制计数器;按计数过程数字的增减,可分为加计数器、减计数器和可逆计数器。 本实验就是设计一个4位二进制加减法计数器,该计数转载 2012-12-13 21:50:33 · 45872 阅读 · 1 评论 -
FPGA Verilog HDL 系列实例--------多位数值比较器
Verilog HDL 之 多位数值比较器一、原理 在数值系统中,特别是在计算机中都具有运算功能,一种简单的运算就是比较它们的大小。数值比较器就是对两数A、B进行比较,以判断其大小的逻辑电路。 表1.1 多位比较器真值表二、实现在设计文件中输入Verilog代码 1 `timescale 1 ns / 1 ps 2转载 2012-12-13 21:53:21 · 17392 阅读 · 0 评论 -
FPGA Verilog HDL 系列实例--------直流电机PWM控制
Verilog HDL 之 直流电机PWM控制一、实验前知识准备 在上一篇中总结了步进电机的控制,这次我将学习一下直流电机的控制,首先,我们简要了解下步进电机和直流电机的区别。 (1)步进电机是以步阶方式分段移动,直流电机通常采用连续移动的控制方式。 (2)步进电机采用直接控制方式,它的主要命令和控制变量都是步阶位置;直流电机则是以电机电压为控制变量,以位置或速度为命令变量。转载 2012-12-16 20:43:55 · 9481 阅读 · 1 评论 -
FPGA&CPLD学习心得
FPGA&CPLD学习心得 1.硬件设计基本原则1) 速度与面积平衡和互换原则:一个设计如果时序余量较大,所能跑的频率远高于设计要求,能可以通过模块复用来减少整个设计消耗的芯片面积,这就是用速度优势换面积的节约;反之,如果一个设计的时序要求很高,普通方法达不到设计频率,那么可以通过数据流串并转换,并行复制多个操作模块,对整个设计采用 “乒乓操作”和“串并转换”的转载 2012-12-15 20:51:10 · 1778 阅读 · 0 评论 -
关于Verilog代码中命名的六大黄金规则
关于Verilog代码中命名的六大黄金规则1. 系统级信号的命名。系统级信号指复位信号,置位信号,时钟信号等需要输送到各个模块的全局信号;系统信号以字符串Sys开头。2. 低电平有效的信号后一律加下划线和字母n。如:SysRst_n;FifoFull_n;3. 经过锁存器锁存后的信号,后加下划线和字母r,与锁存前的信号区别。如CpuRamRd信号,经锁存后应命名为CpuRamRd_转载 2012-12-15 20:04:17 · 9405 阅读 · 0 评论 -
用verilog语言编写的电子琴跟电子钟
如题,,,再附加上程序的控制说明.......是用GW48教学实验箱仿真的如果对你有帮助,请大家顶上...程序直接贴上了控制说明:1、电子琴:程序设计采用八个输入端口,分别与实验箱上的按键8~1引脚相连接,采用一个输出端口,与扬声器的引脚连接,时钟频率采用6MHz和4Hz。按键7~1分别用于中音的七个音符的发音(DO,RE,MI,FA,SO,LA,SI),按键8用于控制乐曲转载 2012-12-16 20:29:06 · 11246 阅读 · 2 评论