tag 标签: VerilogHDL

相关博文
  • 热度 21
    2015-3-24 13:57
    1023 次阅读|
    0 个评论
      引言   在各类电子系统中,数字电路所占比重越来越大。这主要是因为数字电路相对于 电路有一些突出的优点,例如:1 数字电路中的有源器件工作在饱和区 与截止区,工作状态稳定;2 数字电路处理的是二值信号,易于存储和再生;3 数字电路是由大量相同的基本单元,如门、触发器等所组成,易于大规模集成,易于自动化设计工具的应用等。再加上数字计算机和数字信号处理技术的迅速发展,使得数字电路从集成规模、应用范围及设计自动化程度等方面都大大超过了模拟电路,越来越多的由模拟电路实现的功能转由数字电路实现,进入了电子系统设计的数字化时代。    1  变∑-Δ换的原理   ∑-Δ变换采用过取样技术,将信号按时间分割,保持幅度恒定,具有高取样率、噪声整形和比特字长短的特点。变换可以在低取样率、高分辨率的量化器或者高取样率、低分辨率的量化器中进行,在数字音频中很有用,如用于音频信号数字化的∑-Δ ADC及可将已经数字化处理后的音频信号还原为模拟声音信号的 ∑-Δ DAC 。∑-Δ变换有时根据采用的具体结构称为1比特或多比特变换,本文所描述的∑-Δ DAC采用了1比特变换技术,克服了采用较多 比特数时所带来的量化非线性误差、纠错困难的缺点。   打个比方来说明如何用1比特替代16或更多比特:传统的阶梯变换器像16个电灯泡,连接到各自的开关上,每个都有不同的亮度,用各种组合方式可以得到216(即65536)种不同的亮度。然而,灯泡间的亮度差会引入误差,某种组合也并不总是能够产生所要求的亮度。1比特变换技术采用完全不同的方法,不用那么多灯泡和开关,只用一个灯泡和一个开关。房间亮度的变化可以通过简单的改变开、关灯泡的次数来得到。如果灯泡开的次数增加,房间的亮度就会增加。   ∑-Δ变换是将信号按时间分割,保持信号幅度恒定。它用高电平或低电平的脉冲表示信号,例如可以采用脉冲密度调制(PDM),如图1所示恒定幅度的脉冲信号,不论电平高或低都能够重建输出信号波形。  图1 脉冲密度调制    2  ∑-Δ DAC的结构   传统的应用电流模技术的DAC当位数达到10位以上时,要在某一温度范围保持精度非常困难。本文的∑-Δ DAC运用了数字技术,因此与电流模DAC相比,不受温度变化的影响,且能在可编程逻辑器件如 FPGA 中实现。∑-Δ DAC实际上是高速1位DAC,应用数字反馈技术从输入二进制数字量产生等幅的脉冲串,脉冲串的平均占空比与输入二进制数字量成正比,脉冲串再通过一RC模拟低通滤波器就能重建模拟波形。∑-Δ DAC非常适合于低频、高精度的应用,尤其在数字音频领域应用广泛。   作为例子,本文中所描述的∑-Δ DAC的二进制8位输入数字量是无符号数,模拟输出电压值都是正值。输入“00000000”产生输出电压0V,“11111111”产生输出电压的最大值Vmax,Vmax非常接近VCCO,其中VCCO是FPGA芯片I/O端口的供电电压。            图2  ∑-Δ DAC的内部结构图            术语“∑-Δ”分别代表算术和与差,都可用二进制加法器来产生。虽然Δ加法器的输入是无符号数,但Δ和∑两加法器的输出被看作有符号数。Δ加法器用来计算DAC输入与当前DAC输出之间的差值。由于DAC的输出只有一位,非0即1,即全0或全1。如图2 ∑-Δ DAC的结构图所示,Δ加法器的另一个输入值由∑锁存器最高位L 的两个拷贝后面跟8个0产生,这也弥补了DAC输入值是无符号数的问题。∑加法器将它的上一次输出(已经保存在∑锁存器)与Δ加法器的当前输出求和。    3 ∑-Δ DAC的FPGA实现   如图2所示,∑-Δ DAC的内部仅由2个10位的二进制加法器,1个10位的锁存器和一个D触发器组成,用FPGA实现时只需耗费极少的逻辑资源,即使用最小的FPGA也能实现,本文采用了Xilinx Virtex FPGA,图3给出了FPGA实现的顶层原理图。输入信号有8位宽的二进制数字量DACin 、时钟信号CLK和复位信号Reset;输出信号为等幅脉冲串DACout,通过一个驱动缓冲器OBUF_F_24(是Xilinx FPGA特有的SelectI/O资源,OBUF表示输出缓冲器,F表示它的转换速率快,24表示它的驱动能力即输出驱动电流是24MA,基于LVTTL I/O标准)驱动FPGA外部的模拟RC低通滤波器,该缓冲器的输出端连接到FPGA的I/O端口,则它的驱动电压即为FPGA的I/O端口的供电电压VCCO。表1列出了∑-Δ DAC的接口信号。   图3  FPGA 实现 ∑-Δ DAC 的顶层原理图   表1  ∑-Δ DAC的接口信号       图3虚线框内的电路都在FPGA里面实现,其中的DAC模块的原理图见图2,在本文中是用可以综合的 VerilogHDL 语句来描述的。VerilogHDL描述的 可综合性 是指其可被综合工具所识别,将其寄存器传输级(RTL)描述综合成门级网表,最终能通过FPGA的布局布线工具映射到FPGA当中成为能完成指定功能的硬件电路。VerilogHDL语言最初是面向建模和仿真的,只有10%可以被综合称为可综合子集。对于不同的综合工具,可综合子集的内容并不相同。IEEE的一个工作组目前正在撰写一个名为IEEE Std 1364.1RTL的综合子集的规范,定义了一个最小的可综合的Verilog语言要素的子集,以便得到各综合工具提供商的支持。   图3中缓冲器的输出端DACoutDrvr连接到FPGA的输出引脚上,驱动外部的模拟RC低通滤波器。图 中R=3.3kΩ,C=0.0047μF,VOUT即为最终转换所得的模拟信号。下面给出了DAC模块的可综合的VerilogHDL描述:   ‘timescale 100 ps / 10 ps   //This is a Delta-Sigma Digital to Analog Converter   module dac(DACout, DACin, Clk, Reset);   output DACout; // This is the average output that feeds low pass filter   reg DACout;   input DACin; // DAC input   input Clk;   input Reset;   reg DeltaAdder; // Output of Delta adder   reg SigmaAdder; // Output of Sigma adder   reg SigmaLatch; // Latches output of Sigma adder   reg DeltaB; // B input of Delta adder   always @(SigmaLatch) DeltaB = {SigmaLatch ,SigmaLatch } (8);   always @(DACin or DeltaB) DeltaAdder = DACin + DeltaB;   always @(DeltaAdder or SigmaLatch) SigmaAdder = DeltaAdder + SigmaLatch;   always @(posedge Clk or posedge Reset)   begin   if(Reset)   begin   SigmaLatch = #1 1’bl (8);   DACout = #1 1’b0;   end   else   begin   SigmaLatch = #1 SigmaAdder;   DACout = #1 SigmaLatch ;   end   end   endmodule该程序经过Xilinx的FPGA集成开发工具ISE6.2编译(含综合过程)、仿真后,再选择Virtex系列FPGA芯片进行配置。设置CLK=100MHz(最高可达219MHz)。   4 结论   ∑-Δ DAC是高速FPGA芯片用于数字模拟混合信号系统设计的尝试,可应用于可编程电压源、波形发生器、声音发生器、RGB颜色发生器和ADC的参考电压发生器等,极大的减少了系统的元件数目,降低了系统的成本,有很好的实用价值。    参考文献    (美)巴斯克尔著,孙海平译《VerilogHDL综合实用教程》,清华大学出版社,2004    王诚,薛小刚《FPGA/CPLD设计工具:Xilinx ISE5.x使用详解》,人民邮电出版社,2003    (美)Ken C.Pohlmann著,苏菲译《数字音频原理与应用》第四版,电子工业出版社,2002    www.xilinx.com,Xilinx公司在线文档
  • 热度 14
    2015-3-24 13:46
    771 次阅读|
    0 个评论
       1、引言   阿尔法磁谱仪(Alpha Magnetic Spectrometer,AMS)实验室是丁肇中博士领导的由美、俄、德、法、中等16个国家和地区共300多名科学家参加的大型国际合作项目。它是国际空间站上唯一大型物理实验,是人类第一次在太空中精密地测量高能量带电原子核粒子的实验。其目的是为寻找反物质所组成的宇宙和暗物质的来源以及测量宇宙线的来源。   但是对于AMS实验的空间电子系统,同样会受到高能粒子的袭击,导致存储器的内容发生变化,改写半导体存储器件的逻辑状态,导致存储单元在逻辑‘0’与‘1’之间发生翻转,使存储的关键数据出错,控制程序跑飞等。这对于AMS实验系统来说,是一个不容忽视的问题。因此,我们采用二元BCH(31,16)码,能纠正三位随机错误,这种纠错码信息不需要储存,不需要反馈,实时性好。    2、编译码原理   对于空间电子系统可能出现的问题,我们进行检错与纠错,其基本思想是在信息码组中以一定规则加入不同方式的冗余码,以便在信息读出的时候依靠多余的监督码或校验码来发现或自动纠正错误。    2.1 编码   编码比较简单,二元BCH(31,16)是GF(25)域上的线性分组码,其中二进制最高位m=5,总信息长n=2m-1=31,校验位数k=15,可纠错位数t=3,生成多项式g(x)为:    2.2 译码   译码过程比较复杂,包括1)求伴随多项式,2)系数计算电路,3)错误位置计算电路,其中最关键的是第三步,如图1。这里假设接收到的数据错了三位,第28、20、17位发生了0/1偏转,即    (1)求伴随多项式   根据生成多项式与ai的最小多项式之间的关系,用φi(x)去除接收多项式R(x)而得到伴随式分量,即,    (2)系数计算电路   令错误位置多项式    (3)错误位置计算   由上一步我们得出错误图样为:   因此原码多项式为:    3、仿真与下载   对于上述编译码算法,采用Verilog HDL可综合语言来描述,整个程序分为顶层模块和底层模块,顶层模块很简单,主要完成底层模块的调用和数据的复位,编码算法主要由底层模块完成。其中包括编译码算法主程序,拨码开关控制程序,液晶显示程序,系统函数PLL(锁相环)程序。系统利用两个拨码开关sw1,sw2来控制编码结果或译码结果的下载与显示。   图2和图3是编码和译码的仿真图,仿真工具用的是modelsim 6.0,编码结果CX=0x69d8ba0e,译码过程中,根据接收多项式RX=0x79caba0e以及最小多项式f1=0x25,f3=0x3d,f5=0x37,译码后得出错误多项式EX=0x10120000,最后RX与EX相与得出CX_dec=0x69d8ba0e,与原码一致。图4和图5是下载后显示到液晶屏的结果CX=0x69d8ba0e,EX=0x10120000,所用编译工具是quartusⅡ5.0,FPGA芯片采用的是Altera Cyclone EP1C6,用到1个PLL,引脚数15个,芯片资源耗用不超过5万门。    4、结束语   BcH(31,16)编译码算法,可以纠正3位错误,用VerilogHDL可综合语言描述以上的编码纠错过程,软件仿真和硬件下载都证明了算法的正确性和可行性。整套试验系统是模拟空间存储器受到高能粒子的干扰而发生错误,这对于我们AMS实验也是很关键的一步,现阶段我们用到的防护措施是三倍冗余编码纠错,但它占用的硬件资源比较多,而本文中所研究的循环BCH码能够节省资源,纠错效果也很明显,所以它将会在AMS项目中得到实际的应用。
相关资源
  • 所需E币: 3
    时间: 2022-12-2 09:20
    大小: 158.6MB
    本书依据数字集成电路系统工程开发的要求与特点,利用VerilogHDL对数字系统进行建模、设计与验证,对ASIC/FPGA系统芯片工程设计开发的关键技术与流程进行了深入讲解,内容包括:集成电路芯片系统的建模、电路结构权衡、流水线技术、多核微处理器、功能验证、时序分析、测试平台、故障模拟、可测性设计、逻辑综合、后综合验证等集成电路系统的前后端工程设计与实现中的关键技术及设计案例。书中以大量设计实例叙述了集成电路系统工程开发须遵循的原则、基本方法、实用技术、设计经验与技巧。
  • 所需E币: 1
    时间: 2022-9-29 21:01
    大小: 16.63MB
    上传者: 西风瘦马
    时序篇v2Verilog_HDL_那些事儿.pdf
  • 所需E币: 1
    时间: 2022-3-30 18:10
    大小: 47.62KB
    上传者: Argent
    华为fpga设计规范(Verilog_Hdl)
  • 所需E币: 1
    时间: 2022-3-30 18:08
    大小: 902.5KB
    上传者: Argent
    Verilog_HDL的基本语法
  • 所需E币: 0
    时间: 2021-6-10 23:44
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第11章VerilogHDL设计规范第12章 VerilogHDL基本组合电路建模
  • 所需E币: 0
    时间: 2021-6-10 22:52
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第1章ModelSim仿真工具与QuartusII开发工具的基本操作第2章VerilogHDL的简要介绍
  • 所需E币: 0
    时间: 2021-6-10 22:56
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第3章VerilogHDL的数据对象第4章VerilogHDL操作符
  • 所需E币: 0
    时间: 2021-6-10 23:12
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第5章VerilogHDL的并行语句第6章VerilogHDL的顺序语句
  • 所需E币: 0
    时间: 2021-6-10 23:20
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第7章VerilogHDL的自定义原语(UDP)第8章VerilogHDL的任务与函数
  • 所需E币: 0
    时间: 2021-6-10 23:29
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第9章VerilogHDL的其它语法知识第10章VerilogHDL的测试平台编写
  • 所需E币: 0
    时间: 2021-6-10 23:58
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第13章VerilogHDL的基本时序电路建模第14章信道加密与解密
  • 所需E币: 0
    时间: 2021-6-11 00:02
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第15章CRC编码第16章 数字钟设计
  • 所需E币: 0
    时间: 2021-6-11 00:14
    大小: 250MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第17章HDB3编码与译码第18章SPI数据通信第19章UART数据通信
  • 所需E币: 0
    时间: 2021-6-11 00:18
    大小: 76.74MB
    上传者: 雨柚
    《VerilogHDL设计与实战》配套视频教程和代码第20章交通灯控制器建模第21章基于Qsys的第一个NiosII系统
  • 所需E币: 1
    时间: 2021-4-27 13:28
    大小: 18.64MB
    上传者: symic
    Verilog_HDL教程
  • 所需E币: 0
    时间: 2020-11-12 23:53
    大小: 7.16MB
    上传者: czdian2005
    卷积神经网络加速器及其VerilogHDL代码自动生成设计
  • 所需E币: 0
    时间: 2020-9-6 22:52
    大小: 31.07MB
    上传者: czdian2005
    [从零开始学CPLD和Verilog.HDL编程技术].李建清.扫描
  • 所需E币: 1
    时间: 2020-5-25 22:56
    大小: 33.44MB
    上传者: Argent
    FPGA技术一直是比较火的领域,其开发的难度也让许多开发人员望而却步。了解FPGA的基础编程语言是非常有必要的。本人收集了一些关于CPLD和VerilogHDL编程技术资料,有需要的网友自行下载,希望能帮到您。
  • 所需E币: 3
    时间: 2019-12-25 20:40
    大小: 155.93KB
    上传者: 微风DS
    用VerilogHDL语言设计分频器和32位计数器……
  • 所需E币: 5
    时间: 2019-12-28 21:36
    大小: 220.93KB
    上传者: 16245458_qq.com
    介绍了电动自动车充电系统利用SPCE061A完成了系统控制、电池充电状态的动态显示、语音报警和提示等功能.阐述了采用CPLD器件实现键盘扫描电路和I/O口扩展的方法及仿真结果.实践表明,利用SPCE061A和CPLD器件来完成系统的设计,有着设计快速、调试方便、研制周期短、系统可靠性高等优点.基于SPCE061A和CPLD的电动自行车充电系统研制杨存祥,戈民,王发群,崔光照,宋镜波(郑州轻工业学院,河南郑州450002)摘要:介绍了电动自动车充电系统利用SPCE06lA完成了系统控制、电池充电状态的动态显示、语音报警和提示等功能。阐述了采用CPLD器件实现键盘扫描电路和I/O口扩展的方法及仿真结果。实践表明,利用SPCE061A和CPLD器件来完成系统的设计,有着设计快速、调试方便、研制周期短、系统可靠性高等优点。关键词:SPCE061ACPLDVerilogHDL充电系统电动车由于具有无废气污染、无噪音、轻便美观等行通讯,从而实现系统之间的联网,有利于系统功能的特点,受到众多使用者的青睐。但使用中也暴露出它的扩充。其系统组成框图如图1所示。局限性,那就是蓄电池的容量决定了它的使用范围,而且存在充电时间长的缺点。目前随着电动自行车的发展,急需解决的问题就是如何实现快速灵活的充电。随着电子技术、可编程逻辑器件(FPGA,CPLD)、EDA技术的飞速发展,基于硬件编程语言的自上而下(TOP―T0一DOwN)设计方法给数字系统的开发设计带来了革命性变革,仅使用单片机来实现系统控制的传统方法正在被越来越多的以MCU+FPGA,CPLD为核心的最新设计理念取代。采用这种混合设计方案的最大优点是两者的优势互补,电路结构简单,这给数字电路系统的设计带来极大的方便。利用CPLD控制的灵活性很容易对电……