VHDL 基础程序百例 FPGA 逻辑设计源码VHDL语言100例第1例 带控制端口的加法器第2例 无控制端口的加法器第3例 乘法器第4例 比较器第5例 二路选择器第6例 寄存器第7例 移位寄存器第8例 综合单元库第9例 七值逻辑与基本数据类型第10例 函数第11例 七值逻辑线或分辨函数第12例 转换函数第13例 左移函数第14例 七值逻辑程序包第15例 四输入多路器第16例 目标选择器第17例 奇偶校验器第18例 映射单元库及其使用举第19例 循环边界常数化测试第20例 保护保留字第21例 进程死锁 第22例 振荡与死锁第23例 振荡电路第24例 分辨信号与分辨函数第25例 信号驱动源第26例 属性TRANSACTION和分辨信号第27例 块保护及属性EVENT,第28例 形式参数属性的测试第29例 进程和并发语句第30例 信号发送与接收第31例 中断处理优先机制建模第32例 过程限定第33例 整数比较器及其测试第34例 数据总线的读写第35例 基于总线的数据通道第36例 基于多路器的数据通道第37例 四值逻辑函数第38例 四值逻辑向量按位或运算第39例 生成语句描述规则结构第40例 带类属的译码器描述第41例 带类属的测试平台第42例 行为与结构的混合描述第43例 四位移位寄存器第44例 寄存/计数器第45例 顺序过程调用第46例 VHDL中generic缺省值的使用第47例 无输入元件的模拟第48例 测试激励向量的编写第49例 delta延迟例释第50例 惯性延迟分析第51例 传输延迟驱动优先第52例 多倍(次)分频器第53例 三位计数器与测试平台第54例 分秒计数显示器的行为描述6第55例 地址计数器第56例 指令预读计数器第57例 加.c减.c乘指令的译码和操作第58例 2-4译码器结构描述第59例 2-4译码器行为描述第60例 转换函数在元件例示中的应用第61例 基于同一基类型的两分辨类型的赋值相容问题第62例 最大公约数的计算第63例 最大公约数七段显示器编码第64例 交通灯控制器第65例 空调系统有限状态自动机第66例 FIR滤波器第67例 五阶椭圆滤波器第68例 闹钟系统的控制第69例 闹钟系统的译码第70例 闹钟系统的移位寄存器第71例 闹钟系统的闹钟寄存器和时间计数器第72例 闹钟系统的显示驱动器第73例 闹钟系统的分频器第74例 闹钟系统的整体组装第75例 存储器第76例 电机转速控制器第77例 神经元计算机第78例ccAm2901四位微处理器的ALU输入第79例ccAm2901四位微处理器的ALU第80例ccAm2901四位微处理器的RAM第81例ccAm2901四位微处理器的寄存器第82例ccAm2901四位微处理器的输出与移位第83例ccAm2910四位微程序控制器中的多路选择器第84例ccAm2910四位微程序控制器中的计数器/寄存器第85例ccAm2910四位微程序控制器的指令计数器第86例ccAm2910四位微程序控制器的堆栈第87例 Am2910四位微程序控制器的指令译码器第88例 可控制计数器第89例 四位超前进位加法器第90例 实现窗口搜索算法的并行系统(1)——协同处理器第91例 实现窗口搜索算法的并行系统(2)——序列存储器第92例 实现窗口搜索算法的并行系统(3)——字符串存储器第93例 实现窗口搜索算法的并行系统(4)——顶层控制器第94例 MB86901流水线行为描述组成框架第95例 MB86901寄存器文件管理的描述第96例 MB86901内ALU的行为描述第97例 移位指令的行为描述第98例 单周期指令的描述第99例 多周期指令的描述第100例 MB86901流水线行为模型
上传时间: 2022-05-14
上传用户:
通用异步收发器(Universal Asynchronous Receiver Transmitter,UART)是一种能同时支持短距离和长距离数据传输的串行通信接口,被广泛应用于微机和外设之间的数据交换。像8251、NS8250、NS16550等都是常用的UART芯片,但是这些专用的串行接口芯片的缺点是数据传输速率比较慢,难以满足高速率数据传输的场合,而更重要的就是它们都具有不可移植性,因此要利用这些芯片来实现PC机和FPGA芯片之间的通信,势必会增加接口连线的复杂程度以及降低整个系统的稳定性和有效性。 本课题就是针对UART的特点以及FPGA设计具有可移植性的优势,提出了一种基于FPGA芯片的嵌入式UART设计方法,其中主要包括状态机的描述形式以及自顶向下的设计方法,利用硬件描述语言来编制UART的各个子功能模块以及顶层模块,之后将其集成到FPGA芯片的内部,这样不仅能解决传统UART芯片的缺点而且同时也使整个系统变得更加具有紧凑性以及可靠性。 本课题所设计的LIART支持标准的RS-232C传输协议,主要设计有发送模块、接收模块、线路控制与中断仲裁模块、Modem控制模块以及两个独立的数据缓冲区FIFO模块。该模块具有可变的波特率、数据帧长度以及奇偶校验方式,还有多种中断源、中断优先级、较强的抗干扰数据接收能力以及芯片内部自诊断的能力,模块内分开的接收和发送数据缓冲寄存器能实现全双工通信。除此之外最重要的是利用IP模块复用技术设计数据缓冲区FIFO,采用两种可选择的数据缓冲模式。这样既可以应用于高速的数据传输环境,也能适合低速的数据传输场合,因此可以达到资源利用的最大化。 在具体的设计过程中,利用Synplify Pro综合工具、ModelSim仿真工具、ISE集成的软件开发环境中对各个功能模块进行综合优化、仿真验证以及下载实现。各项数据结果表明,本课题中所设计的UART满足预期设计目标。
上传时间: 2013-08-02
上传用户:rocketrevenge
自香农先生于1948年开创信息论以来,经过将近60年的发展,信道编码技术已经成为通信领域的一个重要分支,各种编码技术层出不穷。目前广泛研究的低密度奇偶校验(LDCP)码是由R.G.Gallager先生提出的一种具有逼近香农限性能的优秀纠错码,并已在数字电视、无线通信、磁盘存储等领域得到大量应用。 目前数字电视已经成为最热门的话题之一,用手机看北京奥运,已经成为每一个中国人的梦想。最近两年我国颁布了两部与数字电视有关的通信标准,分别是数字电视地面传输标准(DMB-TH)和移动多媒体(CMMB)即俗称的手机电视标准。数字电视正与每个人走得越来越近,我国预期在2015年全面实现数字电视并停止模拟电视的播出。作为数字电视标准的核心技术之一的前向纠错码技术已经成为众多科研单位的研究热点,相应的编解码芯片更成为重中之重。在DMB-TH标准中用到了LDPC码和BCH码的级联编码方式,在CMMB标准中用到了LDPC码和RS码的级联编码方式,在DVB-S2标准中用到了LDPC码和BCH码的级联编码方式。 本论文以目前最重要的三个与数字电视相关的标准:数字电视地面传输标准(DMB-TH)、手机电视标准(CMMB)以及数字卫星电视广播标准(DVB-S2)为切入点,深入研究它们的编码方式,设计了这三个标准中的LDPC码编码器,并在FPGA上实现了前两个标准的编码芯片,实现了DMB-TH标准中0.4、0.6以及0.8三种码率的复用。在研究CMMB标准中编码器设计时,提出一种改进的LU分解算法,该分解方式适合任意的H矩阵,具有一定的广泛性。测试结果表明,芯片逻辑功能完全正确,速度和资源消耗均达到了标准的要求,具有一定的商用价值。
上传时间: 2013-07-07
上传用户:327000306
LDPC(低密度奇偶校验码)编码是提高通信质量和数据传输速率的关键技术。LDPC码应用于实际通信系统是本课题的研究重点。实际通信要求在LDPC码长尽量短、码率尽量高及硬件可实现的前提下,结合连续相位MSK调制,满足归一化信噪比SNR=2dB时,系统误码率低于10-4。根据课题背景,本文主要研究基于FPGA的LDPC编码器设计与实现。 LDPC码的编码复杂度往往与其帧长的平方成正比,编码复杂度大,成为编码硬件实现的一个障碍;论文针对实际系统的预期指标,通过对多种矩阵构造算法的预选方案及影响LDPC码性能参数仿真分析,基于1/2码率,1024和2048两种帧长,设计了三种编码器的备选方案,分别为直接下三角编码器,串行准循环编码器和二阶准循环编码器。 对于每种编码器,分别设计了其整体结构,并对每种编码器的功能模块进行深入研究,设计完成后利用第3方软件MODELSIM对编码器进行了时序仿真;根据时序仿真结果和综合报告对三种编码方案进行比较,最终选择串行准循环编码器作为硬件实现的编码方案。 最后,在FPGA中硬件实现了串行准循环编码器并对其进行测试,利用MATLAB仿真程序和串口通信工具最终验证了这种编码器的正确性和硬件可实现性。
上传时间: 2013-08-02
上传用户:林鱼2016
·该编程器使用Atmel STK500_2协议,使用AVR Studio4.xx STK500工具进行编程.使用方法请参照ATMEL官方资料. 通信接口:STK500和PC机之间的通信通过RS232来进行.STK500使用115.2k的波特率.8个字节,1个停止位,没有奇偶校验. PC机也必须设置为同样才能进行通信. 可以使用ISP模式或者PP(并行变成)模式都可实现烧
上传时间: 2013-06-10
上传用户:lepoke
本例是easyarm1138的UART(通用异步收发器)实例 建议采用Windows自带的“超级终端”来调试UART, 在“端口设置”里,设置如下 波特率:9600 数据位:8 奇偶校验:无 停止位:1 数据流控制:无
上传时间: 2017-01-01
上传用户:change0329
用vhdl语句描述4位等值比较器,4选1多路选择器,8位奇偶校验电路功能
上传时间: 2014-01-15
上传用户:FreeSky
计数器电路触发器编码器译码器逻辑门数电电路Multisim仿真源文件20个合集:100进制电路测试.ms10100进制电路测试.ms10 (Security copy)74LS161测试电路.ms1074LS161测试电路.ms10 (Security copy)74LS192电路.ms1074LS192电路.ms10 (Security copy)D触发器到T'触发器测试.ms10D触发器到T'触发器测试.ms10 (Security copy)D触发器测试电路.ms10D触发器测试电路.ms10 (Security copy)JK触发器变为T触发器测试.ms10JK触发器变为T触发器测试.ms10 (Security copy)JK触发器测试.ms10JK触发器测试.ms10 (Security copy)RS基本触发器测试.ms10RS基本触发器测试.ms10 (Security copy)任意进制电路设计74LS160.ms10任意进制电路设计74LS160.ms10 (Security copy)四人表决器.ms10四人表决器.ms10 (Security copy)奇偶校验电路(Parity.pdf奇偶校验电路.ms10奇偶校验电路.ms10 (Security copy)抢答器.ms10抢答器.ms10 (Security copy)火灾报警.ms10火灾报警.ms10 (Security copy)简易密码锁设计.ms10简易密码锁设计.ms10 (Security copy)简易测频仪.ms10简易测频仪.ms10 (Security copy)简易秒表电路.ms10简易秒表电路.ms10 (Security copy)编码器74LS148D.ms10编码器74LS148D.ms10 (Security copy)译码器电路.ms10译码器电路.ms10 (Security copy)逻辑门.ms10逻辑门.ms10 (Security copy)
上传时间: 2021-10-27
上传用户:canderile
LDPC(Low Density Parity Check)码是一类可以用非常稀疏的校验矩阵或二分图定义的线性分组纠错码,最初由Gallager发现,故亦称Gallager码.它和著名Turbo码相似,具有逼近香农限的性能,几乎适用于所有信道,因此成为近年来信道编码界研究的热点。 LDPC码的奇偶校验矩阵呈现稀疏性,其译码复杂度与码长成线性关系,克服了分组码在长码长时所面临的巨大译码计算复杂度问题,使长编码分组的应用成为可能。而且由于校验矩阵的稀疏特性,在长的编码分组时,相距很远的信息比特参与统一校验,这使得连续的突发差错对译码的影响不大,编码本身就具有抗突发差错的特性。 本文首先介绍了LDPC码的基本概念和基本原理,其次,具体介绍了LDPC码的构造和各种编码算法及其生成矩阵的产生方法,特别是准循环LDPC码的构造以及RU算法、贪婪算法,并在此基础上采用贪婪算法对RU算法进行了改进。 最后,选用Altera公司的Stratix系列FPGA器件EPls25F67217,实现了码长为504的基于RU算法的LDPC编码器。在设计过程中,为节省资源、提高速度,在向量存储时采用稀疏矩阵技术,在向量相加时采用通过奇校验直接判定结果的方法,在向量乘法中,采用了前向迭代方法,避开了复杂的矩阵求逆运算。结果表明,该编码器只占用约10%的逻辑单元,约5%的存储单元,时钟频率达到120MHz,数据吞吐率达到33Mb/s,功能上也满足编码器的要求。
上传时间: 2013-06-09
上传用户:66wji
自动检测80C51串行通讯中的波特率:本文介绍一种在80C51 串行通讯应用中自动检测波特率的方法。按照经验,程序起动后所接收到的第1 个字符用于测量波特率。这种方法可以不用设定难于记忆的开关,还可以免去在有关应用中使用多种不同波特率的烦恼。人们可以设想:一种可靠地实现自动波特检测的方法是可能的,它无须严格限制可被确认的字符。问题是:在各种的条件下,如何可以在大量允许出现的字符中找出波特率定时间隔。显然,最快捷的方法是检测一个单独位时间(single bit time),以确定接收波特率应该是多少。可是,在RS-232 模式下,许多ASCII 字符并不能测量出一个单独位时间。对于大多数字符来说,只要波特率存在合理波动(这里的波特率是指标准波特率),从起始位到最后一位“可见”位的数据传输周期就会在一定范围内发生变化。此外,许多系统采用8 位数据、无奇偶校验的格式传输ASCII 字符。在这种格式里,普通ASCII 字节不会有MSB 设定,并且,UART总是先发送数据低位(LSB),后发送数据高位(MSB),我们总会看见数据的停止位。在下面的波特率检测程序中,先等待串行通讯输入管脚的起始信号(下降沿),然后起动定时器T0。在其后的串行数据的每一个上升沿,将定时器T0 的数值捕获并保存。当定时器T0溢出时,其最后一次捕获的数值即为从串行数据起始位到最后一个上升沿(我们假设是停止位)过程所持续的时间。
上传时间: 2014-08-22
上传用户:dajin