电子发烧友网 > 嵌入式技术 > 编程语言及工具 > 正文

简述BSDL边界扫描语言,BSDL边界扫描语言的应用

2017年04月19日 14:49 次阅读

  BSDL边界扫描语言的边界扫描是一个完善的测试技术。 边界扫描在自当联合测试行动组(JTAG)90年代初发明了一种解决方案来测试使用了许多新的印刷电路,正在开发和制造的地方几乎没有或根本没有测试探针板的物理访问。 一旦边界扫描成立后,下一步是制定一个标准的芯片供应商的模型边界扫描设备,工具供应商开发自动化工具,以及为最终用户创建的边界扫描测试的建模语言。 因此,边界扫描描述语言(BSDL)已建立。

  BSDL是边界扫描设备的标准建模语言。 它的语法是一个VHDL的子集,它符合IEEE 1149.1-2001的规定。 它是由使用边界扫描测试开发人员,设备模拟器,半导体测试仪,电路板级测试,任何人利用边界扫描。 使用的的BSDL促进整个电子行业的一致性。 此外,它使任何边界扫描中的一个有用的,可以理解的,一致的方式和设备的功能规范。

  简述BSDL边界扫描语言,BSDL边界扫描语言的应用

  BSDL走出了边界扫描测试哲学的发展。 最初的IEEE 1149.1-1990标准的(见[符合IEEE 1149.1(JTAG接口)])标准描述的边界扫描并于1990年批准发布,并作为结果,使用边界扫描技术开始增长。 该标准的下一次修订在1993年发生。 在1994年进一步修订纳入了IEEE 1149.1-1994标准的BSDL。

  什么是的BSDL?

  边界扫描描述语言使用户能够提供的方式,边界扫描在任何特定的设备实施的说明。 由于每个芯片设计趋于应用边界扫描方式略有不同标准,这是一个需要理解的表达,具体和实用的方式测试。是书面的BSDL在VHDL的子集。 VHDL语言是常用的一种为FPGA和ASIC设计输入的数字电路电子设计自动化的语言,因此它是与边界因为许多芯片设计扫描是用这种语言进行工作相适应的。 但是的BSDL是一个“子集和标准做法”的VHDL,即VHDL语言的范围,从而对边界扫描应用受到限制。

  设计过程中的BSDL有两种语言的主要标准:

  BDSL使设备的使用边界扫描功能,准确和有用的说明。 BSDL文件是所使用的边界扫描工具,使设备的使用功能,使任何测试性分析测试程序生成,?故障诊断,以及使用。 的BSDL不是一个可以用硬件描述语言,相反,它是用来定义设备的数据传输的特点,即它是如何捕获,转变和更新扫描数据。 这才是用于定义测试能力。

  BSDL文件包括以下数据:

  实体声明 :本实体声明是一个VHDL构造,是用来识别文件名 的BSDL设备所描述的。

  泛型参数 :通用参数是指定哪个区段包描述。

  逻辑端口说明 :这说明列出了设备的所有连接。 它定义它的基本属性,即是否连接输入(以位;),输出(OUT位;),双向(inout的位;),或者如果它是不可用的边界扫描(连锁位;)。

  封装引脚映射 :包引脚映射被用于确定一个集成电路的内部连接范围内。 它详细介绍了如何在设备上的垫片裸片连接到外部引脚。

  USE语句 :这句话是用来调用BSDL文件VHDL语言包,该数据包含在所引用。

  扫描端口标识 :扫描端口标识识别引脚的JTAG执行工作/这是用于边界扫描。 这些措施包括:TDI的,商品说明条例,训练管理系统,TCK和TRST的(如果使用)。

  测试访问端口(TAP)说明 :本实体提供设备的其他信息的边界扫描和JTAG逻辑。 这些数据包括指令寄存器的长度,指令操作码,设备的IDCODE等。

  边界寄存器描述 :这说明提供器件结构的边界扫描单元上。 每个器件引脚上最多可以有三个边界扫描单元,每个单元格组成的一个寄存器锁存器和一个。

  BSDL怎样使用?

  当电路板的设计,边界扫描兼容设备被组织成“链”。 扫描链构成了板级和系统级的测试,可以检测和诊断引脚层次的结构性缺陷,如开路和短路的基础。 自动化工具用于生成测试方案或议会的程序。 最重要的投入,这个过程是边界扫描功能的设备的BSDL文件,以及网表描述板之间的互连的设备。 生成的测试程序,当应用到目标板,报告的结构测试失败,可以用来帮助板维修。

  有些工具能够使用边界扫描创造集群的组件包括非边界扫描兼容设备的测试模式,和其他工具可以生成测试模式,一个板上处理器可以运行,以便能够在高速功能测试。 这些测试应用程序独立或与其他测试技术,如在电路,结合测试(ICT)的,具有生产以最低的成本最优的测试覆盖的总体目标和最短的测试开发时间。

  边界扫描语言的BSDL,被广泛用于在IEEE 1149.1 / JTAG的社会使一致,准确和有用的资料供边界扫描功能的设备定义。 通过这种方式,该芯片可以被纳入一个设计,它的功能用在最有效的方式充分。

  边界扫描器件BSDL描述在测试中的应用

  1、引言

  “边界扫描”是一种可测性设计技术,即在电子系统的设计阶段就考虑其测试问题[1]。

  BSDL(boundary scan des cripTIon language) 语言硬件描述语言(VHDL)的一个子集,是对边界扫描器件的边界扫描特性的描述,主要用来沟通边界扫描器件厂商、用户与测试工具之间的联系,其应用包括:厂商将BSDL描述作为边界扫描器件的一部分提供给用户;BSDL描述为自动测试图形生成(ATPG)工具测试特定的电路板提供相关信息;在BSDL 的支持下生成由IEEE1149.1标准定义的测试逻辑 [2]。现在,BSDL语言已经正式成为IEEE1149.1标准文件的附件。BSDL本身不是一种通用的硬件描述语言,但它可与软件工具结合起来用于测试生成、结果分析和故障诊断。每一边界扫描器件都附有特定的BSDL描述文件,为了论述的方便,本文将以Altera公司的CPLD器件 EPM7128SL84 芯片为例说明BSDL描述在测试中的应用。

  2、EPM7128SL84芯片的BSDL描述

  该器件采用了先进的CMOS EEPROM制造工艺,共有84个引脚,其中包括四个JTAG测试引脚 TDI、TMS、TCK和TDO,通过标准JTAG测试接口它还可以支持在系统可编程(ISP)。下面首先讨论EPM7128SL84的BSDL描述中与应用相关的各基本元素。

  2.1 TAP描述

  TAP描述说明与TAP控制器相关的特性。TAP 控制器包括4个或5个控制信号,一个用户定义的指令集(在IEEE1149.1标准规定范围内)和一些可选择的数据寄存器。EPM7128SL84的 TAP描述有:

  (1)attribute INSTRUCTION_LENGTH of EPM7128SL84:enTIty is 10;

  指令长度(INSTRUCTION_LENGTH)属性定义了所有操作码的长度必须为10位。

  (2)attribute INSTRUCTION_OPCODE of EPM7128SL84:entity is

  “BYPASS (1111111111), ”&

  “EXTEST (0000000000),”&

  “SAMPLE (0001010101),”&

  “IDCODE (0001011001)”;

  指令操作码(INSTRUCTION_OPCODE)属性指出器件所支持的指令的二进制代码,如器件标志代码指令IDCODE的位图形为“0001011001” ,所有字串中最右边的位最靠近TDO。根据1149.1标准,旁路、外部测试和采样指令是强制性的,且旁路指令BYPASS为全“1”串,外部测试 EXTEST指令为全“0”串。

  简述BSDL边界扫描语言,BSDL边界扫描语言的应用

  (3)attribute INSTRUCTION_CAPTURE of EPM7128SL84:entity is “0101010101”;

  指令捕获(INSTRUCTION_CAPTURE)属性说明,当 TAP控制器处于捕获指令寄存(Capture-IR)状态时,位图形“0101010101”被装入指令寄存器的移位寄存器部分,当送入新指令时,此位图形被移出,IEEE 1149.1标准规定其最低两位为“01”,其余位由厂商自行定义,这样可以保证通过Capture信号可以检测到扫描链上固定为“0”和固定为“1”的故障。

  (4)attribute IDCODE_REGISTER of EPM7128SL84:entity is

  “0000”&“0111000100101000”&“00001101110”&“1”;

  标志寄存器属性描述芯片内置在标志寄存器里的芯片ID码。IEEE 1149.1标准规定芯片ID码为32位,最右边的一位是最靠近TDO的。如图1所示,标志寄存器的LSB是IEEE 1149.1标准强制为“1”的最低位,表示器件标志寄存器的存在;第1位至11 位是厂商代码号“01110110000”,这个代码表示Altera公司;第12位至27位是芯片型号 “0001010010001110”,即十六进制“7128”(从右至左);第28位至31位是芯片版本号“0000” [2]。

  2.2 边界扫描寄存器描述

  这是BSDL整体结构的最重要部分,它描述了边界扫描单元(BSC)的长度及每个BSC的单元号与属性。

  (1)attribute BOUNDARY_LENGTH of EPM7128SL84:entity is 288;

  边界扫描长度属性表示EPM7128SL84 芯片共有 288个边界扫描单元。

  (2)attribute BOUNDARY_REGISTER of EPM7128SL84:entity is

  --num(cell, port, function, safe [ccell, disval, rstl])

  “0 (BC_4, IN84, input, X),” &

  “1 (BC_4, *, internal, X),” &

  “2 (BC_4, *, internal, X),” &

  ……

  “144 (BC_4, IO41, input, X),” &

  “145 (BC_1, *, control, 0),” &

  “146 (BC_1, IO41, output3, X, 145, 0, Z),” &

  ……

  “279 (BC_4, IO4, input, X),” &

  “280 (BC_1, *, control, 0),” &

  “281 (BC_1, IO4, output3, X, 280, 0, Z),” &

  ……

  “285 (BC_4, IN1, input, X),” &

  “286 (BC_4, *, internal, X),” &

  “287 (BC_4, *, internal, X)”;

  对边界扫描寄存器单元(BSC)属性的描述由单元号与4个或7个圆括号内的数据子段组成,这些BSC的排列顺序可以是任意的,但每个单元都必须被定义。单元号从0到287 (BOUNDARY_LENGTH-1)进行编号,0单元是最靠近TDO的单元。括号中数据子段的名称为: cell, port, function, safe [ccell, disval, rstl],后三个方括号内的可选子段只有在function子段的值为 out put3或bidir时才被定义。它们的含义如下:

  · 单元子段:确定器件所使用的边界扫描单元。EPM7128SL84芯片采用的BSC类型为标准单元 BC_1与BC_4,其属性已经在VHDL组件STD_1149_1_1994中加以定义;

  · 通道子段:说明与对应BSC相连的系统管脚。其名称与BSDL“logical port des cription”属性中描述的管脚逻辑名称相一致。“*”表示此BSC 为输出控制单元或内部单元;

  ·功能子段:表示该BSC的主要功能。EPM7128SL84芯片BSC所涉及的功能有“input”、 “control”,“output3”和“internal”4种;

  input:表示一个简单的实现输入管脚接收的 BSC;

  control:表示一个进行输出使能控制,或输出驱动与双向管脚的单元方向控制的BSC;

  output3:表示一个为三态输出提供数据的 BSC;

  internal:表示一个用于捕获系统内部逻辑的 BSC,它不与任何系统管脚相连;

  ·安全子段:当ATPG软件提供一个额外随机值时,safe子段定义了一个要装入捕获寄存器CAP 与更新寄存器UPD(如果存在的话)的值,以防止系统逻辑因为过激励信号等原因造成的错误连接。这个值可以是“0”,“1”或“X”。“X”表示 “0”,“1”均可;

  ·控制单元子段:说明对功能为output3或bidir的BSC进行输出使能控制的控制单元号;

  · 无效值子段:为禁用对应的系统管脚,要给由ccell子段指定的控制单元赋的值;

  · 无效状态子段:给出被禁用驱动器的状态。这个状态可以是高阻态(Z)、弱“1”态(weak1)或弱“0”态(weak0)[2]。

  EPM7128SL84 芯片的管脚与边界扫描单元如图2所示,与输入输出管脚IO41相对应的三个BSC单元号分别为144,145和146。

  3、BSDL描述语言的实际应用

  3.1 TAP完整性测试

  指令捕获(INSTRUCTION_CAPTURE)属性提供了测试TAP完整性的一条途径。TAP完整性测试可以检测时钟TCK和模式选择TMS的输入端连接是否正确,所提供的有关信号是否正常;数据输入TDI 和数据输出TDO端的连接是否正确,且输入和输出的功能是否正常;内部的指令寄存器工作是否正常;内部的边界扫描寄存器工作是否正常。TAP完整性测试是进行边界扫描其他任何测试之前建议首先进行的测试操作,以确保边界扫描链能正常工作。

  TAP完整性测试的过程如图3所示。在TAP的 Shift-IR状态,指令捕获位图形已加载至指令寄存器的移位寄存器部分,直接从TDO移出数据并与各芯片的Capture位图形比较,若数据一致则 TAP完整性测试通过。

  3.2 芯片ID码的检测

  芯片ID码是识别芯片的内建器件标识码,通过检测芯片ID码可以识别该芯片,判断芯片装配正确与否,并可进一步判断芯片的型号、生产厂家及版本号与其标识是否相符,辨别芯片的真伪。当TAP进入Test-Logic-Reset状态时,若标志寄存器存在,则被强制接入TDI与TDO之间,寄存器LSB的值为“1”,否则,旁路寄存器被接入TDI与TDO之间,寄存器的值为“0”。所以,在检测芯片标志寄存器的值时,可以由复位状态直接进入移位数据状态,输出TDO的值,并判断其第一位是否为“1”,若是,则此芯片有标准寄存器存在,可继续移出其他31位,并进行判断与显示。检测流程如图4所示。我们在对芯片EPM7128SL84进行ID标识码检测时,用逻辑分析仪采集到的TDO端的输出波形如图5所示,与BSDL描述中的ID码一致,说明器件正确。

  3.3 边界扫描互连测试

  我们在开发边界扫描测试软件过程中,设计制作了基于边界扫描机制的试验电路板当作诊断实验对象。其中两块 EPM7128SL84芯片间的有16个互连网络,分别是两芯片的4~12管脚之间、33~41管脚之间的互连(除去7脚地线,38脚电源线)。在进行互连测试时,首先要构造一个16×16的测试矩阵,然后将此矩阵的16个列向量分别加载到芯片1的IO4~ IO12,IO33~IO41管脚(除去7脚和38脚),然后执行外部测试指令。由芯片2捕获对应管脚上的信号,形成响应向量,全部16个列向量分别加载捕获完成后,再对响应矩阵进行故障诊断 [3],如图6所示。在此测试过程中,对芯片1的IO管脚加载的向量数据必须定位到每个管脚对应的三态输出单元,即芯片1的 281,278,275,269,263,260, 257,251,179,173,167,164,161,155,149,146单元;而芯片2所捕获的对应管脚上的信号,在执行采样指令之后,都被置入每个管脚对应的输入单元,即芯片2的279,276,273,267, 261,258,255,249,177,171,165,162,159,153,147,144单元。这样,从TDO输出的对应单元的数据就组成了响应矩阵,对响应矩阵按照一定的算法进行分析,便可检测出呆滞、短路、开路与桥接故障。

  4、结束语

  以上所述测试流程均用C++ Builder编程实现,能对基于边界扫描机制的试验电路板进行准确、可靠的测试。试验证明,在边界扫描各项测试中,对BSDL描述信息进行有效的编译提取,对测试的成功实现至关重要。但器件的BSDL描述必须严谨、确切,所以,在下一步的软件完善中,将加入BSDL 文件的数据完整性检查,以防止错误数据损坏被测对象。

技术专区

关注电子发烧友微信

有趣有料的资讯及技术干货

下载发烧友APP

打造属于您的人脉电子圈

关注发烧友课堂

锁定最新课程活动及技术直播
收藏 人收藏
分享:

评论

相关推荐

一文看懂嵌入式开发与c++开发有什么不同

嵌入式开发就是指在嵌入式操作系统下进行开发,一般常用的系统有WinCE,ucos,vxworks,l...

发表于 2018-04-04 09:12 53次阅读
一文看懂嵌入式开发与c++开发有什么不同

解决不重复序列的全排列问题的两个方法:递归和字典...

这篇文章主要介绍了解决不重复序列的全排列问题的两个方法:递归和字典序法。

发表于 2018-03-29 11:19 74次阅读
解决不重复序列的全排列问题的两个方法:递归和字典...

小白如何用C++制作网游DNF技能特效

十年前,那时候的网吧还不叫网咖,那时候没有王者荣耀也没有英雄联盟,那时候梦幻西游刚推出珍宝阁系统,那...

发表于 2018-03-27 15:30 324次阅读
小白如何用C++制作网游DNF技能特效

vhdl和verilog的区别_vhdl和ver...

VHDL全名Very-High-Speed Integrated Circuit Hardware ...

发表于 2018-03-23 16:43 106次阅读
vhdl和verilog的区别_vhdl和ver...

如何利用Electron实现一个视频会议应用?

Electron 兼容 Mac、Windows 和 Linux。利用它构建的应用可在这三个操作系统上...

发表于 2018-03-20 15:35 270次阅读
如何利用Electron实现一个视频会议应用?

C++多继承的二义性问题

在多重继承中,需要解决的主要问题是标识符不唯一,即二义性问题。

发表于 2018-03-14 15:26 159次阅读
C++多继承的二义性问题

基于C++类的static详细介绍

对于某些特定类类型的全体对象而言,访问一个全局对象有时是有必要的。在程序运行的任意点可能需要统计已创...

发表于 2018-02-23 08:30 379次阅读
基于C++类的static详细介绍

基于FPGA/CPLD的嵌入式VGA显示系统设计

VGA(Video GraphICs Array)即视频图形阵列,是IBM在1987年随PS/2机(...

发表于 2018-02-08 06:44 270次阅读
基于FPGA/CPLD的嵌入式VGA显示系统设计

用VHDL语言设计数据传输系统中的HDB3编码器

将基于VHDL的HDB3编码用在光纤通信系统中作为误码仪测试误码的HDB3转换器,能满足实际测试的需...

发表于 2018-02-08 04:38 2082次阅读
用VHDL语言设计数据传输系统中的HDB3编码器

了解一些基础的、用来处理数据的集成电路芯片

可是,这么多芯片,按照功能分类,有专门用于计算的、有专门用于控制的、有专门用于存储的……按照集成电路...

发表于 2018-02-07 12:52 1591次阅读
了解一些基础的、用来处理数据的集成电路芯片

介绍用于 AI 开发的高质量库,并谈谈它们的优缺...

在本文中,我们将介绍那些用于 AI 开发的高质量库,并谈谈它们的优缺点,以及特性。

发表于 2018-02-05 14:47 1048次阅读
介绍用于 AI 开发的高质量库,并谈谈它们的优缺...

为什么设计复杂系统如此之难?浅谈利用仿真攻克汽车...

当今汽车行业所面临的挑战与电信行业十多年前所经历的类似。混合动力电动汽车和燃料电池汽车等新技术也促进...

发表于 2018-02-02 05:23 184次阅读
为什么设计复杂系统如此之难?浅谈利用仿真攻克汽车...

!!求助!!!VHDL的LCD12864数字动态显示竟然错误!

发表于 2018-01-29 18:30 356次阅读
!!求助!!!VHDL的LCD12864数字动态显示竟然错误!

VHDL语言简单的LCD动态数字显示竟然错误!!!求助!!!

发表于 2018-01-29 17:28 510次阅读
VHDL语言简单的LCD动态数字显示竟然错误!!!求助!!!

vhdl按键消抖程序(七种方式实现按键消抖)

按键消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开...

发表于 2018-01-29 16:04 257次阅读
vhdl按键消抖程序(七种方式实现按键消抖)

7段数码管显示的VHDL设计(两款设计方案)

数码管可分为七段数码管和八段数码管,区别在于八段数码管比七段数码管多一个用于显示小数点的发光二极管单...

发表于 2018-01-29 15:48 183次阅读
7段数码管显示的VHDL设计(两款设计方案)

VHDL语言设计四人抢答器(三种设计方案)

本文为大家带来三种四人抢答器的VHDL语言设计方案介绍。

发表于 2018-01-29 15:25 203次阅读
VHDL语言设计四人抢答器(三种设计方案)

基于vhdl蜂鸣器程序设计详解

蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“F...

发表于 2018-01-29 15:08 137次阅读
基于vhdl蜂鸣器程序设计详解

vhdl20秒倒计时源代码介绍

VHDL是一种用形式化方法来描述数字电路和设计数字逻辑系统的语言。设计者可以利用这种语言来描述自己的...

发表于 2018-01-29 14:43 76次阅读
vhdl20秒倒计时源代码介绍

基于VHDL的电子计时器的设计方法详解

本文为大家介绍电子计时器的VHDL设计方法。

发表于 2018-01-29 14:19 355次阅读
基于VHDL的电子计时器的设计方法详解

vhdl语言编写 9秒倒计时器

与其他的硬件描述语言相比,VHDL具有更强的行为描述能力,从而决定了他成为系统设计领域最佳的硬件描述...

发表于 2018-01-29 13:50 94次阅读
vhdl语言编写 9秒倒计时器

vhdl数码管中的倒计时程序介绍

VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语...

发表于 2018-01-29 13:42 192次阅读
vhdl数码管中的倒计时程序介绍

vhdl数码管动态扫描程序设计(四种设计方案)

本文为大家带来四种不同的vhdl数码管动态扫描程序设计。

发表于 2018-01-29 11:54 171次阅读
vhdl数码管动态扫描程序设计(四种设计方案)

解析C语言与ARM汇编与的相互调用以及与 C++...

全局变量只能通过地址间接调用,为了访问C++语言中全局变量,首先要通过extern伪指令引入全局变量...

发表于 2018-01-23 10:29 874次阅读
解析C语言与ARM汇编与的相互调用以及与 C++...

Coding Dojo发布了 2018 最具就业...

2018 年即将到来,Coding Dojo(编码道场)发布了 2018 最具就业前景的 7 大编程...

发表于 2018-01-18 14:37 1050次阅读
Coding Dojo发布了 2018 最具就业...

VHDL工具实现SDRAM控制器的要点分享

在高速实时或者非实时信号处理系统当中,使用大容量存储器实现数据缓存是一个必不可少的环节,也是系统实现...

发表于 2018-01-18 07:21 1610次阅读
VHDL工具实现SDRAM控制器的要点分享

vhdl按键控制数码管显示

本文主要介绍了vhdl按键控制数码管显示。利用VHDL来实现程序控制有这些优点:VHDL支持自顶至下...

发表于 2018-01-16 16:55 346次阅读
vhdl按键控制数码管显示

开关控制数码管的VHDL程序的设计与实现

本文主要介绍了开关控制数码管的VHDL程序的设计与实现。VHDL是一种应用广泛的硬件描述语言,设计者...

发表于 2018-01-15 16:24 285次阅读
开关控制数码管的VHDL程序的设计与实现

从C++的“深度”与“广度”来探究其复杂程度

C++是一种高深莫测的语言,这是众所周知的。它的复杂度,我们可想而知。下面让我们一同与作者,走进C+...

发表于 2018-01-15 15:48 337次阅读
从C++的“深度”与“广度”来探究其复杂程度

安装QtCreator去完成C++第一个程序

QtCreator在三大平台上都是一样的界面。但QtCreator在中文Windows下有个问题,控...

发表于 2018-01-13 11:07 1172次阅读
安装QtCreator去完成C++第一个程序

介绍使用Vivado HLS时的几个误区

在实际工程中,如何利用好这一工具仍值得考究。本文将介绍使用Vivado HLS时的几个误区。

发表于 2018-01-10 14:33 1287次阅读
介绍使用Vivado HLS时的几个误区

基于多线程环境下值的递增操作--原子操作

因此在多线程环境中对一个变量进行读写时,我们需要有一种方法能够保证对一个值的递增操作是原子操作——即...

发表于 2018-01-10 11:16 356次阅读
基于多线程环境下值的递增操作--原子操作

详细剖析C++的的3种容器

容器是随着面向对象语言的诞生而提出的,容器类在面向对象语言中特别重要,甚至它被认为是早期面向对象语言...

发表于 2018-01-09 12:57 612次阅读
详细剖析C++的的3种容器

探讨C++多态性技术的局限性及解决的办法

多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为。

发表于 2018-01-08 11:06 644次阅读
探讨C++多态性技术的局限性及解决的办法

IC前端设计(逻辑设计)和后端设计(物理设计)的...

IC前端设计(逻辑设计)和后端设计(物理设计)的区分:以设计是否与工艺有关来区分二者;从设计程度上来...

发表于 2017-12-25 16:08 1923次阅读
IC前端设计(逻辑设计)和后端设计(物理设计)的...

详述不用c++写网页的理由

C++在web开发中地位如何,进来一探究竟吧。

发表于 2017-12-22 10:07 934次阅读
详述不用c++写网页的理由

Verilog/VHDL语法学习是掌握基本代码设...

无论是VHDL还是Verilog,建议初学者先掌握其中一门。

发表于 2017-12-19 13:09 1350次阅读
Verilog/VHDL语法学习是掌握基本代码设...

解析c++语言的Qt内省机制

所谓 内省 是指面向对象语言的一种在运行期间查询对象信息的能力, 比如如果该语具有运行期间检查对象型...

发表于 2017-12-15 10:22 79次阅读
解析c++语言的Qt内省机制

c++和c语言之间有什么区别

C++是在C语言的基础上发展来的,但是并不是C++比C语言高级,两者的编程思想不一样,应用的领域也不...

发表于 2017-12-11 10:17 464次阅读
c++和c语言之间有什么区别

C语言的重大更新 C++17标准发布

std::string_view 和std::optional将会以函数参数和返回类型的形式广泛使用...

发表于 2017-12-08 14:46 1154次阅读
C语言的重大更新 C++17标准发布

基于单片机的表决式单片机多机冗余设计及VHDL语...

本文提出一种表决式单片机多机冗余设计方案。该方案不同于中央系统的多机冗余设计。大规模系统冗余大多采用...

发表于 2017-12-02 09:27 172次阅读
基于单片机的表决式单片机多机冗余设计及VHDL语...

testbench怎么写_testbench经典...

 testbench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,...

发表于 2017-12-01 17:22 941次阅读
testbench怎么写_testbench经典...

C++中指针和引用的区别

指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用跟原来的变量实质...

发表于 2017-11-29 17:24 178次阅读
C++中指针和引用的区别

关于库函数的使用和算数运算的问题

发表于 2017-11-26 20:03 273次阅读
关于库函数的使用和算数运算的问题

一张图总结Google C++编程规范

Google C Style Guide是一份不错的C编码指南,我制作了一张比较全面的说明图,可以在...

发表于 2017-11-26 15:25 77次阅读
一张图总结Google C++编程规范

用VHDL语言编写CPLD程序,出现下述错误,请高手指导一下,如何修改,不胜感激……

发表于 2017-11-26 10:08 391次阅读
用VHDL语言编写CPLD程序,出现下述错误,请高手指导一下,如何修改,不胜感激……

利用VHDL硬件描述语言和FPGA技术完成驱动时...

CCD驱动 电路的实现是CCD应用技术的关键问题。以往大多是采用普通数字芯片实现驱动电路,CCD外围...

发表于 2017-11-24 18:55 120次阅读
利用VHDL硬件描述语言和FPGA技术完成驱动时...

基于VHDL语言并选用FPGA设计了一个卷积码编...

数字信号在有噪声的信道中传输时,由于受到干扰的影响,会发生误码。在设计数字通信系统时,首先应合理设计...

发表于 2017-11-24 15:44 137次阅读
基于VHDL语言并选用FPGA设计了一个卷积码编...

基于FPGA的SPI串行方式自动发送技术设计

SPI接口应用十分广泛,在很多情况下,人们会用软件模拟的方法来产生SPI时序或是采用带SPI功能模块...

发表于 2017-11-24 15:32 302次阅读
基于FPGA的SPI串行方式自动发送技术设计

使用VHDL语言设计的基于FPGA的实时NPR系...

在进行非真实感渲染(NPR)处理时需要大量的计算,这对高帧率、高分辨率的视频做实时的NPR渲染是一...

发表于 2017-11-17 06:45 135次阅读
使用VHDL语言设计的基于FPGA的实时NPR系...

vhdl语言和c语言区别大吗?差异性体现在哪儿

相信对vhdl语言和c语言区别也有了一定的了解,并且它们两者之间的区别还是挺大的,下面我们详细细数一...

发表于 2017-11-09 16:06 573次阅读
vhdl语言和c语言区别大吗?差异性体现在哪儿

基于可编程逻辑器件ispLSI1032的定向型计...

TDN-CM++实验装置是计算机组成原理及系统结构课程的专用实验箱,但存在硬件结构基本固定,这里采用...

发表于 2017-09-29 19:38 351次阅读
基于可编程逻辑器件ispLSI1032的定向型计...

关于VHDL的testbench仿真问题

发表于 2017-09-29 17:20 488次阅读
关于VHDL的testbench仿真问题

用vhdl语言时寄存器何时产生何时写入数据

发表于 2017-08-13 10:00 572次阅读
用vhdl语言时寄存器何时产生何时写入数据

求大神帮忙:仿真时,设计的状态机没有输出结果,一直为低,代码没错误(VHDL语言)

发表于 2017-07-26 18:43 538次阅读
求大神帮忙:仿真时,设计的状态机没有输出结果,一直为低,代码没错误(VHDL语言)

用Quartus II 13.0 仿真,功能仿真能正常出来,但是到时序仿真就总是报错是什么原因?

发表于 2017-06-09 21:48 836次阅读
用Quartus II 13.0 仿真,功能仿真能正常出来,但是到时序仿真就总是报错是什么原因?

求助,quartus的tb调用modelsim,输入的波形正常,但是输出波形怎么都不变?

发表于 2017-05-21 11:43 945次阅读
求助,quartus的tb调用modelsim,输入的波形正常,但是输出波形怎么都不变?

VHDL FOR循环中嵌套for循环吗 可不可以有3个嵌套

发表于 2017-05-15 19:43 991次阅读
VHDL   FOR循环中嵌套for循环吗   可不可以有3个嵌套

初学者学习Verilog HDL的步骤和经验技巧

Verilog HDL是一种硬件描述语言(HDL:Hardware Discription Lang...

发表于 2017-02-11 14:00 5806次阅读
初学者学习Verilog HDL的步骤和经验技巧

我对VHDL的延时理解

VHDL中的delta延时大于零,但小于任何指定的延时(指定的延时包括after指定的惯性延时和tr...

发表于 2017-02-11 13:38 863次阅读
我对VHDL的延时理解

浅谈VHDL/Verilog的可综合性以及对初学...

最近在写代码的时候总是在思考,我写的这个能被综合吗?总是不放心,或是写完了综合的时候出问题,被搞的非...

发表于 2017-02-11 11:11 1360次阅读
浅谈VHDL/Verilog的可综合性以及对初学...

ZedBoard学习手记(十) 图形界面控制Ze...

今天所讨论的内容就是通过QT开发的GUI软件来控制ZedBoard板上的硬件外设,完整的信号链如下:...

发表于 2017-02-11 01:28 396次阅读
ZedBoard学习手记(十) 图形界面控制Ze...

C++中常用的复合数据类型在Vivado Hls...

Vivado hls既支持结构体,也支持枚举类型,这两种类型都可以作为接口出现在顶层函数。如果结构体...

发表于 2017-02-07 18:05 420次阅读
C++中常用的复合数据类型在Vivado Hls...

ARM汇编 C语言 C++ 相互调用

如果对于C++库中含有类的,可以在二次接口函数中生成临时对象来调用对应的功能函数,当然要根据实际情况...

发表于 2017-01-19 14:06 465次阅读
ARM汇编 C语言 C++ 相互调用

2017年热门编程语言排行榜,你的语言上榜没?

我们访问了几个可信度较高的语言索引网站,同时还深入到 Indeed 和 Glassdoor 等全球门...

发表于 2016-12-08 09:38 21786次阅读
2017年热门编程语言排行榜,你的语言上榜没?

EDA技术在数字电路设计方案中的影响

随着科学研究与技术开发市场化,采用传统电子设计手段在较短时间内完成复杂电子系统设计,已经越来越难完成...

发表于 2016-05-10 15:45 1137次阅读
EDA技术在数字电路设计方案中的影响

基于FPGA的数字密码锁

本文介绍了一种以FPGA 为基础的数字密码锁。采用自顶向下的数字系统设计方法, 将数字密码锁系统分解...

发表于 2015-08-04 16:47 1076次阅读
基于FPGA的数字密码锁

FPGA工程师手记:FPGA系统设计黄金法则

当前业内领先的FPGA公司里工作的应用工程师每天都会面对很多设计问题,而且他们已经提出了一些将令你的...

发表于 2013-07-17 14:50 1506次阅读
FPGA工程师手记:FPGA系统设计黄金法则

单总线温度传感器的EDA控制方法

基于FPGA在Quartus II软件中使用VHDL语言,对单总线温度传感器进行读写控制及温度显示功...

发表于 2013-05-27 14:35 586次阅读
单总线温度传感器的EDA控制方法

基于CPLD和VHDL的智能拨号报警系统的设计与...

本文采用CPLD控制核心实现了智能报警系统。由于利用EDA技术进行系统设计,外围器件少、体积小、功耗...

发表于 2013-02-20 14:34 2186次阅读
基于CPLD和VHDL的智能拨号报警系统的设计与...

基于FPGA和VHDL的微型打印机控制器的设计和...

硬件电路以FPGA为中心,实现存储器的接口电路设计,以及对打印机的并口接口电路设计。设计的微型打印机...

发表于 2013-01-22 13:42 824次阅读
基于FPGA和VHDL的微型打印机控制器的设计和...

基于Altera公司EPM240芯片的智能拨号报...

本文采用CPLD控制核心实现了智能报警系统。由于利用EDA技术进行系统设计,外围器件少、体积小、功耗...

发表于 2013-01-17 21:35 1250次阅读
基于Altera公司EPM240芯片的智能拨号报...

基于EDA技术和VHDL语言的新型智能电子密码锁...

本文介绍一种利用 EDA 技术 和 VHDL 语言 ,在 MAX+PLUSⅡ环境下,设计了一种新型的...

发表于 2013-01-10 14:40 1167次阅读
基于EDA技术和VHDL语言的新型智能电子密码锁...

EDA技术基础知识及数字系统设计实例

本文着重介绍EDA技术的发展、EDA技术的基本特征及使用EDA技术的数字系统设计实例分析

发表于 2013-01-08 10:36 1031次阅读
EDA技术基础知识及数字系统设计实例

基于Xilinx FPGA和VHDL的数字秒表设...

文中着重介绍了一种基于FPGA利用VHDL硬件描述语言的数字秒表设计方法,在设计过程中使用基于VHD...

发表于 2012-12-25 11:19 2781次阅读
基于Xilinx FPGA和VHDL的数字秒表设...

基于MC8051 IP核和FPGA的频率计设计

文中在FPGA芯片中嵌入MC8051 IP Core,作为控制核心,利用Verilog HDL语言进...

发表于 2012-12-24 09:51 713次阅读
基于MC8051 IP核和FPGA的频率计设计

基于VHDL的专用串行通信芯片

在通信系统中,通信芯片是整个硬件平台的基础,它不仅完成OSI物理层中的数据发送和接收,还能根据传输方...

发表于 2012-12-05 13:34 521次阅读
基于VHDL的专用串行通信芯片

基于FPGA的等精度频率计的设计与实现

本文介绍了一种利用FPGA实现DC~100 MHz的自动切换量程数字等精度频率计的实现方法,并给出实...

发表于 2012-12-03 11:17 1014次阅读
基于FPGA的等精度频率计的设计与实现

FPGA核心知识详解(2):FPGA入门书籍推荐...

电子发烧友网核心提示 :对于FPGA初学者而言,正确的入门参考书籍对其至关重要。应广大FPGA初学者...

发表于 2012-11-29 13:34 40151次阅读
FPGA核心知识详解(2):FPGA入门书籍推荐...

基于FPGA和VHDL的简易微机的结构分析与应用

随着可编程逻辑器件的广泛应用,为数字系统的设计带来了极大的灵活性,用户可以利用FPGA(现场可编程门...

发表于 2012-11-22 11:03 935次阅读
基于FPGA和VHDL的简易微机的结构分析与应用

基于Altera CPLD的水轮发电机组转速监控...

电子发烧友网核心提示 :本文给出了采用CPLD的水轮发电机组转速监控系统的设计原理和VHDL的语言描...

发表于 2012-11-16 14:24 586次阅读
基于Altera CPLD的水轮发电机组转速监控...

基于VHDL和CPLD的智能数字电压表设计

本系统是用CPLD实现的智能数字电压表。随着EDA技术的广泛应用,CPLD已成为现代数字系统设计的主...

发表于 2012-11-09 16:24 1436次阅读
基于VHDL和CPLD的智能数字电压表设计

基于VHDL的SDRAM控制器的实现

在高速实时或者非实时信号处理系统当中,使用大容量存储器实现数据缓存是一个必不可少的环节,也是系统实现...

发表于 2012-10-30 17:04 604次阅读
基于VHDL的SDRAM控制器的实现

基于Multisim的VHDL建模与仿真

本文主要分析了QuartusⅡ的特点和虚拟仿真软件的优越性,以交通灯控制系统为例,介绍了在虚拟仿真软...

发表于 2012-10-25 14:58 2882次阅读
基于Multisim的VHDL建模与仿真

硬件描述语言HDL的典型代表

电子发烧友网核心提示 :目前,硬件描述语言(HDL)可谓是百花齐放,有VHDL、Superlog、V...

发表于 2012-10-15 10:51 1054次阅读
硬件描述语言HDL的典型代表

硬件描述语言(HDL)概述

电子发烧友网核心提示 :硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言。 利用这种语言...

发表于 2012-10-15 10:36 529次阅读
硬件描述语言(HDL)概述

揭开FPGA嵌入式处理器软件开发的神秘面纱

电子发烧友网核心提示 :本文将为软件工程师揭开FPGA 的神秘面纱,主要介绍了如何为 FPGA嵌入式...

发表于 2012-10-15 09:06 2813次阅读
揭开FPGA嵌入式处理器软件开发的神秘面纱

简析PLD和单片机构成的双向通信控制器

在传统的控制系统中,人们常常采用单片机作为控制核心。但这种方法硬件连线复杂,可靠性差,且单片机的端口...

发表于 2012-09-28 17:12 529次阅读
简析PLD和单片机构成的双向通信控制器

Altium在Altium Designer软件...

Altium和Aldec签署的OEM协议中决定将Aldec的FPGA仿真功能添加到Altium De...

发表于 2012-09-20 09:39 748次阅读
Altium在Altium Designer软件...

FPGA牛人给FPGA初学者入门留下的几点心得体...

电子发烧友网讯: 最近有很多FPGA初学者在论坛里咨询,FPGA初学者应该从哪里开始学起呢?为此,我...

发表于 2012-09-13 15:46 3506次阅读
FPGA牛人给FPGA初学者入门留下的几点心得体...

NI Single-Board RIO:新型嵌...

本文核心提示: 1)NI Single-Board RIO通用逆变器控制器 (General Pur...

发表于 2012-08-28 09:24 653次阅读
 NI Single-Board RIO:新型嵌...

模拟对数字:架起ADC到处理器的桥梁

数字设计师们也毫不留情地批评模拟集成电路设计师。这两个阵营泾渭分明,除非参与者们打破界限,一起进入混...

发表于 2012-07-06 14:54 283次阅读
模拟对数字:架起ADC到处理器的桥梁

专访NI行销经理郭皇志:FPGA提升PXI仪器客...

电子发烧友网讯 :现场可编程门阵列(FPGA)元件将大幅提升PXI模组仪器客制化程度。为强化PXI模...

发表于 2012-06-18 11:32 341次阅读
专访NI行销经理郭皇志:FPGA提升PXI仪器客...

通过实例,走近PLD

电子发烧友网: PLD设计,相信对很多人而言都不陌生。当然也有对它不是那么了解的人,那么即使你没有深...

发表于 2012-06-08 13:35 771次阅读
通过实例,走近PLD

基于VHDL的交通灯控制器设计

 应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率。...

发表于 2012-05-22 16:33 1530次阅读
基于VHDL的交通灯控制器设计

基于VHDL语言对高速A/D器件TLC5510控...

--TLC5510 VHDL 控制程序 --文件名:TLC5510.vhd --功能:基于VHDL语...

发表于 2012-05-22 10:02 659次阅读
基于VHDL语言对高速A/D器件TLC5510控...

用VHDL/VerilogHD语言开发PLD/F...

用 VHDL /VerilogHD语言开发PLD/ FPGA 的完整流程为: 1.文本编辑:用任何文...

发表于 2012-05-21 12:58 505次阅读
用VHDL/VerilogHD语言开发PLD/F...

用于VHDL的DRAM控制器设计

80C186XL16位嵌入式微处理器是Intel公司在嵌入式微处理器市场的上导产品之一,已广泛应用于...

发表于 2012-05-21 11:21 479次阅读
用于VHDL的DRAM控制器设计

PLD设计速成(6)-编译和布线

我们先要指定所用芯片的型号, 菜单:Assign-Device 如下图 将弹出一窗口 (注意把sho...

发表于 2012-05-18 17:08 1130次阅读
PLD设计速成(6)-编译和布线

PLD设计速成(8)-下载验证

( 注意:本次实验采用的JX002B实验板已经将下载电缆的电路都做在了实验板上,所以只需要一根并口延...

发表于 2012-05-18 16:56 623次阅读
PLD设计速成(8)-下载验证