fpga

VHDL: Button debouncing (or not, as the case may be)

[亡魂溺海] 提交于 2020-06-28 05:14:32
问题 I've read through the other posts but can't seem to fix mine. I'm new to VHDL so I'm sure it's a simple fix. In short, the button isn't debouncing. The code compiles and the bitstream programs. In the testbench, button presses work, but the output LEDs don't change. On the board, pressing a button makes random LEDs light up (I presume because of bouncing). According to the schematic the inputs are going through the debouncers. Can anyone identify the issue? And any other hints and tips are

一文最全科普FPGA技术知识

馋奶兔 提交于 2020-04-06 13:55:03
FPGA 是可以先购买再设计的“万能”芯片。FPGA (Field Programmable Gate Array)现场可编程门阵列,是在硅片上预先设计实现的具有可编程特性的集成电路,它能够按照设计人员的需求配置为指定的电路结构,让客户不必依赖由芯片制造商设计和制造的 ASIC 芯片。广泛应用在原型验证、通信、汽车电子、工业控制、航空航天、数据中心等领域。 Altera LUT4 架构 FPGA 硬件三大指标: 制程、门级数及 SERDES 速率,配套 EDA 软件工具同样重要。比较 FPGA 产品可以从技术指标入手。从 FPGA 内部结构来看,主要包括:可编程输入/输出单元(I/O)、可编程逻辑块(LC)、 完整的时钟管理(CMT)、嵌入块式 RAM(BRAM)、布线资源、内嵌的底层功能单元和专用硬件模块等。 根据赛灵思披露的数据,一个 LUT6 等效 1.6 个 LC,一个 LC 对应几十到上百“门”,1000 万门约等于 10 万 LC,即 100K CLB 级别 FPGA。与 ASIC 不同的是,客户在选购 FPGA 产品不仅考虑硬件参数,配套 EDA 软件的性能也同样重要。目前国内厂商高端产品在硬件性能指标上均与赛灵思高端产品有较大差距。 相对于ASIC,FPGA具有3点优势: 1、可编辑,更灵活 2、产品上市时间短,节省了 ASIC 流片周期 3、避免一次性工程费用

学FPGA如何少走10年弯路?入门很重要!

江枫思渺然 提交于 2020-04-06 11:58:04
与典型的微控制器相比,现场可编程门阵列FPGA是一种能够提供更强性能和灵活性的器件,本文通过解答几个有关FPGA的常见问题—— 什么是FPGA、为什么我会需要FPGA、如何为FPGA编程 ——为开发者提供FPGA入门所需的基本概念和知识。 如果您是二元思维的人,那么不要错过第1到4部分内容。在这篇博客中,我将简单介绍我最感兴趣的电子器件:现场可编程门阵列(FPGA)。 当我和人们谈起FPGA时,我听到很多人说:“我不知道它们的工作原理”、“它们太复杂了”、“我无法用C语言编程”。我不希望看到这样一种神奇的器件遭受如此冷遇,因此下面我将尝试解答一些常见问题(FAQ)。 问题1: 什么是现场可编程门阵列? 详细解答如下:顾名思义,有人推断它是可编程的逻辑门结构。这种解释很接近,但又不太准确,因为内部逻辑阵列实际并不是利用门来实现的。相反,我们将阵列中的这些块称为“逻辑单元”。这些逻辑单元通常由查找表 (LUT)(用于实现任意逻辑功能)以及一些辅助电路(例如多路复用器、加法器和触发器)构成。您会经常听到人们将这种逻辑单元阵列称为“FPGA结构”。 图1,FPGA 逻辑单元示例 简而言之,我可以将FPGA比作一个盒子,里面装有各种没有商标、用于构建数字电路的彩色构件。我可以通过适合我的应用的任何方式,将这些构件连接到一起。 如果您能描述数字电路如何工作

基于verilog的FPGA编程经验总结(XILINX ISE工具)

六月ゝ 毕业季﹏ 提交于 2020-04-04 12:37:21
1.用ISE仿真的时候.所用变量一定要初始化. ISE默认初始量为"XXXXX", 而Quarters是默认为"00000"的, 其实实际上, 下到FPGA里后也是默认为0的,只是可以说ISE严谨得令人DT吧. 比如说用一个累加器, result = A+B+result ,必须保证在某一刻A, B, result都为定值时, 之后的数据才不会一直为"XXXXX"; 2.所有的中间线(就是module间用来传递参数的信号)都要用wire定义一下. 这个ise一般会提醒的; 3.任何一个warning都是有用的; 4.debug时要多把中间变量设成输出,然后查看仿真波形; 5.其实,新版本还是比较好用的.虽然取消了test bench wave 功能. 但是最好学会编测试文件,后期比test bench wave好用, 而且貌似一旦测试信号太多,test bench wave就不显示某些输出了; 6. warning: Nod <....> is unconnected. 表明<...>所在的模块没用被执行,一般是参数没进来, 或者进来的参数不对("XXXX"之类)的原因引起的. 7.建立rom时候,Error: sinrom can't be resolved. 因为在把程序挪地方的时候,sinrom.ngc文件没有一同拷过来. 8.把"XXXXX"信号处理掉的一个方法可以是:

聊一聊FPGA技术的发展方向

戏子无情 提交于 2020-03-27 10:28:11
3 月,跳不动了?>>> FPGA技术之所以具有巨大的潜在市场,其根本原因在于FPGA不仅可以实现电子系统小型化、低功耗、高可靠性等优点,且其开发周期短、投入少,芯片价格不断下降。随着芯片设计工艺水平的不断提高,FPGA技术呈现出了以下三个主要的发展动向。 1. 基于IP库的设计方案 未来的FPGA芯片密度不断提高,传统的基于HDL的代码设计方法很难满足超大规模FPGA的设计需要。随着专业的IP库设计公司不断增多,商业化的IP库种类会越来越全面,支持的FPGA器件也会越来越广泛。 作为FPGA的设计者,主要工作是找到适合项目需要的IP库资源,然后将这些IP整合起来,完成顶层模块设计。由于商业的IP库都是通过验证的,因此,整个项目的仿真和验证工作主要就是验证IP库的接口逻辑设计的正确性。 目前,由于国内的知识产权保护的相关法律法规还不尽完善,基于IP库的设计方法还没有得到广泛应用。但是随着FPGA密度不断提高和IP库的价格逐渐趋于合理化,这种设计方案将会成为主流的FPGA设计技术。 2. 基于FPGA的嵌入式系统(SOPC)技术正在成熟 片上系统SoC(System on Chip)技术是指将一个完整产品的功能集成在一个芯片上或芯片组上。SoC从系统的整体角度出发,以IP(Intellectual property)核为基础,以硬件描述语言作为系统功能和结构的描述手段

FPGA最全科普总结

前提是你 提交于 2020-03-27 08:24:10
FPGA最全科普总结 FPGA 是可以先购买再设计的“万能”芯片。FPGA (Field Programmable Gate Array)现场可编程门阵列,是在硅片上预先设计实现的具有可编程特性的集成电路,它能够按照设计人员的需求配置为指定的电路结构,让客户不必依赖由芯片制造商设计和制造的 ASIC 芯片。广泛应用在原型验证、通信、汽车电子、工业控制、航空航天、数据中心等领域。 Altera LUT4 架构 FPGA 硬件三大指标: 制程、门级数及 SERDES 速率,配套 EDA 软件工具同样重要。比较 FPGA 产品可以从技术指标入手。从 FPGA 内部结构来看,主要包括:可编程输入/输出单元(I/O)、可编程逻辑块(LC)、 完整的时钟管理(CMT)、嵌入块式 RAM(BRAM)、布线资源、内嵌的底层功能单元和专用硬件模块等。 根据赛灵思披露的数据,一个 LUT6 等效 1.6 个 LC,一个 LC 对应几十到上百“门”,1000 万门约等于 10 万 LC,即 100K CLB 级别 FPGA。与 ASIC 不同的是,客户在选购 FPGA 产品不仅考虑硬件参数,配套 EDA 软件的性能也同样重要。目前国内厂商高端产品在硬件性能指标上均与赛灵思高端产品有较大差距。 相对于ASIC,FPGA具有3点优势: 1、可编辑,更灵活 2、产品上市时间短,节省了 ASIC 流片周期 3

FPGA开发(四) PLL实验

随声附和 提交于 2020-03-17 05:10:47
本次我们来学习FPGA的PLL,PLL(Phase Locked Loop)俗称锁相环,在很多的单片机中都有,它主要的目的是为了实现倍频和分频,因为我们系统运行的主频率是固定的,如果我们需要其他的频率,那么就需要超频或者降频,此时就需要锁相环实现。 FPGA的PLL是一个硬件模块,是十分重要的资源。本次博主使用的cyclone IV有四个PLL,为外部的端口提供高速的通信时钟。从数据手册中得到PLL的原理图如下 从上图可以看出,每一个PLL可以输出5路信号,信号的频率取决于C0~C5改变取值即可实现输出频率的改变。本次实验实现PLL输出的不同时钟通过FPGA的IO输出。 首先建立工程pll_test,然后我们需要进行pll的设置,点击IP catalog图标,即下图最右边的那个,搜索pll,点击ALTPLL后进行设置,起一个名字pll.v之后点击确定。 在弹出的设置中,选择输入时钟为50MHz,如下所示。 在Output clocks中选择输出的时钟为25MHz, 使能时钟1,选择50MHz,时钟2选择时钟75MHz,时钟3选择100MHz,如下所示。 新建一个pll_test.v文件,例化PLL ip ,程序如下所示。 `timescale 1ns/1ps module pll_test( input clk, input rst, output clkout1, output

FPGA - 数字经济时代的基石

余生长醉 提交于 2020-03-17 03:01:10
原文: http://www.eefocus.com/myspace/blog/show_163943.html ­ 不在研发的第一线工作已经很久了,本想不再对具体的专业技术指手画脚,以免被内行的朋友们贻笑大方,毕竟这世界发展太快了,无论做了多少年的工作,转眼就会落伍。本次CES笔者应Xilinx的邀请参观了一下他们展出来的作品,对“汽车电子”有了比较全面的认识,并结识了两个非常要好的朋友,于是就有了写篇评论的欲望。虽然Xilinx在此次展会上发布的是几款有关“消费电子”和“汽车电子”的产品,已经有新闻稿在本网站发布,但我认为这其实不算什么新闻,Xilinx的FPGA最强大的应用其实是在通信等其它领域,这次只不过是展示了一下跟CES相关的产品应用而已。鉴于FPGA的广泛的用途,我把我本人对FPGA的点滴认识总结一下,与大家交流,也算是了却我多年来对FPGA的一种情节。­ FPGA - 数字经济时代的基石­ 正如我在《科技以人为本 - CES结语》一文中讲的,科技在近20年里发生了翻天覆地的变化,背后的推动主要来自于半导体技术的飞速发展,其中最大的革命是天才的人们通过模数变换,把自然界的一切模拟量变换到数字域,在数字域里用我们5千年来练就的功力 - 数学来描述并处理模拟的世界,在数字逻辑的基础上人们又发明了基于指令的计算、数字信号处理等技术,于是有了我们今天的压缩视频、数字通信

FPGA组合逻辑训练-三八译码器

北城以北 提交于 2020-03-16 21:51:46
实验原理: 在数字电路中可以根据电路功能的不同分为,组合逻辑电路与时序逻辑电路。 组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。 而时序逻辑从电路特征上看来,其特点为任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关。 组合逻辑电路在电路结构上,不涉及对信号跳变沿的处理,无存储电路,也没有反馈电路,通常可以通过真值表的形式表达出来。 时序逻辑电路在电路结构上,不管输入如何变化,仅当时钟的沿(上升沿或下降沿)到达时,才有可能使输出发生变化。 译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类,本节设计的是通用译码器。 以三八译码器为例,即将 3 种输入状态翻译成 8 种输出状态, 在 MCU 应用中,如果需要保证一定的速度情况下实现此功能,一般选取外挂一片 74HC38 或者 74LS38 等独立芯片,但 FPGA 提供了一个完整的想象以及实现空间,仅靠其自身即可实现设计要求。 Verilog HDL实现 工程名称为:“DDC3_8”,架构图如下: / 端口描述: 输入:a,b,c; 输出:out; 功能描述:三八译码器真值表 * * / 代码实现可分为两部分,分别是端口列表定义和组合逻辑实现。

采用FPGA实现音频模数转换器

前提是你 提交于 2020-03-12 14:57:35
http://www.21ic.com/app/eda/200905/42832.htm http://www.eefocus.com/article/09-10/84673s.html 摘 要 简要分析sigma—deIta(∑一△)架构模数转换器(ADC)原理,提出一种基于FPGA内部LVDS(Low Voltage Differential Signaling)接收器的音频ADC架构,并给出在FPGA上的实现结果。在FPGA内部实现音频ADC,具有扩展方便灵活,实现简单,集成度高等优点。 关键词 sigma—delta FPGA LVDS 音频ADC 引 言 数字系统已经越来越广泛地应用到现实世界的各个领域中,绝大多数数字系统无法直接处理现实世界中的信号,必须采用ADC器件把模拟信号转换成数字信号后才能处理。FPGA和DSP处理器是数字信号处理的两大主流技术。随着技术的发展和进步,一些FPGA器件集成了一些模拟电路以及混合信号处理模块,比如集成温度监控二极管。Actel公司的混合FPGA系列已经集成ADC、DAC、PGA(Programmable Gain Amplifier)、电压参考基准源和RCC(Resistance Capacitance)振荡器。Xilinx公司的V5系列FPGA集成电压和温度监控ADC,用户可以直接通过JTAG下载调试接口读取电压和温度值