当前位置:文档之家› FPGA中脉冲边沿检测(Verilog)附测试文件测试结果

FPGA中脉冲边沿检测(Verilog)附测试文件测试结果

FPGA中脉冲边沿检测(Verilog)附测试文件测试结果
FPGA中脉冲边沿检测(Verilog)附测试文件测试结果

脉冲边沿检测(Verilog)

在很多时候都要对输入脉冲进行边沿检测,如PS/2时序,ps2_data数据在ps2_clk时钟下降沿接收。

边沿检测Verilog程序代码:

module DetecEdge(clk,ps2_clk,rst_n,pos_ps2_clk,neg_ps2_clk);

input clk; //输入时钟

input ps2_clk; //输入要检测边沿的脉冲

input rst_n; //复位信号

output pos_ps2_clk; //上升沿标志位

output neg_ps2_clk; //下降沿标志位

reg ps2_clk_r0,ps2_clk_r1,ps2_clk_r2; //ps2_clk状态寄存器

always@(posedge clk or negedge rst_n)

if(!rst_n)

begin

ps2_clk_r0<=1'b0;

ps2_clk_r1<=1'b0;

ps2_clk_r2<=1'b0;

end

else//锁存状态

begin

ps2_clk_r0<=ps2_clk;

ps2_clk_r1<=ps2_clk_r0;

ps2_clk_r2<=ps2_clk_r1;

end

assign pos_ps2_clk=(~ps2_clk_r2)&ps2_clk_r1; //上升沿检测

assign neg_ps2_clk=ps2_clk_r2&(~ps2_clk_r1); //下降沿检测

endmodule

测试文件与测试结果:

module test;

reg clk;

reg ps2_clk;

reg rst_n;

wire pos_ps2_clk;

wire neg_ps2_clk;

wire p0;

wire p1;

wire p2;

DetecEdge

aaa(.clk(clk),.ps2_clk(ps2_clk),.rst_n(rst_n),.pos_ps2_clk(pos_ps2_cl k),

.neg_ps2_clk(neg_ps2_clk),.p0(p0),.p1(p1),.p2(p2));

initial

begin

clk=1'b1;

forever #5 clk=~clk;

end

软件测试基本点(参考文件资料资料资料)

一、功能测试 1、对话框测试输入进行测试。包括日文字符、英文字符、数字字符、特殊字符、及几种字符的组合。 2、对界面可操作按钮进行测试。包括【新增(N)】【保存(S)】【修改(M)】【查询(A)】【打印(P)】【退出(X)】。同时需要对鼠标右键的菜单进行测试。 3、数据保存测试。将1 和2 进行组合。 4、必要条件控制测试。在做了3 时将必要条件(如:a、编号、姓名不可为空b、编号、姓名不可重复)控制测试联合起来。 二、图形界面测试 1.窗体是否能够基于相关的输入或菜单命令适当的打开 2.窗体是否能够改变大小、移动和滚动 3.窗体的数据是否能够利用鼠标、功能键、方向箭头和键盘操作 4.当窗体被覆盖并重新调用后,窗体是否能够正确再生 5.窗体相关的功能是否可以操作 6.是否显示相关的下拉菜单、工具条、滚动条、对话框、按钮、图标和其他控制,既能正确显示又能调用 7.显示多窗体时,窗体名称是否能够正确表示 8.活动窗体是否能够被反显加亮 9.多用户联机时所有窗体是否能够实时更新 10.鼠标无规则点击时是否会产生无法预料的结果 11.窗体声音及提示是否符合既定编程规则 12.窗体是否能够被关闭 13.窗体控件的大小、对齐方向、颜色、背景等属性的设置值是否和程序设计规约相一致 14.窗体控件布局是否合理、美观 15.窗体控件 TAB 顺序是否从左到右,从上到下 16.窗体焦点是否按照编程规范落在既定的控件上 17.窗体画面文字(全、半角、格式、拼写)是否正确 18.鼠标有多个形状时是否能够被窗体识别(如漏斗状时窗体不接受输入)

三、功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下: 1.页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。 2.相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。 3.检查按钮的功能是否正确:如update, cancel, delete, save 等功能是否正确。 4.字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度,会不会出错. 5.字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错. 6.标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键.看系统处理是否正确. 7.日文字符处理: 在可以输入日文的系统输入日文,看会否出现乱码或出错. 8.检查带出信息的完整性: 在查看信息和update 信息时,查看所填写的信息是不 是全部带出.,带出信息和添加的是否一致 9.信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系 统有没有处理,会否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理. 10.检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按”delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理. 11.检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型. 12.检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错. 13.重复提交表单:一条已经成功提交的纪录,back 后再提交,看看系统是否做了处理。 14.检查多次使用back 键的情况: 在有back 的地方,back,回到原来页面,再back,重复多次,看会否出错.

几种常用边缘检测算法的比较

几种常用边缘检测算法的比较摘要:边缘是图像最基本的特征,边缘检测是图像分析与识别的重要环节。基于微分算子的边缘检测是目前较为常用的边缘检测方法。通过对Roberts,Sobel,Prewitt,Canny 和Log 及一种改进Sobel等几个微分算子的算法分析以及MATLAB 仿真实验对比,结果表明,Roberts,Sobel 和Prewitt 算子的算法简单,但检测精度不高,Canny 和Log 算子的算法复杂,但检测精度较高,基于Sobel的改进方法具有较好的可调性,可针对不同的图像得到较好的效果,但是边缘较粗糙。在应用中应根据实际情况选择不同的算子。 0 引言 边缘检测是图像分析与识别的第一步,边缘检测在计算机视觉、图像分析等应用中起着重要作用,图像的其他特征都是由边缘和区域这些基本特征推导出来的,边缘检测的效果会直接影响图像的分割和识别性能。边缘检测法的种类很多,如微分算子法、样板匹配法、小波检测法、神经网络法等等,每一类检测法又有不同的具体方法。目前,微分算子法中有Roberts,Sobel,Prewitt,Canny,Laplacian,Log 以及二阶方向导数等算子检测法,本文仅将讨论微分算子法中的几个常用算子法及一个改进Sobel算法。 1 边缘检测

在图像中,边缘是图像局部强度变化最明显的地方,它主要存在于目标与目标、目标与背景、区域与区域( 包括不同色彩) 之间。边缘表明一个特征区域的终结和另一特征区域的开始。边缘所分开区域的内部特征或属性是一致的,而不同的区域内部特征或属性是不同的。边缘检测正是利用物体和背景在某种图像特征上的差异来实现检测,这些差异包括灰度、颜色或纹理特征,边缘检测实际上就是检测图像特征发生变化的位置。边缘的类型很多,常见的有以下三种: 第一种是阶梯形边缘,其灰度从低跳跃到高; 第二种是屋顶形边缘,其灰度从低逐渐到高然后慢慢减小; 第三种是线性边缘,其灰度呈脉冲跳跃变化。如图1 所示。 (a) 阶梯形边缘(b) 屋顶形边缘 (b) 线性边缘 图像中的边缘是由许多边缘元组成,边缘元可以看作是一个短的直线段,每一个边缘元都由一个位置和一个角度确定。边缘元对应着图像上灰度曲面N 阶导数的不连续性。如果灰度曲面在一个点的N 阶导数是一个Delta 函数,那么就

脉冲边沿检测

脉冲边缘检测法: Reg[2:0] key_rst; //用来保存按键的值 Reg[2:0] key_rst_r; //用来保存key_rst的值 always @(posedge clk or negedge rst) begin if(!rst)key_rst<=3’b111; else key_rst<={key1,key2,key3};//将三个按键的值都赋给key_rst end always @ (posedge clk or negedge rst) begin if(!rst) key_rst_r<=3’b111; else key_rst_r<=key_rst; end wire[2:0] key_an; assign key_an=key_rst_r&(~key_rst);//实现了记录由低电平按下的目的到此就可以判断有按键按下或有抖动。这两个是那一个到此还不确定。 Reg[2:0] low_sw; Reg[2:0] low_sw_r; Reg[19:0] cnt; always @(posedge clk or negedge rst) begin if(!rst) cnt<=20’d0; else if(key_an) cnt<=20’d0; else cnt<=cnt+1’b1; end always @(posedge clk or negedge clk) begin if(!rst) low_sw<=3’b111; else if(cnt==20’hfffff) low_sw<={key1,key2,key3}; end always @(posedge clk or negedge rst) begin if(!rst) low_sw_r<=3’b111; else low_sw_r<=low_sw; end wire[2:0] led_ctrl assign led_ctrl=low_sw_r&(~low_sw); 到此就可以判断是按键按下还是抖动了,如果led_ctrl=1那就是按键按下了,如果led_ctrl=0,则是抖动。 注:开始时按键接的脚为高电平。当按键按下时按键对应的脚为低电平。

软件测试中的43个功能测试点

软件测试中的43个功能测试点 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能,针对web系统我们有哪些常用测试方法呢?今天我们一起来了解了解~~ 1. 页面链接检查 每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如:LinkBotPro、File-AIDCS、HTMLLink Validater、xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTMLLink Validater只能测试以Html或者htm结尾的网页链接;xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。 2.相关性检查 功能相关性:删除/增加一项会不会对其它项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。 3.检查按钮的功能是否正确 如新建、编辑、删除、关闭、返回、保存、导入、上一页、下一页、页面跳转、重置等功能是否都正确。常见的错误会出现在重置按钮上,表现为功能失效。 4.字符串长度检查 输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度。还要检查需求规定的字符串长度是否都正确,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。 5.字符类型检查 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型)看系统是否检查字符类型。 6.标点符号检查 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。

脉冲信号正常与否的判断

1. 讲废话 最近闲得蛋疼,翻阅了一下以前的项目笔记,想起去年折腾的一个小玩意儿。记得当时是由于项目需要,boss找到我,说主板上有一个单片机,会发出heartbeat信号(就是MCU等一些芯片的心跳信号,只要芯片活着,就会一直发送固定频率的脉冲出去,如果芯片挂了,heartbeat就一直为0或1),能不能用CPLD判断这个信号是否处于正常状态?(说白了,也就是判断单片机是否还活着)。于是着手研究了一下这个heartbeat信号,用示波器测了一下,是一个标准的脉冲,频率为1HZ,占空比为50%,捯饬了两个小时,给出的解决方案是:每3s钟,计算一次上升沿的个数,如果此数值等于0,则heartbeat信号异常(用0表示),否则heartbeat信号正常(用1表示)。 把这个问题和方案贴出来,一是觉得实用性比较强,以前也没有看到有人做过,二是此解决方案对于其他同类问题有启发作用,只要弄懂此个案,其他问题也会触类旁通,易于解决。 现在给出方案的verilog源码,供大家研究,代码已通过项目验证,可靠好用。 2. 晒干货 ps. 带★号处可根据需要进行修改. /*********************************************************************** ******************* Author: Bob Liu E-mail:shuangfeiyanworld@https://www.doczj.com/doc/c92982854.html, Device: LCMX0256C-3T100C Tool: Diamond 1.1 Function:判断脉冲输入信号是否正常 Version: 2012-1-11 v1.0 ************************************************************************ ******************/ module pulse_in_status ( input CLK, // 基准时钟,50M input pulse_in, // 被测脉冲 output reg pulse_in_status // 指示被测脉冲正常与否,1表示正常,0异常 ); reg [1 :0] temp; // 电平值寄存器 reg [31:0] CNT,CNT2; reg [3 :0] pos_edge; // 上升沿个数 parameter delay = 50_000;

软件测试中的43个功能测试点

软件测试中的43个功能测试点软件测试 功能测试就是对产品的各功能进行php?name=%D1%E9%D6%A4">验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。针对web系统的常用测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。 2. 相关性检查:功能相关性:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。 数据相关性:下来列表默认值检查,下来列表值检查,如果某个列表的数据项依赖于其他模块中的数据,同样需要检查,比如,某个数据如果被禁用了,可能在引用该数据项的列表中不可见。 3. 检查按钮的功能是否正确:如新建、编辑、删除、关闭、返回、保存、导入,上一页,下一页,页面跳转,重置等功能是否正确。常见的错误会出现在重置按钮上,表现为功能失效。 4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。还要检查需求规定的字符串长度是否是正确的,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。 5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。 6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。 7.特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。常见的错误是出现在% ‘" 这几个特殊字符 8. 中文字符处理: 在可以输入中、英文的系统输入中文,看会否出现乱码或出错。 9. 检查信息的完整性: 在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。要注意检查的时候每个字段都应该检查,有时候,会出现部分字段更新了而个别字段没有更新的情况。

脉冲电路设计

脉冲电路脉冲电路的基本知识在数字电路中分别以高电平和低电平表示1状态和0状态。此时电信号的波形是非正弦波。通常,就把一切既非直流又非正弦交流的电压或电流统称为脉冲。图Z1601表示出几种常见的脉冲波形,它们既可有规律地重复出现,也可以偶尔出现一次。脉冲波形多种多样,表征它们特性的参数也不尽相同,这里,仅以图Z1602所示的矩形脉冲为例,介绍脉冲波形的主要参数。(1)脉冲幅度Vm--脉冲电压或电流的最大值。脉冲电压幅度的单位为V、mV,脉冲电流幅度的单位为A、mA。(2)脉冲前沿上升时间tr--脉冲前沿从0.1Vm上升到0.9Vm所需要的时间。单位为ms、μs、ns。(3)脉冲后沿下降时间tf--脉冲后沿从0.9Vm下降到0.1Vm所需要的时间。单位为:ms、μs、ns。(4)脉冲宽度tk--从脉冲前沿上升到0.5Vm处开始,到脉冲下降到0.5Vm处为止的一段时间。单位为:s、ms、μs或ns。(5)脉冲周期T--周期性重复的脉冲序列中,两相邻脉冲重复出现的间隔时间。单位为:s、ms、μs。(6)脉冲重复频率--脉冲周期的倒数,即f =1/T,表示单位时间内脉冲重复出现的次数,单位为Hz、kHz、MHz。(7)占空比tk/T--脉冲宽度与脉冲周期的比值,亦称占空系数。 对电路来说,有个阻抗匹配问题,只有当阻抗匹配时,输出效果才最好,否则,有可能导致负载力不足,导致一旦外加电路,就会把电压拉下了,建议后面加一级运放增大负载能力 交流电源的零交越脉冲电路设计 时间:2012-04-25 14:58:04 来源:作者:本设计中的电路可生成一个交流电源的零交越脉冲,并提供电气绝缘。输出脉冲的下降沿出现在零交越点前约200μs。使用这个电路可以安全地停止一个可控硅栅极的触发,使之有时间正常地关断。只有当主电压约为0V时,电路才产生短脉冲,因此在230V、50Hz输入下只耗电200mW。 电路为电容C1充电,直至达到22V齐纳二极管D3的上限(图1与参考文献1)。电阻R1和R5用于限制输入电流。当输入整流电压降至C1电压以下时,Q1开始导通,产生一个几百微秒长的脉冲。IC1的耦合使得Q1方波发生器作出响应。rms工作电压只需要R1和R5。SMD的1206型电阻一般能承受rms为200V的电压。本设计将R1和R5之间的输入电压一分为二,总额定电压为rms值400V。D3用于将桥的电压限制在22V,因此后面所有元件都有较低的额定电压。22V齐纳管可以箝位在30V,因此本设计使用了一只50V、470nF的陶瓷电容。陶瓷电容较电解电容或钽电容有更好的可靠性,尤其是在高温下。如果愿意使用更便宜更小的25V元件,可以将齐纳管的电压改为18V,仍保有不错的安全边际。R4用于限制LED上的峰值电流。对LED电流的主要限制是整流AC输入的斜率。缓慢的斜率使得C1释放储存的能量时,Q1不会产生电流尖峰。

CTF 文件上传检测的基本思路

文件上传检测的基本思路 1: 前台脚本检测扩展名—绕过 原理 当用户在客户端选择文件点击上传的时候,客户端还没有向服务器发送任何消息,就对本地文件进行检测来判断是否是可以上传的类型,这种方式称为前台脚本检测扩展名。 ?1绕过方法 . 绕过前台脚本检测扩展名,就是将所要上传文件的扩展名更改为符合脚本检测规则的扩展名,通过BurpSuite工具,截取数据包,并将数据包中文件扩展名更 改回原来的,达到绕过的目的。 . . 例如:文件名本来为【evil.jpg】,上传时,用BurpSuite截包后,将数据包中的名字改为【evil.php】(或其它脚本类型)即可。 . ?1 ?2 2: Content-Type检测文件类型—绕过 原理

当浏览器在上传文件到服务器的时候,服务器对说上传文件的Content-Type 类型进行检测,如果是白名单允许的,则可以正常上传,否则上传失败。 ?1绕过方法 绕过Content--Type文件类型检测,就是用BurpSuite截取并修改数据包中文件的Content-Type类型(如改为:image/gif),使其符合白名单的规则,达到上传的目的。 ?1 3: 文件系统00截断—绕过 原理 在上传的时候,当文件系统读到【0x00】时,会认为文件已经结束。利用00截断就是利用程序员在写程序时对文件的上传路径过滤不严格,产生0x00上传截断漏洞。 ?1绕过方法 通过抓包截断将【evil.php.jpg】后面的一个【.】换成【0x00】。在上传的时候,当文件系统读到【0x00】时,会认为文件已经结束,从而将【evil.php.jpg】的内容写入到【evil.php】中,从而达到攻击的目的。 ?1 4: 服务器端扩展名检测黑名单—绕过

基于verilog的边沿检测电路

在时序逻辑电路中,少不了“沿”。always块敏感信号中可以通过关键字posedge和negedge来提取信号的上升沿和下降沿。但是如果在程序块内部需要某个信号的上升沿或者下降沿、或者对于按钮触发的模块,由于按钮按下的持续时间很长,相当于一个电平信号,而不是脉冲信号,这时就需要边沿检测电路将其处理成单时钟周期宽度的脉冲信号。下面介绍几种基于verilog的边沿检测电路。(软件平台为quartus11.1,ModelSim-Altera 10.0) 方法1: ①Verilog源码 module detecEdge (clk,rst_n,din,pos_clk,neg_clk,doub_clk); input clk,rst_n,din; output pos_clk,neg_clk,doub_clk; reg ctl_this, ctl_last; always @(posedge clk or negedge rst_n) //同步复位(注意与异步复位的区别) begin if(!rst_n) //低有效 begin ctl_this <= 0; ctl_last <= 0; end else begin //注意非阻塞赋值的作用 ctl_this <= din; //din的当前时钟值 ctl_last <= ctl_this; //din的前一个时钟值 end end //assign pos_clk = (ctl_last == 0 && ctl_this == 1)? 1:0; //上升沿检测 //assign neg_clk = (ctl_last == 1 && ctl_this == 0)? 1:0; //下降沿检测 assign pos_clk = ctl_this & (!ctl_last); //上升沿检测 assign neg_clk = ctl_last & (!ctl_this); //下降沿检测 assign doub_clk = ctl_last ^ ctl_this; //双边沿检测 endmodule ②RTL综合图

百度文库上传测试文档一

核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。核实:文档中是否出现乱码/图片、文字模糊或相互遮挡/大量空白页面等内容,影响文档正常阅读。

文件资料上传下载测试用例

上传文件和导出的测试用例设计 一:上传图片 对于上传的文件,假设系统要求上传的文件为jpg或gif格式图片,大小为<=5M的文件,我们在设计测试用例时,应该从以下几个方面进行考虑: 1:文件类型正确,文件大小合适的校验 例如:上传一种jpg或gif的格式图片,文件大小为4.9M,结果为上传成功 2:文件类型正确,文件大小不合适的校验 例如:上传一种jpg或gif的格式图片,文件大小为5.1M,提示为:“上传的附件中大小不能超过5M” 3:文件类型正确,文件大小合适的校验 例如:上传一种jpg或gif的格式图片,文件大小为5M,结果为上传成功 4:文件类型错误,文件大小合适的校验 例如:上传.doc;.xls;ppt;bmp;jpeg;psd;tiff;tga;png;swf;svg;pcx;dxf;wmf;emf;lic;eps;.txt等格式文件,文件大小合适,提示“只能上下jpg或gif格式图片” 5:文件类型和文件大小合法,上传一个0kb的图片,提示信息:“请重新上传文件,或者是不能上传0kb的图片” 6:文件类型和文件大小合法,上传一个正在使用中的图片(即打开该图片,在上传该图片),上传成功 7:文件类型和文件大小合法,手动输入一个存在的图片地址,点击上传,上传成功 8:文件类型和文件大小合法,手动输入一个不存在的图片地址,点击上传,提示:“请正确选择要上传的文件”

9:文件类型和大小都合法,手动输入一个存在的图片名称,点击上传,一般情况下系统会提示:“请正确选择要上传的文件的路径” 二:文件导出 1、验证导出文件名长度,根据具体情况而定 2、验证导出文件为空的情况 3、验证导出文件名为特殊字符的情况 4、验证导出全部资料的情况,导出的信息是否正确 5、验证导出部分资料的情况,导出的信息是否正确 6、验证导出大量数据时的时间是否在合理的时间范围内 7、验证导出目的磁盘空间已满的情况下,导出是否有友好的处理方式 8、验证导出目的的文件夹为只读的情况下,导出时是否有友好的的提示信息 --------------------------------------------------------------- 文件上传: ***页面*** 1、页面美观性、易用性 2、按钮文字正确性 3、说明文字是否正确 4、正确/错误的提示文字是否正确 5、提示当前位置是否正确,并且和其他页面保持一致格式 6、必添项的标示是否正确 ***功能***

脉冲边沿检测器

河北理工大学轻工学院信息科学技术部 课程设计说明书 设计题目脉冲边沿检测器 班级 姓名 学号 指导教师 年月日

时间地点电工电子实验中心 课程设计内容 一、课程设计题目 脉冲边沿检测器。 二、课程设计要求 1开关A为复位键。 2开关B为单脉冲输入端,可先输入负脉冲,也可先输入正脉冲。 3由红灯来表示正脉冲,绿灯表示负脉冲,且复位前指示灯一直亮。 4复位后,可重新检测。 三、课程设计目的 1通过实验了解掌握脉冲边沿检测电路的工作原理以及设计方法。 2熟悉TTL集成JK触发器74LS73和集成或非门74LS02的使用方法。 四、课程设计任务分析 根据课程设计要求,检测输入脉冲为正脉冲或负脉冲。脉冲指电子电路中的电平状态突变,既可以是突然升高(脉冲的上升沿),也可以是突然降低(脉冲的下降沿).即正脉冲就是脉冲的上降沿;负脉冲就是脉冲的下降沿。由此可知课程设计任务为检测脉冲跳变情况。并用发光二极管表示出来。 五、课程设计方案论证 1.通过任务分析,确定课程设计所需器件为 74LS73 双JK触发器 74LS02 四-2输入或非门 红、绿发光二极管 适当的电阻 2考虑到经济适用原则,设计出下列既简单又实用的设计结果。(电路图见课程设计内容)该设计结果可以识别脉冲的第一个跳变沿究竟是上升沿还是下降沿(既确定是正脉冲或负脉冲),并能将结果显示出来。该电路所能检测的TTL脉冲信号的最小宽度可达50ns,由于电路中只用了两片集成电路,在校验和调试数字电路时,可以很方便地装在一个探头里。该电路选用单刀双掷开关来代替单脉冲发生器,使电路更加

简单,容易操作。 所以确定该课程设计为最优结果。 六、单元电路设计与元器件选择 1、单脉冲产生电路 用74LS00四2输入与非门组成的RS触发器制作一个单脉冲产生电路,用于产生测试脉冲。电路图如下 74LS00管脚图 单脉冲产生电路 2、74LS73双JK触发器引脚图如下

软件测试中功能测试点总结

1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。 2. 相关性检查: ? 功能相关性:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。 ? 数据相关性:下拉列表默认值检查,下拉列表值检查,如果某个列表的数据项依赖于其他模块中的数据,同样需要检查,比如,某个数据如果被禁用了,可能在引用该数据项的列表中不可见。 3. 检查按钮的功能是否正确:如新建、编辑、删除、关闭、返回、保存、导入,上一页,下一页,页面跳转,重置等功能是否正确。常见的错误会出现在重置按钮上,表现为功能失效。 4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。还要检查需求规定的字符串长度是否是正确的,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。 5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。 6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。 7.特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。常见的错误是出现在% … \ 这几个特殊字符

FPGA中脉冲边沿检测(Verilog)

脉冲边沿检测(Verilog) 在很多时候都要对输入脉冲进行边沿检测,如PS/2时序,ps2_data数据在ps2_clk时钟下降沿接收。 边沿检测Verilog程序代码: module DetecEdge(clk,ps2_clk,rst_n,pos_ps2_clk,neg_ps2_clk); input clk; //输入时钟 input ps2_clk; //输入要检测边沿的脉冲 input rst_n; //复位信号 output pos_ps2_clk; //上升沿标志位 output neg_ps2_clk; //下降沿标志位 reg ps2_clk_r0,ps2_clk_r1,ps2_clk_r2; //ps2_clk状态寄存器 always@(posedge clk or negedge rst_n) if(!rst_n) begin ps2_clk_r0<=1'b0; ps2_clk_r1<=1'b0; ps2_clk_r2<=1'b0; end else//锁存状态 begin ps2_clk_r0<=ps2_clk; ps2_clk_r1<=ps2_clk_r0; ps2_clk_r2<=ps2_clk_r1; end assign pos_ps2_clk=(~ps2_clk_r2)&ps2_clk_r1; //上升沿检测 assign neg_ps2_clk=ps2_clk_r2&(~ps2_clk_r1); //下降沿检测 endmodule 布线布局后仿真波形如下图:

可以注意到其中的移位寄存器用了非阻塞赋值(<=) ps2_clk_r0<=ps2_clk; ps2_clk_r1<=ps2_clk_r0; ps2_clk_r2<=ps2_clk_r1; 如果用阻塞赋值的话,综合的时候会把其中两个寄存器去点,用阻塞赋值(=) ps2_clk_r0=ps2_clk; ps2_clk_r1=ps2_clk_r0; ps2_clk_r2=ps2_clk_r1; 会出来这样的警告: WARNING:Xst:646 - Signal is assigned but never used. Register equivalent to has been removed Found 1-bit register for signal . WARNING:Xst:2677 - Node of sequential type is unconnected in block . 从RTL可以看到,只剩ps2_clk_r1一个D触发器。 上图是非阻塞赋值综合后的RTL,可以看出,有三个D触发器做移位寄存器。通过移位,对边沿进行检测。

常见的一些功能测试点

常见的一些功能测试点 一、登录、添加、删除、查询模块的测试点 1. 登录 ① 用户名和密码都符合要求(格式上的要求) ② 用户名和密码都不符合要求(格式上的要求) ③ 用户名符合要求,密码不符合要求(格式上的要求) ④ 密码符合要求,用户名不符合要求(格式上的要求) ⑤ 用户名或密码为空 ⑥ 数据库中不存在的用户名,不存在的密码 ⑦ 数据库中存在的用户名,错误的密码 ⑧ 数据库中不存在的用户名,存在的密码 ⑨ 输入的数据前存在空格 ⑩ 输入正确的用户名密码以后按[enter]是否能登录 2. 添加 ① 要添加的数据项均合理,检查数据库中是否添加了相应的数据 ② 留出一个必填数据为空 ③ 按照边界值等价类设计测试用例的原则设计其他输入项的测试用例 ④ 不符合要求的地方要有错误提示 ⑤ 是否支持table键 ⑥ 按enter是否能保存 ⑦ 若提示不能保存,也要察看数据库里是否多了一条数据 3. 删除 ① 删除一个数据库中存在的数据,然后查看数据库中是否删除 ② 删除一个数据库中并不存在的数据,看是否有错误提示,并且数据库中没有数据被删除 ③ 输入一个格式错误的数据,看是否有错误提示,并且数据库中没有数据被删除。 ④ 输入的正确数据前加空格,看是否能正确删除数据 ⑤ 什么也不输入

⑥ 是否指出table键 ⑦ 是否支持enter键 4. 查询 精确查询: ① 输入的查询条件为数据库中存在的数据,看是否能正确地查出相应得数据 ② 输入正确的查询条件以前加上空格,看是否能正确地查出相应的数据 ③ 输入格式或范围不符合要求的数据,看是否有错误提示 ④ 输入数据库中不存在的数据 ⑤ 不输入任何数据 ⑥ 是否支持table键 ⑦ 是否支持enter键 模糊查询: 在精确查询的基础上加上以下一点 ① 输入一些字符,看是否能查出数据库中所有的相关信息 二、设计功能和界面测试用例 1.文本框、按钮等控件测试 1.1文本框的测试 1.1.1如何对文本框进行测试 a,输入正常的字母或数字。 b,输入已存在的文件的名称; c,输入超长字符。例如在“名称”框中输入超过允许边界个数的字符,假设最多255个字符,尝试输入 256个字符,检查程序能否正确处理; d,输入默认值,空白,空格; e,若只允许输入字母,尝试输入数字;反之;尝试输入字母; f,利用复制,粘贴等操作强制输入程序不允许的输入数据; g,输入特殊字符集,例如,NUL及\n等;

上传模块的测试用例

上传的测试用例 1.功能测试 (1)选择符合要求的文件,上传--------上传成功; (2)上传成功的文件名称显示----------显示正常(根据需求) (3)查看,下载上传成功的文件--------上传的文件可查看或下载(4)删除上传成功的文件-------------可删除 (5)替换上传成功的文件-------------可替换 (6)上传文件是否支持中文名称--------根据需求而定 (7)文件路径是否可手动输入----------根据需求而定 (8)手动输入正确的文件路径,上传-----上传成功 (9)手动输入错误的文件路径,上传-----提示,不能上传 2.文件大小测试 (1)符合格式,总大小稍小于限制大小的文件------上传成功 (2)符合文件,总大小等于限制大小的文件--------上传成功 (3)符合文件总大小稍大于限制大小的文件--------在上传初提示附件过大 (4)小为0kb的txt文档-----------------------不能上传 3.文件名称测试 (1)文件名称过长。Win2000标准:255个字符(指在英文的字符下),如果是中文不超过127个汉字-----提示过长 (2)文件名称达到最大长度(中文,英文或混在一起)上传后名称显示,页面排版-----------页面显示正常 (3)文件名称中包含特殊字符-------------根据需求而定 (4)文件名全为中文--------------------根据需求而定 (5)文件名全为英文--------------------根据需求而定 (6)文件名为中、英混合-----------------根据需求而定 4.文件格式测试 (1)上传正确格式-----------------上传成功 (2)上传不允许的格式--------------提示不能上传 (3)上传rar,zip等打包文件(多文件压缩)---------根据需求而定 5.安全性测试 (1)上传可执行文件(exe文件)-----------------根据需求而定 (2)上传常见的木马文件------------------------提示不能上传 (3)上传时服务器空间已满----------------------有提示 6.性能测试 (1)上传时网速很慢(限速)-----------------当超过一定时间,提示(2)上传过程断网--------------------------有提示是否上传成功

软件测试中的43个功能测试点(精)

软件测试中的43个功能测试点软件测试功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。针对web系统的常用测试方法如下: 1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu 无需安装,支持asp、do、jsp等结尾的网页,xenu测试链接包括内部链接和外部链接,在使用的时候应该注意,同时能够生成html格式的测试报告。如果系统用QTP进行自动化测试,也可以使用QTP的页面检查点检查链接。 2. 相关性检查:功能相关性:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确,常见的情况是,增加某个数据记录以后,如果该数据记录某个字段内容较长,可能会在查询的时候让数据列表变形。数据相关性:下来列表默认值检查,下来列表值检查,如果某个列表的数据项依赖于其他模块中的数据,同样需要检查,比如,某个数据如果被禁用了,可能在引用该数据项的列表中不可见。 3. 检查按钮的功能是否正确:如新建、编辑、删除、关闭、返回、保存、导入,上一页,下一页,页面跳转,重置等功能是否正确。常见的错误会出现在重置按钮上,表现为功能失效。 4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。还要检查需求规定的字符串长度是否是正确的,有时候会出现,需求规定的字符串长度太短而无法输入业务数据。 5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型,看系统是否检查字符类型。 6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。常见的错误是系统对空格的处理,可能添加的时候,将空格当作一个字符,而在查询的时候空格被屏蔽,导致无法查询到添加的内容。 7.特殊字符检查:输入特殊符号,如@、#、$、%、!等,看系统处理是否正确。常见的错误是出现在% ‘ " 这几个特殊字符 8. 中文字符处理: 在可以输入中、英文的系统输入中文,看会否出现乱码或出错。 9. 检查信息的完整性: 在查看信息和更新信息时,查看

基于脉冲周期测量

\\ 单片机原理与应用课程设 计 脉冲周期的测量 学院名称: 电气信息工程学院 班 级: 07电子1Z 姓 名: 张秀银 学 号: 07311126 JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY

目录 一、课程设计的目的和意义 (2) 二、程序设计的具体要求 (2) 三、程序设计的硬件连接 (2) 四、软件设计流程及描述 (5) 五、程序清单 (9) 六、调试与分析 (13) 七、课程设计的体会 (13) 八参考文献 (14)

一、程序设计的目的和意义 (1)目的:通过本次课程设计,巩固和加深“单片机原理与应用”中的理论知识,了解和应用单片机仿真系统,结合软硬件,基本掌握单片机的应用的一般设计方法,提高电子电路的设计和实验能力,并且提高自身查找和运用资料能力 (2)意义:通过本次课程设计,理论知识系统化,从中或得一些实战工作经验,提高个人与团体合作的能力。 二、程序设计的具体要求 利用单片机AT89C51单片机的T0、T1的定时/计数功能,完成对待测信号的周期进行测量,测量的结果通过8位动态数码管显示出来。 设计要求的技术指标有: 1、输入脉冲幅度:0-5v 2、周期量测量范围:0.1ms—50ms 3、测量精度:正负1% 4、显示方式:四位数字显示 三、程序设计的硬件连接h 1 总体框图 被测信号 晶振电路89C51 单片机控制器4位数码管显示 7407 列驱动

2 信号源的产生: 被测信号源用的是带RC电路的环形振荡器电路图 带RC电路的环形振荡器 电路如图所示。其中G4用于整形,以改善输出波形,R为限流电阻,一般取100Ω,。电位器R w 要求不大于1KΩ。电路利用电容C充放电过程,控制D点电 压V D ,从而控制与非门的自动启闭,。形成多谐振荡,电容C的充电时间t w1 、 放电时间t w2 和总的振荡周期T分别为: t w1≈0.94RC, t w2 ≈1.26RC ,。T≈2.2RC 调节R和C的值,可改变输出信号的振荡频率。 以上这些电路的状态转换都发生在与非门输入电平达到门的阀值电平V T 的时 刻。在V T 附近电容器的充放电速度已经很缓慢,。而且V T 本身也不够稳定,易 受温度、电源电压变化等因素以及干扰的影响。因此,电路输出频率的稳定性较差。 信号源电路由RC振荡器构成,电阻选510欧姆,电容选择0.1uf,,产生矩形波后通过非门整形,非门由与非门74LS00构成,实际电路中用到四个与非门,使得整形更好,波形更稳定。根据公式T=2.2*RC ,计算可得周期为112.2ms 3 数码显示电路 采用的为共阴极。 P0口来送段选信号,P0口内部并没有带上拉电阻,在接收数码管时需要在两者之间加一排阻,降低电流来保护P0口。利用了P2.0~P2.3来送位选信号即哪一个数码管来亮,且送低电平时有效,数码管用动态显示的方式来显示测量的周期值。

相关主题
文本预览
相关文档 最新文档