仿真器并非万能之神

发布者:dong125612最新更新时间:2009-12-18 关键字:仿真器  合成 手机看文章 扫描二维码
随时随地手机看文章


      现在已经到了关键时刻。我们已经确定了电路板的设计原型,现正送回实验室进行测试。由于后期规格更改,以及在布线后信号完整性分析过程中发现的问题,这个项目比原计划滞后了两周。这对我而言并非坏事,因为说实话我需要这两周时间,以便将仿真用的测试台准备得停停当当。

      此项目采用 VHDL 编码,而且我采取了一种循规蹈矩的方案——保持层级结构,所有黑盒子 (Black-box)、原语和宏指令都采用全局声明(以便完成的设计具有更高的可移植性并且可以符合 IEEE 标准),而且主要是一种 RTL 类型的方案。当然,我的部分设计具有行为属性,要不然就是我完全忽略了 HDL 的主要优势 ––– 应用行为抽象的能力。

      因此我多费了点事,不过现在我可以开始启动仿真工作了。仿真进行了数毫秒,我对结果相当满意。我可以通过 Wave 编辑器测量占空比与周期得到了我希望的结果,复位逻辑按照我所预测的时钟周期数出现,时钟合成器运行正确无误。而且I/O 信号显示出我所希望的 1、0 以及三态。值得一提的是,我很清楚地记得我在几千行代码中,已经谨慎地避免了异步过程和时钟域交叉,最重要的是解决信号 (Resolved signal)。我想起学科导师曾经略带讽刺地说‘PCB 与芯片设计师才用三态’。

      开始时的信心百倍让我想冒点险,我决定将设计综合在一起。幸运的是,我使用的工具允许我轻松尝试多种不同综合引擎,因此我开始从其中一个内置引擎入手。因为项目中采用了几种复杂的行为状态机,需要花点时间进行优化,不过完成时出现了少数几个次要警告。到目前为止一切顺利。

      我的信心更足了一点,接着继续点击“创建 (Build)”按钮,接下来工作流程的“映射 (Map)”、“转换 (Translate)”、“布局布线 (Place and Route)”以及“位文件生成 (Bit File Generation)”,这些操作全部通过与芯片厂商工具的命令行接口在后台执行。映射设计进行了大约一分半就停止了,显示出一条有关 IBUFT 与 OBUFT 的难懂信息。唉……!我知道自己的好日子到头了,真是大梦初醒啊!

      我接下来通常会耸耸肩膀,然后切换到 FPGA 厂商的综合器,看看其优化器能否产生可以顺利布局与布线的结果。因此,点击几下鼠标之后我开始重新运行 “综合(Synthesis)”与“创建(Build)”。这次我注意到综合多少比以前快了一点。我心中燃起希望,因为厂商的引擎在进行较少程度的优化,而且将产生尽管更庞大、但更精确的实施方案。然后在映射过程中在同一地方嘎然而止,同样出现了让人费解的错误消息,然后是一条警告:
 
ERROR:NgdBuild:924 - bidirect pad net \'DATA_IO<15>\' is driving non-buffer
   primitives:
     pin I1 on block U_dspboard_fpga/fb_epb_intf_inst/n12g with type AND2B1
WARNING:NgdBuild:465 - bidirect pad net \'DATA_IO<15>\' has no legal load.

      我开始嘟嘟囔囔,旁边的同事眯起眼睛,像老鹰山姆那样斜眼着我。庆幸的是,我能够从消息屏幕中的错误消息中找到出现错误的代码行。双击与两个串联的缓冲区有关的第一个错误消息后我找到了以下代码片段:

DATA_IO  <= DATA_IN when CNTL_IN(4) = \'0\' -- write to Ext. Device
                    else (others => \'Z\');
DATA_OUT <= DATA_IO; -- data from core to CF (5000_0050)

      我最初的想法是“啊哈,我弄出了一个三态端口与多路复用器,多么好的想法呀?”。聪明而又经验丰富的读者一眼就能看清这个问题,但是这种错误会让 FPGA 新手难倒好几天,让人寝食难安,心力憔悴。我盯着这三行代码看了半分钟,意识到应该随便找张纸画出我最初的意图:

   

      现在我认识到,我之前认为综合引擎会明白我并不想在器件中加入高阻抗信号。实际上,当我再次查看错误与警告消息之后才清楚它就是这么干的:

 

      如果您是一名出色的 FPGA 设计人员并且确实阅读了数据手册与程序库指南,那么您立刻就会明白这是不可能的事情。我所知道的任何 FPGA 布线资源都不会允许这种连接。[page]

      我首先认识到可以用原理图当画出以下简单的 IOBUF 电路:

   

      由于DATA_IO 与 DATA_OUT连接到较高层文档中的 IO 接口,综合器会插入用于 DATA_OUT的适当 OBUF,因此我无需在此画出。这个例子可以很好地说明了原理图与方框图设计方案如何能实实在在地减少未知错误。我的第二个更加惊人的发现是我在 VHDL 代码中编写的内容能够全部得到正确仿真,这里显示出了我实际预期的信号变化。当然,我始终明白能够仿真与能够综合之间的区别。这里有一个新的误解 —— 我可以无错地仿真并合成我的设计。我敢断言,现在应该被问:“它可以仿真,那么可以合成吗?可以被映射吗?”

      这个场景是我虚构的,尽管它出自我亲身经历过的真实事件。我曾经与许多喜欢在设计流程中使用 VHDL 和 Verilog 的 FPGA 设计人员深入探讨过。我和他们有一致的看法,就是他们的大多数设计对于基于原理图的方法来说过于复杂。也就是说,您是否主要通过 RTL 进行设计。HDL 的发明可减少描绘逻辑函数的工作量,因为门电路与触发电路的数量太多,也太繁复。然而, FPGA(和 ASIC)一直继续遵循着摩尔定律。设计也是如此,复杂到使用VHDL 或 Verilog 设计会把你带入泥潭,让你再也看不清整体设计意图。上面问题就是例证。

      设计人员需要保持他们设计的领先地位。我深信他们将别无选择地这么做 —— 采用更高端的方法来赢得时间和自由,从而可以集中精力进行其产品最重要部分的设计,即在市场上能使他们脱颖而出的部分。这个行业正在面临的挑战是:技能娴熟的资深设计人员必须放下架子来使用与工具配套提供的免费的IP,而不是自己亲手通过 HDL 把它们重新出来。我能理解这个挑战:作为一个真正的工程设计迷,我所做的应该是这个世界上许多人都做不到的(或者说我也相信)。不过事实上,如果我想设计更好的产品,并且更快地完成,我就必须站在别人的肩上,对他说“谢谢”,然后采用方框图的方法迅速将我的系统组合出来。接下来我就可以专心致力于设计我的创意,并且把它集成到整体系统中,使整个系统更加可靠并出类拔萃。

 

关键字:仿真器  合成 引用地址:仿真器并非万能之神

上一篇:DSP与单片机的一种高速通信实现方案
下一篇:基于FPGA的智能误码测试仪

推荐阅读最新更新时间:2024-05-02 20:57

ADI推出业界最快直接数字频率合成
国际微波研讨会(IMS2012),加拿大蒙特利尔——满足适合无线应用的直接数字频率合成(DDS)技术的要求需要快速跳变和扫描。Analog Devices, Inc. (NASDAQ: ADI),全球领先的高性能信号处理解决方案供应商,最近宣布,公司将以前的DDS集成电路(IC)时钟速度提升了三倍以上。ADI公司的AD9914集成了片内高速12-bit DAC,每秒采样速率达3.5千兆(GSPS),AD9915则可达2.5 GSPS。两种器件内核均支持能够合成频率捷变的高级数字可编程技术,可在频率高达1.4 GHz下模拟用于各种通信应用(如无线基站、军用和商用雷达)的输出正弦波,还可以保护通信系统。 在本周举行的IMS2012
[网络通信]
直接合成技术协助高速串行数据测量
SATA接收机测试采用AWG7000任意波形发生器独特的测试功能   俄勒冈州毕佛顿, 2007年4月30日讯 – 提供测试、测量和监测仪器的全球领导企业--泰克公司(NYSE: TEK)日前宣布,泰克公司在应用直接合成技术(DS)进行高速串行接收机一致性测试方面取得了重大进步。直接合成技术是一种灵活的、可重复的方法,它先创建理想波形或损伤波形,然后通过泰克AWG7000 任意波形发生器直接合成波形。工程师可以精确统一地测试高速串行数据接收机,生产更高质量的计算设备和消费电子设备。SATA互通研习会(IW)已经批准采用AWG7000直接合成技术作为标准化测试技术,并将于4月30日在加州的米尔皮塔斯举办的SATA-IO第三届互通
[测试测量]
ADRF6850集成宽带正交解调器、频率合成器和可变增
ADRF6850是一款高度集成的宽带正交 解调器 、频率合成器和可变增益放大器(VGA)。该器件工作在100 MHz至1000 MHz的频率范围,适用于窄带和宽带通信应用,能够执行从中频(IF)直接到基带频率的正交解调。   ADRF6850解调器包括一个集成VCO的高模数小数N分频频率合成器,其频率分辨率优于1 Hz,前端VGA提供60 dB的增益控制范围。   所有片内寄存器均通过用户可选的SPI或 I2C 接口进行控制。该器件采用3.15 V至3.45 V的单电源供电。   ADRF6850功能框图      特性   ●IQ 正交解调器   ●集成小数N分频PLL和VCO   ●增
[模拟电子]
捷通华声推出嵌入式语音合成产品ejTTSv5.0
北京捷通华声语音技术有限公司近日宣布,公司即将面向市场推出新一代捷通华声嵌入式语音合成产品ejTTSv5.0。 捷通华声嵌入式语音合成产品ejTTS v5.0在原有参数合成算法上进行了更深入的研究,在系统资源占用、语音合成效果、系统移植性等几个关键点上取得突破性的进展。嵌入式语音合成ejTTS v5.0产品合成的声音更加清晰、更接近真人发声,韵律更为协调,朗读更加自然、流畅,音色更加纯正、甜美。同时,ejTTS v5.0采用全新架构设计,系统预处理性能、运行效率、稳定性、兼容性、适应性全面提升。在嵌入式领域适应范围更加广泛,除支持原有旧版本的所有平台,还增加支持了目前国内主流的多种嵌入式系统平台的。 捷通华声嵌入
[嵌入式]
硬件仿真器会不会被淘汰
谈起单片机的硬件仿真器,给我的第一印象便是非常的昂贵。像我这样想在不到十年就想学习用会市面上大部分流行的单片机的单片机爱好者来说,根本就不可能去花钱买那么昂贵的单片机硬件仿真器,因为单片机的种类实在是太多了。 现在51单片机的C语言编译器非常的好,加上我用的51单片机大部分都是带ISP功能的,还有,就是有几次用伟福仿真器,仿真时的效果让人很失望,而今我手上的伟福仿真器这几年基本上是处于下岗状态. 仿真,对于初学者来说,还是有着极大的诱惑力的,就像我们刚开始用protel99se画电路图时,总是担心什么地方没有画好,想仿真一下,但实际上,真正用着protel99se画图的工程师是很少用它来仿真的.学习单片机也是这差不多的情况. 还
[单片机]
汽车检测中语音合成器的设计与实现
汽车数量的急剧增加,加大了汽车检测工作的工作量。汽车检测中,检测人员要用眼浏览并判定许多屏幕上的信息,并做出判断。调查研究发现,检测人员的耳未发挥出应有的功能,而用语音的形式告知检测人员的检测结果,可减轻检测人员的工作负担,汽车检测线语音合成器就是为此目的研制的。  1 主要技术指标  1.1 语音合成器输出语音信号要求  (1)输出语音信号特征  语音合成器输出语音信号特征为,语速:3~4字/秒;信噪比:20 dB;频率:300~3000 Hz,公输出大约90句话语。  (2)输出语音信号参数  电压 幅值:3 V (带负载,有效值);  输出阻抗: <50 Ω;负载阻抗: 600 Ω。  2
[嵌入式]
将三维材料变二维,合成新型极薄材料的方法问世
二维材料非常薄,只有几个原子厚,具有独特的性质,使其在能量存储、催化和水净化等方面极具吸引力。瑞典林雪平大学研究人员开发出一种能够合成数百种新型二维材料的方法。研究发表在最新一期的《科学》杂志上。 自从石墨烯被发现以来,有关极薄材料(即所谓的二维材料)的研究呈指数级增长。二维材料相对于其体积或重量具有极大的表面积,因此产生了一系列物理现象和独特的性能,例如良好的导电性、高强度或耐热性,使得二维材料在基础研究和应用中都受到关注。 最大的二维材料家族是MXene,由称为MAX相的三维母体材料创建。它由3种不同的元素组成:M是过渡金属,A是(A族)元素,X是碳或氮。通过用酸去除A元素(剥离),可创建二维材料。但到目前为止,MXene是唯
[半导体设计/制造]
将三维材料变二维,<font color='red'>合成</font>新型极薄材料的方法问世
捷通华声语音合成技术服务金融行业呼叫中心
当前的银行、证券等金融机构,正面临着全面的竞争。同时,客户对金融企业的期望值也越来越高,客户希望金融企业能充分理解他们的意图,并迅速响应。在信息科技、经济活动同步快速发展的中国,人们对金融行业的各项服务都更加熟悉与重视,人们参与的各项金融业务活动也越发频繁,金融机构能否提供快捷、全面、专业、人性化的服务便显得尤为重要。 为增强金融机构竞争力,提供良好的客户体验,提高金融机构的服务意识,各银行、证券等金融机构纷纷推出自建呼叫中心平台,它不仅可以及时解决客户各种咨询、查询问题,提高客户服务质量,还可帮助金融机构开展诸多业务。目前,在金融机构的日常运营中,呼叫中心平台正扮演着越来越重要的角色。 拨通银行、证券等机构
[安防电子]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved