FPGA
文章平均质量分 88
硬件嘟嘟嘟
努力修炼的硬件开发汪
展开
-
SDRAM理论篇之基础知识及操作时序讲解(转载)
这个星期在进行SDRAM的学习,当然关于SDRAM的理论知识,在上周讲了一部分,而这周主要的还是写代码及调试。如果有朋友在这之前没有接触过内存的话,可以看下业内写的比较好的扫盲文章《高手进阶 终极内存技术指南》(点击进入下载),虽然Kevin在这之前也曾经看过这篇文章,但是看完之后对于写代码还是毫无头绪,所以Kevin在这里建议大家,如果是完全不知道内存是神马的朋友可以看下这篇文章,对于一些有基础但是不了解SDRAM操作时序的朋友可以直接看SDRAM厂商的官方文档,虽然Kevin也会在这篇博文中会根据自己对转载 2021-03-16 11:46:28 · 3732 阅读 · 1 评论 -
intel®Cyclone® IV设备家族引脚连接准则
1.英特尔®Cyclone®IV E设备家族引脚连接准则1.1 Clock and PLL Pins1.2 Configuration/ JTAG Pins1.3 Differential I/O Pins1.4 External Memory Interface Pins1.5 Reference Pins1.6 Supply Pins (See Notes 16 and 17)2.注释:1.在Cyclone IV GX器件中,EP4CGX30的器件封装F484和E原创 2021-03-04 16:38:14 · 4022 阅读 · 2 评论 -
intel®Cyclone®10 LP设备家族引脚连接准则
1.英特尔®Cyclone®10 LP设备家族引脚连接准则1.1 Clock and PLL Pins1.2 Configuration/JTAG Pins1.3 Differential I/O Pins1.4 Reference Pins1.5 Supply Pins2. 英特尔Cyclone 10 LP引脚连接准则说明1.除E144封装外,大多数设备都支持FPP配置。2.应在考虑要去耦的特定电路的工作频率上提供电源所需的电量后,再选择电源去耦电容器的电容值。应基于设原创 2021-02-26 11:17:40 · 1551 阅读 · 0 评论 -
FPGA学习之以太网接收发送功能实现(OSI网络分层)(一)
FPGA学习之以太网接收发送功能实现(OSI网络分层)(一)1. ISO提出的OSI在学习FPGA的以太网功能实现之前,首先必须了解究竟什么是网络?目前有一种网络模型被国际上广泛接受,并且能够以抽象的方式来描述现在和未来网络的模型,这就是ISO组织提出的OSI模型。ISO组织认为必须建立一个设计网络协议时可以使用的模型。从这句话中得知,ISO提出的OSI模型是为协议设计服务的,这是一个大的模型框架,OSI模型包括了各种基本的网络功能,在应用到各个协议设计时将会产生各自协议的网络模型,例如TCP/IP原创 2020-06-03 15:11:05 · 1546 阅读 · 0 评论 -
FPGA之NIOS系统LCD1602核及自定义LCD液晶IP核
FPGA之NIOS系统LCD1602核及自定义LCD液晶IP核前言在前期文章中提到了LCD1602一些基本知识,包括控制,显示,时序。那如何在NIOS系统创建LCD1602的IP核?由于在Qsys中提供了Optrex 16207 LCD Controller Core(下文统称1602控制核),因此我们只需调用,然后集成到我们的NIOS系统中即可,而且属于字符型输出设备,支持printf(),即我们可以直接输出我们想要的内容。那么LCD1602控制核是如何进行工作的呢?当把LCD1602控制核加入原创 2020-06-01 14:01:52 · 1284 阅读 · 0 评论 -
FPGA学习嵌入式硬件最小系统搭建(二)(RAM,system_id及PIO等)
FPGA学习嵌入式硬件最小系统搭建(二)(RAM,system_id及PIO等)上篇NIOS处理器设置中未提到时钟设置,一般在定制个人的NIOS系统之前,需要配置系统时钟,因为开发板上的晶振是50MHz,输入给系统的时钟就是外部晶振的时钟频率,因此这里设置为50MHz。有两种设置方法。由上图可知,第一种直接双击clk_0,修改系统时钟,第二种是点击clock settings,在这里修改系统时钟。在上篇文章中已经详细描述了如何去定制nios ii处理器,本篇就直接从设置ROM和RAM说起,后期在点亮原创 2020-05-29 14:41:13 · 1511 阅读 · 0 评论 -
FPGA学习嵌入式硬件最小系统搭建(一)(NIOS II处理器设置)
FPGA学习嵌入式硬件最小系统搭建(一)(NIOS II处理器设置)本期学习目的:利用NIOS II系统点亮LCD1602屏及5.7寸LCD(8080接口)。前言概述上篇文章介绍了嵌入式硬件系统概述,并提到了基于FPGA的嵌入式系统是能够充当微处理器的系统,那么一个未处理器系统它需要哪些器件呢?首先是最核心的MCU处理器,因此Altera就提供了一个软核处理器NIOS核,该系列软核是32位RISC嵌入式处理器,具有超过200DMIP的性能,手册上列举了一大堆优势,具体详见手册。这里最核心关键的就是原创 2020-05-26 14:34:33 · 2081 阅读 · 0 评论 -
FPGA学习之嵌入式硬件系统(SOPC)概述(软硬件设计)
FPGA学习之嵌入式硬件系统(SOPC)概述(软硬件设计)首先我们知道FPGA可以实现充当完整微处理器的逻辑,并且提供许多灵活性选项。下图体现出FPGA器件为何是现场可编辑门阵列器件。为了使基于FPGA的嵌入式系统能够充当微处理器的系统,那么我们就必须要学习NIOS II (SOPC)系统设计,而且在设计之时系统应包括以下内容,这是因为微处理器和FPGA之间的区别就是FPGA上电时不包含任何逻辑(基于SDRAM工艺所致),我们需要系统运行之前来配置FPGA处理器。(1)JTAG接口支持FPGA配置以原创 2020-05-20 17:22:39 · 1972 阅读 · 0 评论 -
FPGA学习之LCD1602基本知识(控制,显示,时序)(一)
FPGA学习之LCD1602基本知识(控制,显示,时序)前言LCD1602顾名思义就是显示两行,每行16个字符。如下图所示:LCD1602的控制线主要有4根:(1)RS:数据/指令选择端,当RS = 0时,写指令,当RS = 1时,写数据(2)RW:读/写选择端,当RW = 0时,写指令/数据,当RW = 1时,读状态/数据(3)EN:使能端,下降沿使指令/数据生效(4)data[7:0]:8根并行数据口那LCD1602总共引出的接口信号线如下图所示:其中VL代表液晶显示器对比度调整端原创 2020-05-11 12:06:16 · 11130 阅读 · 0 评论 -
FPGA双向IO使用之三态门说明
FPGA双向IO使用之三态门说明在FPGA设计中,双向IO(输入输出引脚)是一个比较麻烦的东西,但是信号线用作总线等双向数据传输时就要用到inout类型。以下用液晶的的数据线用作双向IO示例:说是双向IO端口,其实输入和输出不是同时进行的,需要有一个控制信号out_en来控制端口什么时候为输出,什么时候为输入。那这里就需要引入一个三态门结构电路。三态门结构那么三态门的结构是怎样的呢?三态门电路的输出结构和普通门电路的输出结构有很大的不同,因为它在电路中增加了一个输出控制端EN。由上图看出原创 2020-05-09 14:16:36 · 11040 阅读 · 0 评论 -
双口RAM之IP核使用与验证
双口RAM之IP核使用与验证上篇在FPGA器件结构资源中提到存储器结构是由一列列的M9K存储器模块组成的,通过对这些M9K存储器模块进行配置,可以实现各种存储器功能,如RAM,ROM,移位寄存器以及fifo缓冲器,具体IP核设置如下图所示本篇先从双口RAM说起,说起双口RAM,本人也是从前辈的代码中认识到这个IP核,才逐渐树立起FPGA模块架构设计以及对数据流的分析。下面先从数据的乒乓操作...原创 2020-04-26 14:37:34 · 1892 阅读 · 0 评论 -
FPGA学习之Cyclone器件资源结构知识介绍
FPGA学习之Cyclone器件资源结构知识介绍因为下周将进行RAM核调用及系统设计学习,这周结束我就先参考Cyclone IV器件手册,来学习FPGA器件(本文学习器件为Cyclone IV E系列器件)一些基础知识,进而熟悉器件资源定义以及设计所注意的使用细节。https://blog.csdn.net/sinat_41653350/article/details/103955348中也...原创 2020-04-24 17:43:23 · 5730 阅读 · 0 评论 -
FPGA学习之串口接收模块设计与验证
FPGA学习之串口接收模块设计与验证1.实验目的:实现一个串口接收,通过上位机发送数据,查看串口接收模块是否收到数据。2.实验介绍:学习UART通信原理及其硬件电路设计,使用FPGA实现UART通信中的数据接收部分设计,并使用ISSP工具来进行板级验证。3.实验原理在上篇串口发送模块中提到串口发送一个字节的时序图,如下图所示:其实串口接收模块在接收这样的时序字节时,是每一位进行采样...原创 2020-04-23 17:57:37 · 3479 阅读 · 0 评论 -
FPGA学习之串口发送模块设计与验证
FPGA学习之串口发送模块设计与验证1.实验目的:实现一个串口输出,通过上位机PC查看接收到的是否是串口发送的数据。2.实验介绍:学习UART通信原理及其硬件电路设计,使用FPGA实现UART通信中的数据发送部分设计,并使用ISSP工具来进行板级验证。3.实验原理(1)异步串行通信原理串行通信是指利用一条传输线将数据一位位的顺序传送,每位数据占据固定时间长度。异步通信以一个字符为传...原创 2020-04-21 18:00:31 · 2082 阅读 · 1 评论 -
FPGA-按键消抖状态机设计与验证
FPGA-按键消抖设计与验证为何要对按键进行消抖?下图是按键在实际电路中的应用,在无按键按下时keys[2:0]都将其上拉至高电平,首先在按键的硬件结构中存在一个反作用弹簧,当按下或松开时都会产生额外的物理振动,导致按键电平也在同步抖动。在按键从按下到松开的过程中,电平的理想变化和实际变化如下图所示。可以看出抖动的次数和间隔都是随机产生的,唯一确定的是在一般情况下,按下抖动和释放抖动的...原创 2020-04-17 15:20:20 · 1859 阅读 · 0 评论 -
testbench仿真模型
testbench仿真模型概述在FPGA中仿真测试验证是必不可少了,验证通常又分为仿真验证和板级验证,在上篇说过了板级验证调试的几种手段,本篇主要讲述如何在设计初步完成即将上板调试前进行仿真验证。提到仿真,我们通常会提到testbench的概念,即所谓的测试平台,就好比一个小型实验室,在这个实验室里有源,示波器等测试验证仪器,要测试的代码文件就是一个小黑盒子,这个黑盒子在实验室里测试,就需要...原创 2020-04-15 11:57:52 · 1916 阅读 · 0 评论 -
FPGA板级调试方法与原则
FPGA调试借助于示波器和逻辑分析仪是最常见的方法。本文列举Quartus II支持的五种较实用的调试方法。当然还有一些虚拟JTAG调试和LogicLock逻辑锁定等调试方法。1.信号探针(signalProbe)法:信号探针方式是不影响原有设计功能和布局布线,只是通过增加额外布线将需要观察调试的信号连接到预先保留或暂时不使用的I/O接口,该方式相应得到的信号电平会随布线有一定的延时,不...原创 2020-04-09 17:58:40 · 4832 阅读 · 0 评论 -
verilog中同步复位,异步复位,同步释放优缺点以及PLL配置复位设计
异步复位:它是指无论时钟沿是否到来,只要复位信号有效,就对系统进行复位。always@(posedge clk or negedge Rst_n) beginif(!Rst_n)…end异步复位实例:综合后查看RTL视角,可以看出寄存器都会有一个异步清零端(CLRN),在异步复位的设计中,这个端口一般接低电平有效的复位信号rst_n,即使设计中的是高电平,实际综合后也会把异步复位信...原创 2020-04-08 19:16:08 · 2467 阅读 · 0 评论 -
FPGA中阻塞赋值与非阻塞赋值原理实验
实验目的:掌握阻塞赋值与非阻塞赋值的区别1.实验原理:在Verilog HDL语言中,信号有两种赋值方式:非阻塞赋值和阻塞赋值;其中有两个要点:1.在描述组合逻辑的always块中用阻塞赋值,则综合成组合逻辑的电路结构;2.在描述时序逻辑的always块中用非阻塞赋值,则综合成时序逻辑的电路结构。以下缩写词定义:RHS-赋值等号右边的表达式或变量。LHS-赋值等号左边的表达式或变量...原创 2020-04-03 18:41:06 · 1710 阅读 · 0 评论 -
FPGA组合逻辑训练-三八译码器
实验原理:在数字电路中可以根据电路功能的不同分为,组合逻辑电路与时序逻辑电路。组合逻辑电路在逻辑功能上的特点是任意时刻的输出仅仅取决于该时刻的输入,与电路原来的状态无关。而时序逻辑从电路特征上看来,其特点为任意时刻的输出不仅取决于该时刻的输入,而且还和电路原来的状态有关。组合逻辑电路在电路结构上,不涉及对信号跳变沿的处理,无存储电路,也没有反馈电路,通常可以通过真值表的形式表达出来。时序...原创 2020-03-12 17:16:54 · 4931 阅读 · 1 评论 -
Verilog HDL三种建模方式
模块(module)是verilog HDL设计当中的基本组成单元,每个设计都是由一个或者多个模块构成,为了能更好地完成设计,我们先来学习模块的写法。注意:在设计当中,应该在英文状态下输入,否则将会出现语法错误。Verilog HDL 是区分大小写的。模块必须以关键字module开始,以关键字endmodule结束,例:module <模块名> (<端口名称,···,端口名...原创 2020-03-11 10:13:29 · 7476 阅读 · 0 评论 -
FPGA固件程序烧写配置方案
Intel 或 Xilinx 的 FPGA 芯片,使用的是基于 SRAM 结构的查找表,而 SRAM的一大特性就是掉电数据会丢失。当使用 JTAG 将 SRAM 配置文件(.sof)配置到 FPGA 芯片中后,这些数据是直接存储在 SRAM 结构的查找表中的,因此,一旦芯片掉电,则 SRAM 中的数据将丢失,再次上电后, SRAM 中将不再有有效的数据,这就是在使用 JTAG 下载 SOF 固件...原创 2020-03-04 16:23:23 · 5843 阅读 · 0 评论 -
Verilog HDL三种基本描述方式-结构化描述
当我们使用Verilog HDL代码来描述硬件功能的时候,可采用三种不同方式或混合方式对设计进行建模,这些方式包括:结构化方式—使用门和模块实例语句描述建模;数据流方式—使用连续赋值语句方式建模;行为描述方式—使用过程化结构建模。1. 结构化方式1.1门级结构建模(内置门原语)Verilog HDL 中有关门类型的关键字共有26个,下面列举了8个基本的门类型(gatetype)关键字和它们...原创 2020-01-17 11:14:06 · 12161 阅读 · 0 评论 -
FPGA硬件资源结构
前言FPGA(Flield Programmable Gate Array)作为一种可编程的芯片,其结构和开发方式都与传统的MCU或DSP不同。MCU或DSP的设计,是主要进行软件程序设计,用户主要使用C语言完成各种控制和算法的实现,各种功能是在CPU的控制下按照顺序依次来实现的。而FPGA设计,实质上是电路设计,是在一个可以现场编程的通用逻辑器件中去搭建各种具有一定功能的逻辑电路,各个逻辑电路...原创 2020-01-13 11:42:37 · 2221 阅读 · 0 评论