
FPGA
FPGA
桃子味的梨
这个作者很懒,什么都没留下…
展开
-
组合逻辑电路 & 时序逻辑电路
组合逻辑电路特点:是任意时刻的输出仅仅取决于当前时刻的输入,与电路之前的历史状态无关(即无记忆能力)组合逻辑电路的设计通常包含以下几个步骤:进行逻辑抽象。分析事件的因果关系,确定输入变量和输出变量,列出输入变量和输出变量的逻辑真值表。写出逻辑函数。将真值表转换为对应的逻辑函数式,或者直接画出卡诺图,然后使用第三章中介绍的卡诺图将逻辑函数进行化简。根据化简后的逻辑函数,画出逻辑电路图。常见的组合逻辑电路:多路选择器、编码器、译码器、移位器、比较器、多路选择器最简单的多路选择器(Multi原创 2020-09-22 14:42:17 · 11919 阅读 · 1 评论 -
(2,1,2)卷积码译码器的JAVA实现
本人编写。package Veteribi;import java.util.ArrayList;public class Veterbi { public static void decoder(StringBuffer received) { // 记录四种状态的路径 StringBuffer route1 = new StringBuffer("0000"); // x...原创 2019-03-26 19:04:37 · 1026 阅读 · 0 评论 -
4.3 Verilog练习(3)
练习九.利用状态机的嵌套实现层次结构化设计目的:1.运用主状态机与子状态机产生层次化的逻辑设计;2.在结构化设计中灵活使用任务(task)结构。在上一节,我们学习了如何使用状态机的实例。实际上,单个有限状态机控制整个逻辑电路的运转在实际设计中是不多见,往往是状态机套用状态机,从而形成树状的控制核心。这一点也与我们提倡的层次化、结构化的自顶而下的设计方法相符,下面我们就将提供一个这...原创 2019-02-21 22:11:46 · 542 阅读 · 0 评论 -
4.3 verilog中的task用法与例子
任务就是一段封装在“task-endtask”之间的程序。任务是通过调用来执行的,而且只有在调用时才执行,如果定义了任务,但是在整个过程中都没有调用它,那么这个任务是不会执行的。调用某个任务时可能需要它处理某些数据并返回操作结果,所以任务应当有接收数据的输入端和返回数据的输出端。另外,任务可以彼此调用,而且任务内还可以调用函数。 1.任务定义 任务定义的形式如下: task task_id...转载 2019-02-20 16:02:07 · 3126 阅读 · 0 评论 -
4.3 verilog中的function用法与例子
函数的功能和任务的功能类似,但二者还存在很大的不同。在 Verilog HDL 语法中也存在函数的定义和调用。 1.函数的定义 函数通过关键词 function 和 endfunction 定义,不允许输出端口声明(包括输出和双向端口) ,但可以有多个输入端口。函数定义的语法如下: function [range] function_id; input_declaration ...转载 2019-02-20 15:23:11 · 2222 阅读 · 0 评论 -
4.3 Verilog练习(2)
目录练习五. 用always块实现较复杂的组合逻辑电路练习六. 在Verilog HDL中使用函数练习七. 在Verilog HDL中使用任务(task)练习八. 利用有限状态机进行复杂时序逻辑的设计练习五. 用always块实现较复杂的组合逻辑电路目的: 1.掌握用always实现组合逻辑电路的方法;2.了解assign与always两种组合逻辑电路实现方法之间的区别。...原创 2019-02-20 15:22:25 · 798 阅读 · 0 评论 -
4.3 Verilog练习(1)
以后所有和FPGA相关的开发环境都为Vivado目录练习一.简单的组合逻辑设计练习二. 简单时序逻辑电路的设计练习三. 利用条件语句实现较复杂的时序逻辑电路练习四. 设计时序逻辑时采用阻塞赋值与非阻塞赋值的区别 练习一.简单的组合逻辑设计这是一个可综合的数据比较器,很容易看出它的功能是比较数据a与数据b,如果两个数据相同,则给出结果1,否则给出结果0。在Verilo...原创 2019-02-19 16:39:53 · 1347 阅读 · 1 评论 -
4.3 阻塞赋值与非阻塞赋值
一.Golden Rule编码原则很多,就阻塞非阻塞赋值而言,新手最需要牢记的是其中三条:1) 时序逻辑一定用非阻塞赋值”<=”,一旦看到敏感列表有posedge就用”<=”。2) 组合逻辑一定用”=”,一旦敏感列表没有posedge就用”=”,一旦看到assign就用”=”。3) 时序逻辑和组合逻辑分成不同的模块,即一个always模块里...转载 2019-02-19 16:10:29 · 664 阅读 · 0 评论 -
4.2 Vivado Embedded Design (Zynq-7000 series)
The Zynq-7000 SoC solution reduces the complexity of an embedded design by offering an Arm Cortex-A9 dual core as an embedded block, along with programmable logic on a single SoC.For Zynq devices, t...原创 2019-02-18 19:44:10 · 527 阅读 · 0 评论 -
4.1 Vivado使用技巧(3):手把手教你 创建工程,存档工程
目录step 1. Creating a Projectstep 2. Creating Design Sourcesstep4 . Simulationpart 5 . Add constraint filespart 6 . Add IP Sourcespart 7 .Creating a New Block Designpart 8 .打开/新建原理图schema...原创 2019-02-14 16:35:02 · 4019 阅读 · 1 评论 -
4.1 Vivado使用技巧(2):使用Vivado DocNav
查找文档资料,官方配套的DocNav最详细,推荐。DocNav在下载vivado时应该是打包安装的,如果没有可以去官网下载一个。Vivado Design Suite User Guide Getting Started(ug910)里面推荐的vivado参考文档列表:通过这些文档学习vivado 比看中文书籍更高效(个人觉得哈。) ...原创 2019-02-14 14:46:42 · 2118 阅读 · 0 评论 -
4.1 Vivado使用技巧(1):了解主界面
vivado的主要组件有:1. Menu Bar2. Main Toolbar3. Flow Navigator4. Data Windows Area5. Menu Command Quick Access Search Field6. Workspace7. Project Status Bar8. Layout Selector9. Status Bar10. Resu...原创 2019-02-14 14:17:52 · 5139 阅读 · 0 评论 -
4.0 Xilinx Zynq-7000 SoC Data Sheet: Overview
The Zynq®-7000 family is based on the Xilinx SoC architecture. These products integrate a feature-rich dual-core or single-core ARM® Cortex™-A9 based processing system (PS) and 28 nm Xilinx programmab...原创 2019-01-18 14:51:54 · 804 阅读 · 0 评论 -
3.4 FPGA JTAG配置模式
JTAG配置电路赛灵思公司的FPGA芯片具有IEEE 1149.1/1532协议所规定的JTAG接口,只要FPGA上电,不论模式选择管脚M[1:0] 的电平,都可用采用该配置模式。JTAG模式不需要额外的掉电非易失存储器,因此通过其配置的比特文件在FPGA断电后即丢失,每次上电后都需要重新配置。由于JTAG模式已更改,配置效率高,是项目研发阶段必不可少的配置模式。JTAG模式配置电路 J...原创 2019-01-18 09:32:31 · 2831 阅读 · 0 评论 -
3.3 SPI串行Flash配置模式
SPI串行Flash配置模式1.SPI串行配置介绍串行Flash的特点是占用管脚比较少,作为系统的数据存贮非常合适,一般都是采用串行外设接口(SPI 总线接口)。Flash 存贮器与EEPROM根本不同的特征就是EEPROM可以按字节进行数据的改写,而Flash只能先擦除一个区间,然后改写其内容。一般情况下,这个擦除区间叫做扇区(Sector),也有部分厂家引入了页面(Page) 的概念...原创 2019-01-18 09:15:57 · 2761 阅读 · 0 评论 -
3.2 FPGA 配置电路/主模式 从模式 JTAG模式
我们知道,FPGA是易失性的。硬件配置,即把HDL代码下载到FPGA芯片中,才能进行下一步的调试。FPGA的配置过程:初始化→清空配置存储器→加载配置数据→CRC错误检查→START-UP配置电路分类(根据FPGA芯片能否主动加载配置数据):FPGA配置方式灵活多样,根据芯片是否能够自己主动加载配置数据分为主模式、从模式以及JTAG模式。Xilinx FPGA 的常用配置模式有5 ...原创 2019-01-14 21:15:04 · 2822 阅读 · 0 评论 -
3.1 Xilinx系列产品介绍
目前赛灵思公司有两大类FPGA产品:Spartan类和Virtex类,前者主要面向低成本的中低端应用,是目前业界成本最低的一类FPGA;后者主要面向高端应用,属于业界的顶级产品。这两个系列的差异仅限于芯片的规模和专用模块上,都采用了先进的0.13 、90甚至65制造工艺,具有相同的卓越品质。1.Spartan类FPGASpartan系列适用于普通的工业、商业等领域,目前主流的芯片包括:Sp...原创 2019-01-14 20:50:16 · 9869 阅读 · 1 评论 -
2.2 连续赋值、过程赋值
4、赋值Verilog HDL有两种为变量赋值的方法一种叫做连续赋值(Continuous Assignment),另一种叫做过程赋值(Procedural Assignment)。过程赋值又分为阻塞赋值(Blocking Assignment)和非阻塞赋值(Nonblocking Assignment)。4.1 连续赋值连续赋值是为线网型变量提供驱动的一种方法,它只能为线网型...原创 2019-01-14 20:46:44 · 5055 阅读 · 3 评论 -
2.1 Verilog HDL基础
1 、基本一个模块, 由:module1.模块名 (module_name)2端口列表 (port_list)3端口声明 (input、output、inout)4变量声明 (reg、wire、parameter)5行为描述语言 (initial、always)6连续赋值语句 (continuous assignment)7模块调用语句 (module instantiatio...原创 2019-01-14 20:46:06 · 929 阅读 · 0 评论 -
1.2 FPGA概述
1、FPGA的主要模块1.1可编程输入输出单元(IOB)可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,完成不同电气特性下对输入/输出信号的驱动与匹配要求。FPGA内的I/O按组分类,每组都能够独立地支持不同的I/O标准。通过软件的灵活配置,可适配不同的电气标准与I/O物理特性,可以调整驱动电流的大小,可以改变上、下拉电阻。目前,I/O 口的频率也越来越高,一些高端的FPG...原创 2019-01-14 20:45:38 · 654 阅读 · 0 评论 -
1.1 PLD、FPGA概述
1 、常见的简称:FPGA :现场可编程门阵列,Field-Programmable Gate ArrayPLD :可编程逻辑器件,programmable logic deviceASIC :专用集成电路,Application Specific Integrated CircuitLUT :查找表,Look-Up-TableCLB :可配置逻辑块,Configurable ...原创 2019-01-14 10:47:39 · 3035 阅读 · 0 评论 -
PLL与DLL
DLL和PLL是两个完全不同的东西,用在不同的地方。DLL-Delay locked loop 用在数字电路中,用来自动调节一路信号的延时,使两路信号的相位一致(边沿对齐), 在需要某些数字信号(比如data bus上的信号)与系统时钟同步的情况下, DLL将两路clock的边沿对齐(实际上是使被调节的clock滞后系统clock 整数个周期),用被调节的clock做控制信号,就可以产生与系统时钟...原创 2019-01-14 10:39:19 · 3442 阅读 · 0 评论 -
labview notes
<Ctrl+B> 清除所有断线<Ctrl+S> 保存VI<Ctrl+R> 运行VI<Ctrl+E> 在前面板和程序框图间切换<Ctrl+T> 前面板,程序框图分左右两界面显示<Ctrl+H>及时显示帮助For循环中的重复端子是从0开始计数,移位寄存器的【初始化】是非常必要的,因为只要用户不退出VI,移位寄存器便可记录上次运算完...原创 2018-04-03 18:49:01 · 366 阅读 · 0 评论