搜档网
当前位置:搜档网 › ISE14.7调试心得

ISE14.7调试心得

ISE14.7调试心得
ISE14.7调试心得

ISE14.7调试心得

第一次做软件一般都是从“hello world”开始的。第一次做硬件一般都是从LED开始的。先做个跑马灯,熟悉一下板子和xilinx芯片以及ISE软件的使用方法。

真是悲剧~写个跑马灯,我都感觉verilog HDL编程生疏了,出现了不少问题,在此记下,希望以后不要再范了。不过,就拿如何写testbench来说,我是会了忘忘了学学了又不会了。这次又复习了一遍。真的希望以后可以将自己的知识和技能的基础打牢固。不要再有那么多琐碎和烦心的事情。

第一个程序的错误:

1、posedge clk and negedge rst_n应该写为posedge clk or negedge rst_n

2、posedge clk or nedge rst_n应该写为posedge clk or negedge rst_n

3、

module LED8(

input clk_100M;

input rst_n;

output [0:7] LED

);

应该定义为:

module LED8(

input clk_100M,

input rst_n,

output [0:7] LED

);

将端口定义包括类型定义一起放在module后的括号内的时候,之间用逗号隔开。

4、数组假设abc[0:7],单个元素写成abc[0]而不是abc(0)。

5、100MHz分频成1Hz。计数为1042*1024*100(27'h640_0000)。

6、两种方式定义信号端口

第一种:

module LED8(clk_100M,rst_n,LED);

input clk_100M;

input rst_n;

output [0:7] LED;

reg [0:7] LED;

reg [0:7] choose; //Choose the LED to highlight

reg [0:26] count;

没错误。

第二种:

module LED8(

input clk_100M,

input rst_n,

output [0:7] LED

);

reg [0:7] LED;

reg [0:7] choose; //Choose the LED to highlight

reg [0:26] count;

提示错误:

ISE软件是:ERROR:HDLCompilers:27 - "LED8.v" line 34 Illegal redeclaration of 'LED'

Quartus软件是:Error (10759): Verilog HDL error at LED8.v(34): object LED declared in a list of port declarations cannot be redeclared within the module body。

都是说重复定义LED信号。

所以,采用第二种的时候,不能再将输出端口定义为reg型。另外,代码中使用assign对LED赋值会提示如下错误:

ERROR:HDLCompilers:247 - "LED8.v" line 60 Reference to vector wire 'led' is not a legal reg or variable lvalue

ERROR:HDLCompilers:106 - "LED8.v" line 60 Illegal left hand side of nonblocking assignment

解决办法:必须添加中间变量如reg [0:7] abc;使用assign LED = abc;对LED赋值。

小结:第一种定义方法,输出变量若使用assign进行赋值就不能定义为reg型,且需要使用中间变量;若在always中进行赋值就需要定义为reg型;

第二种方法,默认的是wire型,故不能在always中赋值,必须由中间变量用assign赋值。

7、本来写了个testbench,才发现要想实现LED变化一次,count要计数1042*1024*100(27'h640_0000)。这么大数据很难看到现象。因为板子的输入时钟就是100M,于是就想通过DCM得到低于10M的数据吧。跳出如下对话框:

即,最小的输出频率是32M。这跟不分频没多大区别了。好吧,我承认,这么高级的板子做跑马灯有些大材小用了。╮(╯▽╰)╭

8、仿真时要注意要显示所有脉冲,ZOOM IN,ZOOM OUT

心得体会 软件测试心得体会(精选5篇)

软件测试心得体会(精选5篇) 软件测试心得体会(精选5篇) 关于软件测试的心得体会 虽然一如继往地写读书笔记,笔墨也浪费了不少。但真正坐下来利用大段的时间将自己的思路理清还没有过。因为最近有了一定的时间,更因为狠狠地泡了一段时间51Testing测试论坛,下载学习了该网站的电子测试杂志之后,自己的思路终于开始清晰起来,朦朦胧胧地开始看清了远方的路,麻着胆子去分析一下自己,也学着展望一下未来了,毕竟摸黑走路的感觉很不好。 我觉得学习软件测试的通用技术与针对某类软件的测试技术外,还有一个重要的与技术无关的方面:业务知识.没有具体的业务知识很难发现软件中潜在的逻辑错误甚至是需求上的错误,当然需求要依据特定的软件,但软件测试人员对需求理解的深入程度不应低于软件开发的人员.因为软件测试所有的依据来自于需求,而所有的需求来自于客户,甚至是我们的全部都来自于客户.识别需求后还必须转化为测试上的需求,毕竟测试人员看需求的角度和开发人员还是有区别的. 关于学习,我知道我并非计算机专业的学生,初涉软件测试行业,没有接受系统的培训,对软件测试一无所知,既不知道该测试什么,也不知道如何开始测试。但是,总该知道如何去学习,然而我认为,学习总该有必要的方法 1.找个好师傅 这是最重要的一条了,也是公司提供的最好的一个条件.刚进来的时

候,td,测试案例都有一个pm细心的和你讲,案例有什么方法来设计?要注意哪些错误?软件测试技术相关书籍目录、软件测试流程相关文档目录、产品业务相关的文档目录,一大堆的东西马上够你头晕的了.呵呵,还好,悟性不错,都囫囵吞枣地吞下去了. 2.学会读书 无论是神马专业,我始终确信,万变不离其宗,我知道,我不是这个专业的,但这个并不代表这我就不了解这个,再怎么不济,我也是从书本中走出来的,我相信,只要我努力地吧书本啃熟,我能够灵活地融入到这个职业中去,从书本中找寻解决问题的方法。标记出自己所错误的。 3.与前辈们一起讨论,多说 总有一天,我们会成为一位前辈,不过不是现在,至少现在我们应该好好的向别人学习,所以,我觉得,前辈是我们前进道路上不可或缺的一部分,他会成为引领我们前进的发动机,给我们指点,跟我们道工作的经验。然而,我们也应该多说,我知道,前辈们给我们讲解,已经是很辛苦的事情,毕竟,这不是他们的义务。我们也应该多多说说我们的观点,这样既能够让人家了解我们的水平,也方便老师前辈们对我们进行指导。 这些天的学习,我也有了一点自己的心得体会 体会一:软件测试在整个软件周期中的重要性。 它存在于整个项目周期,在项目开始之初需求调研的时候就开始了,在形成需求规格说明书的时候就需要针对文档进行测试。这个环节在

DDS基本原理及技术指南

DDS基本原理及技术指南 2012年03月20日12:03 eechina 分享 关键词:DDS , 频率合成 随着数字技术在仪器仪表和通信系统中的广泛使用,可从参考频率源产生多个频率的数字控制方法诞生了,即直接数字频率合成(DDS)。其基本架构如图1所示。该简化模型采用一个稳定时钟来驱动存储正弦波(或其它任意波形)一个或多个整数周期的可编程只读存储器(PROM)。随着地址计数器逐步执行每个存储器位置,每个位置相应的信号数字幅度会驱动DAC,进而产生模拟输出信号。最终模拟输出信号的频谱纯度主要取决于DAC。相位噪声主要来自参考时钟。 DDS是一种采样数据系统,因此必须考虑所有与采样相关的问题,包括量化噪声、混叠、滤波等。例如,DAC 输出频率的高阶谐波会折回奈奎斯特带宽,因而不可滤波,而基于PLL的合成器的高阶谐波则可以滤波。此外,还有其它几种因素需要考虑,稍后将会讨论。 图1:直接数字频率合成系统的基本原理 这种简单DDS系统的基本问题在于,最终输出频率只能通过改变参考时钟频率或对PROM重新编程来实现,非常不灵活。实际DDS系统采用更加灵活有效的方式来实现这一功能,即采用名为数控振荡器(NCO)的数字硬件。图2所示为该系统的框图。

图2:灵活的DDS系统 系统的核心是相位累加器,其内容会在每个时钟周期更新。相位累加器每次更新时,存储在△相位寄存器中的数字字M就会累加至相位寄存器中的数字。假设△相位寄存器中的数字为00...01,相位累加器中的初始内容为00...00。相位累加器每个时钟周期都会按00...01更新。如果累加器为32位宽,则在相位累加器返回至00...00前需要232(超过40亿)个时钟周期,周期会不断重复。 相位累加器的截断输出用作正弦(或余弦)查找表的地址。查找表中的每个地址均对应正弦波的从0°到360°的一个相位点。查找表包括一个完整正弦波周期的相应数字幅度信息。(实际上,只需要90°的数据,因为两个MSB中包含了正交数据)。因此,查找表可将相位累加器的相位信息映射至数字幅度字,进而驱动DAC。图3用图形化的“相位轮”显示了这一情况。 考虑n = 32,M = 1的情况。相位累加器会逐步执行232个可能的输出中的每一个,直至溢出并重新开始。相应的输出正弦波频率等于输入时钟频率232分频。若M=2,相位累加器寄存器就会以两倍的速度“滚动”计算,输出频率也会增加一倍。以上内容可总结如下: 图3:数字相位轮

Debussy 仿真快速上手教程

快速上手五部曲: (Debussy v.5.2) 1. Import Files and generate FSDB file 2. Trace between hierarchy browser and source code 3. Trace between hierarchy browser、source code and schematic 4. Trace between hierarchy browser、source code、schematic and waveform 5. nLint (nState本文没介绍,有兴趣的读者,请依文后的连结,自行下载CIC所提 供的NOVAS原厂编写教材参考) 1. Import Files and generate FSDB file 1.1 启动Debussy:% Debussy &(此处的D大小写都可以,但其它指令的大小写 可能就有差别) 开启nTrace window如下,此时工作目录下会新建一个"DebussyLog"目录

1.2 Import Files:File \ Import Design

结果如下图所示:nTrace视窗中,含有三个区域,Hierarchical Brower、Source code window、Message window。 (如果不想看波形,只想查看source code与schematic的关係,您可以直 接跳到step 2.1) 此时DebussyLog目录内会有Debussy.cmd、turbo.log、compiler.log三个档案。Debussy.cmd纪录所有import的档案与之后所有的执行程序。我们可以直接引用这个档案来执行上一次我们做过的一连串程序(refer to 1.5)。 1.3 设定外部模拟器,藉其產生FSDB file: Tools \ Options \ Preferences

软件测试实习心得体会

软件测试实习心得体会

软件测试实习心得体会 【篇一:软件测试心得】 软件测试感想总结 软件测试工作是一个系统而复杂的工程,软件测试的目的就是确保软件的质量、确认软件以正确的方式做了你所期望的事情,所以工作的主要任务是发现软件的错误、有效定义和实现软件成分由底层到高层的组装过程、验证软件是否满足规格书要求和系统定义文档所规定的技术要求、为软件质量模型的建立提供依据。 而且软件的测试不仅是要确保软件的质量,还要给开发人员提供信息,以方便其为风险评估做相应的准备,以及为其提供分析依据,重要的是要贯穿在整个软件开发的过程中,保证整个软件开发的过程是高质量的。 软件测试对测试工程师来讲,要求具备较强的专业知识,严谨细心耐心的测试态度,良好的反向思维、发散思维能力、沟通能力等等。 以下是就自己的个人工作经历谈一些浅见: 1. 标准文档的制定: 1.1.任何一个公司要让自己的产品面市,都要有自己的一 套完整的品质标准,这个标准一定是在符合国标及客户 标准的基础上形成的企业标准,系统而全面地描述一款 产品的功能、性能、可靠性、健壮性、按规格要求等一 系列的产品标准,并根据客户特定要求相应调整。 1.2.测试仪器的作业指导书(sop)及保养说明等。定义仪器 的使用步骤、操作指南和保养细则等。

2. 测试资料的归档: 标准媒体文件、测试报告、bug list库(电子类问题、结构 类问题、软件类问题:方案自存问题、品证测试问题、生产测试问题、客户反馈问题、终端消费者反馈问题等)、认证测试文档归纳总结(认证公司培训资料、认证过程中出现并改善的问题)、测试工程师经验分享、常见问题解答faq等。 3. 功能测试: 3.1.这是软件测试工作中最核心和最基本的一项测试,该测 试的主要内容是检查软件是否符合需求定义,并通过构 造正常的操作来检查的动作是否正确;在这个测试里, 正确性是最最重要的软件质量要素。 3.2.功能测试按照可见性可以分为两类:显性功能和隐性功能。 显性功能:指在菜单里可以看得到的功能。 隐性功能:指在菜单里看不到的功能。 例如,电话本的显性功能有增加、编辑、删除、拨打等, 这些功能可以在电话本的菜单里面看得到,姓名列表排 序则属于一个隐性功能,因为在电话本的菜单里没有这 样一个子菜单,但它却是一个实实在在的功能。 如以下这些隐性功能都测试中都需重点关注: a. 电话本上下页切换,是否有遗漏联系人信息?

dds工作原理

电磁无损检测中信号发生器的设计与实 现 [日期:2005-6-24] 来源:国外电子元器件作者:彭国标 [字体:大中 小] 摘要:在电磁无损检测系统中,信号频率及其稳定性对检测效果影响很大,为了解决该难题,文中给出了一种应用DDS技术设计的新型信号发生器解决方案。该信号发生器具有频率精度高、稳定性好、分辨率高的特点,有利于提高电磁无损检测的效果。 关键词:电磁无损检测;信号发生器;直接数字频率合成 电磁无损检测(如涡流)是基于电磁感应原理的无损检测技术。当载有交变电流的检测线圈靠近导体时,由于交变电流在周围空间中会产生交变磁场,因而在被测试件(导体)表面产生趋肤效应并感应出交变电流。通过优化设计可使被测试件表面电流达到均匀分布,从而使周围磁场也达到均匀,而当被测试件表面有缺陷时,电流就会发生畸变,均匀磁场随之发生变化,这样,直接或间接测量出该磁场的变化,就能检测试件的缺陷。虽然人们在电磁无损检测方面已取得了许多进展,但仍有许多不尽人意之处,其中一个重要的因素便是检测系统信号的稳定性,这一点对测量结果会产生严重的影响。因为信号发生电路是整个检测系统的信号源,它的信号频率是否稳定将对整个检测系统的工作起十分关键的作用,信号频率不稳定会给信号的后续处理带来极大的困难,甚至使电磁检测难以进行。为了解决上述问题,笔者应用DDS技术设计了一个高稳定性信号发生器。 1DDS的工作原理 直接数字合成(DDS-DirectDigitalSynthesizer)是近几年发展起来的一种新的频率/波形合成技术。该技术具有频率分辨率高、转换速度快、信号纯度高、相位可控、输出信号无电流脉冲叠加、输出可平稳过渡且相位保持连续变化等优点。近年来在通讯、雷达、GPS、蜂窝基站、图像处理及HDTV等领域得到了广泛应用。

modelsim仿真小结

Modelsim仿真小结 Modelsim的基本仿真流程大致分以下几个步骤:建库、编译工程、前后仿真、调试等。Modelsim仿真既可以在modelsim界面操作,也可以用do文件实现,这里结合学习的教程、网上看到的资料,和实际遇到的一些问题,分别做一整理小结。 1.建库 建库包括Altera库和Xilinx库,同时都包括Verilog和VHDL。这里只建了Verilog库,VHDL和Verilog步骤相同。 对于Altera库主要包括lpm元件库、Mega_Function库atera_mf、altera原语库altera_primitive和各器件系列模型库。前三种是调用altera模块的必备库,第四种是进行综合后功能仿真和布线后时序仿真需要的库,和器件系列有关,只选对应系列即可。 Altera库创建和编译步骤如下: a)在Modelsim安装目录下新建文件夹,命名altera_lib,以存放编译后的库文件,可 以在altera_lib下新建Verilog和VHDL两个子文件夹,分别存放Verilog和VHDL库。 b)打开Modelsim,新建Library,file ->new->library .. c)如下图,创建lpm库,路径E:\modeltech_10.1a\altera_lib\Verilog\lpm

d)添加库文件,并编译,compile -> compile …,出现compile source files窗口, library 指定到lpm下,查找范围,选quartus安装目录下… eda\sim_lib目录里的仿真原型文件:220model.v ,点c ompile ,点done。 到此,lpm库建立完毕。 e)同理,建立altera_mf库添加altera_mf.v ,建立primitive库添加altera_primitive.v 建立各系列的模型库,命名可用系列名加_ver“xxx_ver”,也可随意吧,添加各系列的xxx_atoms.v。 这里,也可以把以上库放在一个文件夹,这样做简单,一次就搞定,分开也就是条理清楚,没人去看,所以没必要。 f)修改modelsim.ini文件,为的是让modelsim能自动map到已经编译的这些库上。 先去掉只读属性,在[Library]和[vcom]之间加上:库名=库路径[绝对路径或者相对路径],相对路径是相对于modelsim安装路径,modelsim安装路径用$MODEL_TECH 表示。 这里所有库都放在E:\modeltech_10.1a\altera_lib下,库名是altera_lib,这里只添加一句:altera_lib = E:\modeltech_10.1a\altera_lib g)保存退出,改回modelsim.ini只读属性,防止乱改。至此altera库建立完毕。 Xlinx库创建和编译步骤如下: 相比altera,xilinx建库很方便。xilinx有批处理命令,直接在console命令窗口,输入compxlib命令,调出编译库的窗口,先改掉modelsim安装目录下modelsim.ini只读属性。设置如下图:

nodemcu调试心得

NODEMCU调试心得 网上没有nodemcu的中文资料,英文资料也比较零碎。结合自己的调试过程,整理一个。 资料篇 github上的英文入门教程,一共三页,强烈推荐。 nodemcu的中文API说明 有点混乱的官方文档 中文nodemcu官网,已经关闭了,汗。 必备软件 官方推荐的IDE: ESPlorer ,集成了lua,需要安装java,一个俄罗斯人写的,IDE的入门教程可以看一下,还有书卖,要十几美元,汗。。。 一个烧写工具,用安信可的也是可以的,貌似ESPlorer里已经集成了。 nodemcu的官方lua固件,包含源码,必备,貌似ESPlorer里已经集成了。 直接用安信可的IDE开发也是可以的,IDE里有nodemcu的工程文件。但是我还没有尝试。 step1 usb线连接nodemcu和电脑,串口驱动会自动安装,开发板蓝灯闪烁。 打开串口调试工具(也可以用ESPlorer里的串口工具),选择端口(看一下设备管理器),速率选择9600. 串口不断显示: Please run file.remove("user.lua") before first use. 在串口发送界面里输入并发送 file.remove("user.lua") node.restart() 回显

NodeMCU 0.9.5 build 20150403 powered by Lua 5.1.4 Will run user.lc/user.lua in 1000ms > cannot open user.lua 蓝灯熄灭。user.lua文件被删除,系统重启。 step2 打开ESPlorer,刷新,选择端口和速度,可以参考入门教程 在左侧窗口输入入门教程的代码,控制管脚4GPIO的LED。不用接线,因为LED已经集成在板子上了。 lighton=0 pin=4 gpio.mode(pin,gpio.OUTPUT) tmr.alarm(1,2000,1,function() if lighton==0 then lighton=1 gpio.write(pin,gpio.HIGH) else lighton=0 gpio.write(pin,gpio.LOW) end end) 选择save文件,存为init.lua,系统自动上传烧写代码。蓝灯重新开始闪烁。 代码中的2000是蓝灯的闪烁时间,单位是ms,可以修改。 是不是超级简单? 其他内容以后继续补充。

软件测试工作心得

软件测试工作心得 导读:本文软件测试工作心得,仅供参考,如果能帮助到您,欢迎点评与分享。 软件测试工作心得【一】一、本年度工作完成情况 时光飞逝,在这年里本人独立负责测试的项目10个,与其她测试人员联合测试的项目9个以及GIS应用虚拟项目(2个版本)。 其中独立负责的项目对项目的开发周期做全程跟踪测试,联合测试的项目协助其她测试人员完成项目测试工作。繁忙的工作使自己在过去的一年里学到了很多,同时也提高了自己各方面的能力。感谢领导的支持与指教,现总结如下: 独立负责的项目列表: 1) 《湖南xx空调进销存系统》 2) 《湖南xx空调售后服务系统》 3) 《长沙统计局数据管理平台》 4) 《长沙统计局数据展示系统》 5) 《长沙统计局GIS应用系统》 6) 《xx电网WEB GIS系统》 7) 《xx电网移动电子化移交系统》 8) 《xx电网东莞局单线图绘制系统》 9) 《电信号百-掌上同学圈》 10)《长沙城市林业生态圈资源信息集成系统》

与其她同事联合测试的项目列表: 1) 《xx市规划局办公系统》 2) 《xxx_地理公共服务平台》 3) 《xxx市规划局自动化办公系统》 4) 《xxx县城建档案馆著录系统》 5) 《xxx市统计地里信息系统》 6) 《xxx市社会安全联合救助系统》 7) 《xx市施工图审查中心一体化办公平台》 8) 《xxx控制性详细规划系统》 9) 《xxxxx市地理信息系统》 GIS 应用虚拟项目 1)GIS 应用xx项目B/S版本 2)GIS 应用xx项目C/S版本 其中格力项目的测试工作,多次与开发组人员一同参与在客户处讨论需求与细节要求,对客户的习惯与要求有了清晰明确的了解。与电信的验收测试中学到了很多专业的测试方法与测试经验,与她们成为了好朋友。在后续的合作与交流中,将更进一步提高自己的专业技能,保持良好的沟通与联系做好测试工作。 南网的项目在通过开发组的培训后,对南网1、0环境与功能,数据库的结构有了比较清楚的了解,对测试南网2、0很有帮助,主要就是对电力这块的业务有了深入的了解,对测试电力行业的系统打下了业务认知基础。加入专业的测试方法,使测试工作更好的服务于项目。

DDS信号发生器原理

2 基本原理 2.1 直接数字频率合成器 直接数字合成(Direct Digital Synthesis,简称DDS)技术是从相位概念出发,直接对参考正弦信号进行抽样,得到不同的相位,通过数字计算技术产生对应的电压幅度,最后滤波平滑输出所需频率。 2.1.1 DDS工作原理 下面,通过从相位出发的正弦函数产生描述DDS的概念。 图1表示了半径R为1的单位圆,半径R绕圆心旋转与X轴的正方向形成夹角θ(t),即相位角。 图1 单位圆表示正弦函数S= R sinθ(t) DDS的原理框图如图2所示。图中相位累加器可在每一个时钟周期来临时将频率控制字(FTW)所决定的相位增量M累加一次,如果记数大于2N,则自动溢出,而只保留后面的N位数字于累加器中[9]。 图2 DDS原理框图

DDS的数学模型可归结为:在每一个时钟周期T c 内,频率控制字M与N比特相位累加器累加一次,并同时对2N取模运算,得到的和(以N位二进制数表示)作为相位值,以二进制代码的形式去查询正弦函数表ROM,将相位信息转变成相应的数字量化正弦幅度值,ROM输出的数字正弦波序列再经数模转换器转变为阶梯模拟信号,最后通过低通滤波器平滑后得到一个纯净的正弦模拟信号。 由于ROM表的规模有限,相位累加器一般仅取高位作为寻址地址送入正弦查询表获得波形幅度值。正弦查询表中以二进制数形式存入用系统时钟对正弦信号进行采样所得的样值点,可见只需改变查询表内容就可实现不同的波形输出。 2.1.2 DDS的结构 DDS的基本结构包括相位累加器、正弦查询表(ROM)、数模转换器(DAC)和低通滤波器(LPF),其中从频率控制字到波形查询表实现由数字频率值输入生成相应频率的数字波形,其工作过程为: ⑴确定频率控制字M; ⑵在时钟脉冲f c 的控制下,该频率控制字累加至相位累加器生成实时数字相位值; ⑶将相位值寻址ROM转换成正弦表中相应的数字幅码。 模块DAC实现将数字幅度值高速且线性地转变为模拟幅度值,DDS产生的混叠干扰由DAC之后的低通滤波器滤除]7[。 ㈠相位累加器 相位累加器是DDS最基本的组成部分,用于实现相位的累加并存储其累加结果。 若当前相位累加器的值为Σ n ,经过一个时钟周期后变为Σ 1+ n ,则满足 Σ 1+ n =Σ n +M Σ n 为一等差数列,不难得出:Σ n =nM+Σ 其中Σ 为相位累加器的初始相位值。 ㈡正弦查询表(ROM) DDS查询表所存储的数据是每一个相位所对应的二进制数字正弦幅值,在每一个时钟周期内,相位累加器输出序列的高m位对其进行寻址,最后的输出为该相位相对应的二进制正弦幅值序列。 ㈢数模转换器(DAC) 数模转换器的作用是将数字形式的波形幅值转换成所要求合成频率的模拟形式

modelsim和NCverilog的区别

Modelsim和NCverilog的比较 集成电路的发展趋势是,单位面积集成的晶体管的数目越来越多,可靠性越来越越高、稳定性越来越好。现在芯片集成度已经超出可人们的想象,有的芯片内部集成了数百万的晶体管,已经远远超出了人的大脑可以分析的范围。这就对EDA工具提出了更高的要求,不管是设计、仿真、综合软件的发展,都给集成电路工程师带来了巨大的便利。 modelsim是Mentor graphics公司推出的HDL代码仿真工具,也是业界最流行的HDL仿真工具之一。支持图形界面操作和脚本操作,常见的图形界面操作相对直观,但是由于重复性操作几率高、处理效率低、工程的非保存性,对于大规模的代码仿真不推荐使用;脚本操作完全可以克服以上的缺点,把常见的命令,比如库文件和RTL加载、仿真、波形显示等命令编辑成.do脚本文件,只需要让Modelsim运行.do文件即可以完成仿真,智能化程度高。 NCverilog是candence公司推出的Verilog HDL的仿真工具。NC-Verilog是Verilog-XL的升级版, 它采用Native-Compiled技术, 无论仿真速度, 处理庞大设计能力, 编辑能力, 记忆体容量和侦错环境都以倍数升级。C-Verilog是一个编译仿真器,它把Verilog代码编译成Verilog程序的定制仿真器。也就是它把Verilog 代码转换成一个C程序,然后再把该C程序编译成仿真器。因此它启动得稍微慢一些,但这样生成的编译仿真器运行得要比Verilog-XL的解释仿真器快很多。Ncverilog是shell版的,nclaunch是以图形界面为基础的,二者调用相同内核;Ncverilog的执行有三步模式和单步模式,在nclaunch中对应multiple step和single step;Ncverilog的三步模式为:ncvlog(编译) ncelab(建立snapshot文件) ncsim(对snapshot文件进行仿真)基于shell的ncverilog操作(尤其是单步模式)更适合于大批量操作,hncverilog的波形查看配套软件是simvision,其中包含原理图、波形、信号流等查看方式。 Ncverilog命令使用库文件或库目录 ex). ncverilog -f run.f -v lib/lib.v -y lib2 +libext+.v //一般编译文件在run.f 中, 库文件在lib.v中,lib2目录中的.v文件系统自动搜索使用库文件或库目录,只编译需要的模块而不必全部编译。 Verilog Testbench信号记录的系统任务: 1). SHM数据库可以记录在设计仿真过程中信号的变化. 它只在probes有效的时间内记录你set probe on的信号的变化。 ex). $shm_open("waves.shm"); //打开波形数据库 $shm_probe(top, "AS"); // set probe on "top" 第二个参数: A -- signals of the specific scrope

NODEMCU-DEVKIT中文

? NODE MCU TEAM 网站: https://www.sodocs.net/doc/7c15843685.html, 电邮: nodemcu@https://www.sodocs.net/doc/7c15843685.html, 协议: MIT License GitHub: https://https://www.sodocs.net/doc/7c15843685.html,/nodemcu 1 / 2 NODE MCU DEVKIT 硬件说明书 V0.9 2014-12-7 管脚定义 GPIO16 GPIO5 GPIO4 GPIO0 GPIO2 GND 3V3 EN RST GND 5V D0 D1 D2 D3 D4 3V3 GND D5 D6 D7 D8 D9 D10 GND 3V3 A0 RSV RSV RSV RSV RSV RSV GND 3V3 3.3V GND GPIO14 GPIO12 GPIO13 GPIO15 GPIO3 GPIO1 GND 3.3V ADC0 NC NC NC NC NC NC GND 3.3V GND 3.3V EN RST GND 5V USER FLASH TXD1 RXD2 TXD2 RXD0 TXD0 WAKE HSPICLK HSPIQ HSPID HSPICS TOUT 3.3V POWER 5V POWER GROUND GPIO WITH PWM GPIO WITHOUT PWM UART HSPI KEY SYSTEM ADC NOT CONNECT DEVKIT

NODE MCU DEVKIT 硬件说明书 注意事项 1. 连接开发板硬件之前,确保断开所有电源以避免触电危险。开发板上包含尖锐物体,使用时应当十分小心以避 免意外伤害。禁止用手指直接触摸开发板裸露金属部分,防止意外扎伤手指。另外直接触摸金属部分可能导致静电损坏开发板。未成年人需要在成年人监护下使用此开发板。 2. 开发板天线附近请保持足够的净空区,否则会影响天线性能。 3. 开发板的USB接口与计算机连接时,如果开发板的串口没有被打开,插拔计算机USB外设的操作会造成开发 板复位。只有使用计算机供电且串口未被打开时会发生此问题,如果使用普通USB电源供电或计算机已经打开串口则不会发生此问题。 4. 开发板的GPIO0上电时若电平为低,则开发板进入烧录固件模式,此时用户的程序将不会被执行。如果开发板 上电后未能正常工作,请检查如下引脚的电平:GPIO0高,GPIO2高,EN高,RST高,GPIO15低。若电平不符,请用户检查外围电路并修正。 5. 烧录固件时如果不慎发生中断导致烧录失败,则开发板的程序不完整,此时有一定的可能无法进入自动模式。 此时应当按住FLASH按键不放插入USB线缆,则可正常烧录固件。 6. 如果用户需要使用休眠功能,需要将RST与GPIO16直接连接。用户可自行连接这两个管脚,或在开发板R3 位置焊接0欧姆的电阻。注意,使用休眠功能后,GPIO16禁止使用。 7. GPIO16不支持中断、PWM、I2C以及One-wire功能,只能作为普通输入/输出端口使用。 8. 不得对开发板输入超过5V以上的电源电压,也不得将开发板GPIO直接连接到5V电平的外设上。如果需要连 接,需要电平转换电路,否则可能造成不可逆转的损坏。 2 / 2

DDS原理及AD9851电路设计、测试

DDS原理及AD9851电路设计、测试 鼎峰电子https://www.sodocs.net/doc/7c15843685.html, 一.DDS(Direct Digital Synthesis)直接频率合成技术概况在频率合成(FS, Frequency Synthesis)领域中,常用的频率合成技术有模拟锁相环、数字锁相环、小数分频锁相环(fractional-N PLL Synthesis)等,直接数字合成(Direct Digital Synthesis-DDS)是近年来新的FS技术。单片集成的DDS产品是一种可代替锁相环的快速频率合成器件。DDS是产生高精度、快速变换频率、输出波形失真小的优先选用技术。DDS以稳定度高的参考时钟为参考源,通过精密的相位累加器和数字信号处理,通过高速D/A变换器产生所需的数字波形(通常是正弦波形),这个数字波经过一个模拟滤波器后,得到最终的模拟信号波形。如图2所示,通过高速DAC产生数字正弦数字波形,通过带通滤波器后得到一个对应的模拟正弦波信号,最后该模拟正弦波与一门限进行比较得到方波时钟信号。 DDS系统一个显著的特点就是在数字处理器的控制下能够精确而快速地处理频率和相位。除此之外,DDS的固有特性还包括:相当好的频率和相位分辨率(频率的可控范围达μHz级,相位控制小于0.09°),能够进行快速的信号变换(输出DAC的转换速率300百万次/秒)。这些特性使DDS在军事雷达和通信系统中应用日益广泛。 其实,以前DDS价格昂贵、功耗大(以前的功耗达Watt级)、DAC器件转换速率不高,应用受到限制,因此只用于高端设备和军事上。随着数字技术和半导体工业的发展,DDS芯片能集成包括高速DAC器件在内的部件,其功耗降低到mW级(AD9851在3.3v 时功耗为650mW),功能增加了,价格便宜。因此,DDS也获得广泛的应用:现代电子器件、通信技术、医学成像、无线、PCS/PCN系统、雷达、卫星通信。

Ncverilog_的一些经验

Ncverilog 的一些经验 1.Verilog和Ncverilog命令使用库文件或库目录 ex). ncverilog -f run.f -v lib/lib.v -y lib2 +libext+.v //一般编译文件在run.f中, 库文件在lib.v中,lib2目录中的.v文件系统自动搜索使用库文件或库目录,只编译需要的模块而不必全部编译 2.Verilog Testbench信号记录的系统任务: 1). SHM数据库可以记录在设计仿真过程中信号的变化. 它只在probes有效的时间内记录你set probe on的信号的变化. ex). $shm_open("waves.shm"); //打开波形数据库 $shm_probe(top, "AS"); // set probe on "top", 第二个参数: A -- signals of the specific sc rope S -- Ports of the specified s cope and below, excluding library cells C -- Ports of the specified s cope and below, including library cells AS -- Signals of the specifie d scope and below, excluding library cells AC -- Signals of the specifie d scope and below, including library cells 还有一个 M ,表示当前scope的m emories, 可以跟上面的结合使用, "AM" "AMS" "AMC" 什么都不加表示当前scope的por ts; $shm_close //关闭数据库 2). VCD数据库也可以记录在设计仿真过程中信号的变化. 它只记录你选择的信号的变化. ex). $dumpfile("filename"); //打开数据库 $dumpvars(1, top.u1); //scope = top.u1, depth = 1 第一个参数表示深度, 为0时记录所有深度; 第二个参数表示scope,省略时表当前的scope. $dumpvars; //depth = all scope = all $dumpvars(0); //depth = all scope = current $dumpvars(1, top.u1); //depth = 1 scope = top. u1 $dumpoff //暂停记录数据改变,信号变化不写入库文件中 $dumpon //重新恢复记录 3). Debussy fsdb数据库也可以记录信号的变化,它的优势是可以跟debus sy结合,方便调试.

ESP8266WIFI模块自制智能插座

ESP8266WIFI模块自制智能插座 本帖最后由Allenter 于2015-10-21 10:45 编辑 本人在今年年初就对Arduino和ESP6288(WIFI智能控制芯片)很感兴趣,当时就在淘宝购进了Arduino套件、ESP6288模块(EP-01和EP-12 )以及杂七杂八的一些小原件等等,平常比较忙,时间不算多,一边制作测试板然后做各种实验,一边学习相关编程技术,目前程序开发只是略懂皮毛,不过也算小有心得吧。 前段时间看到许多朋友用ESP6288WIFI智能控制芯片模块制作了不少东西,我也磨拳檫手打算也尝试一下作出一个成品来,这段时间稍稍有点时间,于是马上动手,参考网上一些朋友的经验,利用手上现有的材料和原件,制作了两个WIFI控制的智能插座,有一个已经放在公司对某个设备进行控制,挺好用的。 ESP6288现在有不少成品模块以及集成模块,大都价格低廉。对于开发和测试方便的如NodeMcu Lua WIFI 物联网开发板,30元左右,接上继电器模块就行了,相当简便易行。不过本人手上现成模块有EP-01和EP-12模块,还有低电平触发的继电器模块,考虑不要浪费,所以干脆就动手多一点吧。 对于EP-01模块(最便宜的模块,X宝现在8元都能买到了),网上已经有详细介绍,我这里就不累赘复述了,硬件上主要制作和改造几样东西,一个是供电电源,一个是继电器低电平改高电平触发,最后就是插座本身了。如果原件材料准备齐全的话,半天一天就可以完成的,但实际上工作之余的时间也是比较碎化,加上一些小原件和工具缺乏,影响了一些配套电路板制作和某些物件的调整加工,另外,程序开发上,虽然参考一些网上资料,也收集不少相关的开发说明和例程之类

DDS的原理及镜像频谱分析

DDS的原理及镜像频谱分析 1.目的: (1)了解DDS的原理。 (2)分析DDS的镜像频谱 2.DDS的原理 2.1.DDS的概述 直接数字式频率综合器DDS(Direct Digital Synthesizer),实际上是一种分频器:通过编程频率控制字对系统时钟进行分频以产生所需要的频率。DDS 有两个突出的特点,一方面,DDS工作在数字域,一旦更新频率控制字,输出的频率就相应改变,其跳频速率高;另一方面,由于频率控制字的宽度宽(48bit或者更高),频率分辨率高。 图1是DDS的内部结构图,它主要分成3部分:相位累加器(PHASE_ACCMULATOR),相位幅度转换(AMPLITUDE/SINE_CONV.ALGORITHM),数模转换器(D/A_CONVERTER) 图1 DDS的结构框图 2.2.DDS的组成 1、相位累加器:一个正弦波,它的幅度不是线性的,但是它的相位却是线性增加的。DDS就是 利用了这一特点来产生正弦信号。如图 2,根据DDS的频率控制字的位数N,把 360°平均分成了2N等份。假设系统时钟为Fc,输出频率为Fout。每次转动一个 角度360°/2N,则可以产生一个频率为Fc/2N的正弦波的相位递增量。那么只要 选择恰当的频率控制字M,使得Fout/Fc= M/2N,就可以得到所需要的输出频率 Fout=Fc*M /2N。

图2 相位累加器原理 2、相位幅度转换:通过相位累加器,我们已经得到了合成Fout频率所对应的相位信息,然后相 位幅度转换器把0°~360°的相位转换成相位相应的幅度值。比如当DDS选 择为2Vp-p的输出时,45°对应的幅度值为 0.707V,这个数值则以二进制的 形式被送入DAC。这个相位到幅度的转换是通过查表完成的。 3、数模转换器:的二进制数字信号被送入DAC中,并转换成为模拟信号输出。★注意★DAC 的 位数并不影响输出频率的分辨率。输出频率的分辨率是由频率控制字的位数决 定的。 3. DDS的镜像频谱分析: 我们已经知道DDS是一个分频器,在提供一个系统主频的情况下,能够输出低于系统主频,分辨率为2N的正弦波。即每一个主频周期,DAC都会输出一个点,而2N/M个点形成输出频率的一个周期。这就相当于以系统时钟的频率对输出时钟进行采样,根据奈奎斯特定律,这就是为什么输出频率要低于系统时钟的50%的原因。 下图3为DDS在300M主频,输出80M频率时的频谱。图4为AD9954(主频为400M)输出80M 频率时的频谱(无参考时钟倍频器)。

Nodemcu指引PDF

ESP8266&NodeMCU开发入门 本教程以NodeMCU1.0开发板(CP2102/CH340均适用)以及lua编程设计为主。 确认电脑已安装相关USB驱动(CP2102/CH340),以设备管理器可以找到COM口为准。确认此开发板已经更新為NodeMCU firmware(NodeMCU的官方固件)。按以下指引更新。 一、准备: 1、配套的固件如下(选择任意下载就行): 2、固件烧写简单步骤指引(固件烧录工具在配套的软件文件夹里):

二、使用ESPlorer测试 1、下载并安装lua编程及调试工具ESPlorer 官网链接:https://esp8266.ru/esplorer/ 配套软件文件夹有免安装版本。 注意:ESPlorer需要JAVA SE7或以上的環境。请自行配置好电脑的运行环境。 2、启动ESPlorer,设定串口通讯的波特率为9600。 设定完成后,按下OPEN与Nodemcu连接。 nodeMCU板子上面刚好有个LED(靠近USB接口),我们可以拿这个LED1来测试。先来看下板子的电路图。其中的R10,板子上面没有焊。LED部分电路图: 也就是说LED1和GPIO16连接到一起,低电平就可以点亮。而GPIO16对应的编号则是0。先用.mode配置GPIO16为输出模式。使用.write可以设置电平,设置成gpio.LOW会看到板子上的蓝灯亮起了。使用.read可以得到pin状态,这里使用print把读到的值打印出来。lua 没有printf函数,用起来真费劲。另外,为了能够看到灯亮,这里用了一下tmr.delay做一下延时。程序如下:教程不做程序的讲解,请使用者在后续的开发过程中自行学习。

软件测试心得体会(精选5篇)-最新范文

软件测试心得体会(精选5篇) 篇一:软件测试课收获和体会 软件测试课学习心得 1204013031 许院生 12计本3班 这个学期我学习了软件测试这门专业课程,在学期即将结束的时候,我也对这门课程建立基本的了解和理解。软件测试这门课程作为软件工程专业中一门很重要的课程,已经在软件领域占据了不可替代的角色,当一个软件从雏形到真正的在一台计算机上运行的时候,谁也不能保证计算机软件能一步到位的满足人们的需求。所以就有了软件测试,其目的是:第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确的方式来做了这个事件。下面我简单的写一下这个学期对课程的总结和收获。 我认为,在整个庞大的软件工程中,不管是需求分析、架构甚至是最后的debug,都会产生引入不管的机会,这就要求作为一个软件测试师要掌握丰富的软件工程原理和知识。测试的工作将会存在于整个项目周期,即在项目开始时需要各种分析调研时就开始了。尤其是在形成需求规格说明书时就有对文档的测试需求,甚至主导整个项目的走向。 软件测试对逻辑思维、学习能力、反应要求很高,是否有严密的思维和逆向思维也非常重要。做测试还要考虑到所有出错的可能性,有时候还要用一些非常规的的测试方法。软件测试还很注重软件性能问题,也就是要保证软件运行得很好;不同的使用环境下,考虑软件的兼容

性同样重要。对于测试员来讲,会比开发人员更加重视软件产品的质量问题。在测试过程中,测试者可能会为客户的需求角度考虑 到更多,由此我们可以认为测试人员有权利决定产品是否可以发布。然而,通过一个学期的学期,我们又不得不懂得,软件测试人员不是万能的,测试人员在面对一个设计烂编码烂的软件时,也是无法不低头的,再怎么测试它也变不成优秀的软件。 通过课上的理论因为课下的实践和后半学期又因为身体力行于QQ 群论坛里使我对测试方法和设计分析有了大致的接触和深入了解。收印象深刻的有一下几点。 1、最基本的测试的分类:从是否需要执行被测软件的角度,可分为静态测试和动态测试;从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试。 2、然后就是,白盒测试中的逻辑驱动测试的覆盖率测试。 3、还有就是对于划分等价类和边界值法这一块,让我从模糊到明朗。 4、在初次写测试用例的时候,感觉真是纠结,用例写的很死板,看似简单的一个填表工作,要写好真是不简单。一开始写的比较不自然,有些生搬硬套,而且还很慢。在后来负责了对论坛新鲜事版块的测试之后,明白了测试用例其实就是指导怎么去执行测试,而且书写设计测试用例也要以熟悉软件的业务为前提,才能更好的去测试。 另外就是一个学期的学习让我纠正了几点误区: 1. 有位大师曾说过:“软件测试的目的在于发现错误,一个好的测试用例在于发现从来未发现的错误,一个成功的测试是发现了从未发现

Debussy是一个VerilogVHDL调试工具

介绍 一、Debussy是一个Verilog/VHDL调试工具 Debussy是一套很好的Verilog/VHDL调试工具,可以帮助设计者快速理解复杂的设计,查找和定位设计中存在的问题,提高效率。 二、Debussy包含软件模块 Debussy主要有以下几个模块: 1、nTrace:超文本连接方式的源代码追踪及分析 2、nSchema:原理图显示及分析 3、nWave:波形显示及分析 4、nState:有限状态机的显示及分析 5、nCompare:分析仿真结果,比较其相异处。 Debussy的五个组成部分nTrace, nWave, nSchema, nState, nCompare在FSDB和Knowledge Database (KDB)的支持下高度集成。

三、Debussy功能 Debussy直接编译Verilog/VHDL源代码,并且采用了预综合技术识别电路的单元,可以生成原理图。在导入仿真结果后,可以用Active Annotation在源代码、原理图、状态图上动态显示变量的仿真值。 Debussy的输入为:Verilog/VHDL或混合语言源代码,仿真波形文件,SDF 支持的波形格式:vcd,fsdb,模拟波形文件(PowerMill,TimeMill,Avant! Star-Sim,SmartSpice) 支持的仿真器:VCS,Verilog-XL,NC-verilog,NC-VHDL,Modelsim,Leapfrog,Ploaris。

操作 一、启动 1. 启动 %debussy 启动debussy时,弹出一个nTrace窗口,包含三个子窗口: a、左边是Hierarchical Browser窗口,用来显示设计的层次(design hierachy)。 b、右边是Source Code window,显示源代码。跟踪信号的驱动、负载。 c、底下是Message window(消息窗口),用来报告操作的结果。 2.导入设计 File->Import Design Debussy提供了两种导入设计的方法: A、从设计源文件直接导入 B、从库导入(先将源文件编译成库) Note: 可以用命令的方式直接启动debussy并导入设计文件,即在命令行上列出所有的选项和源文件,或者把这些选项和源文件写到一个文件中,用-f选项指定这个文件。例如: %debussy design.v -v lib.v %debussy -f run.f Note: 启动debussy后,会自动建立一个日志目录DebussyLog,在这个目录下,有一个日志文件:,记录了Debussy的编译信息。 3.查看编译信息: File->View Import Log 二、根据仿真结果进行调试 1. 生成仿真的波形文件 Debussy提供的新的波形文件格式FSDB(Fast Signal DataBase),相比于VCD格式,压缩量大,比vcd文件小5-50倍,加载速度快。 Debussy提供了PLI(for Verilog)和FLI(for VHDL)接口,我们可以在仿真时直接导出FSDB文件。例如,在Verilog的测试模块中加入如下语句:

相关主题