摘要: 检查时序的方式之一是时序仿真,在仿真过程中计算与该模块相关的延迟值;之二是静态时序验证。(1)延迟类型·分布延迟:在每个独立的元件基础上定义一种建模方式是将延迟值赋给独立的门,另一种是在单独的assign语句中指定延迟值。·集总延迟:定义在每个独立模块基础上,表面看来像是模块输出门的当延迟。它比分布延迟更容易建模。·引脚到引脚(即路径)的延迟:分别把延迟赋给模块中从每个输入到每个输出之间的所有路径。因此可以针对每条输入/输出路径分别指定延迟。对大规模电路而言,它比分布延迟更容易建模,设计者只需了解模块的输入输出引脚,无需了解模块内部。(2)路径延迟·sp 阅读全文
posted @ 2014-03-03 21:53 April1314 阅读(810) 评论(0) 推荐(0) 编辑
摘要: module decode(data_in,EN,data_out)//4to16译码 input[3:0] data_in; input EN; output[6:0] data_out; reg[6:0]data_out; always(data_in or EN) begin data_out=7'b1111111; if(EN==1) case(data_in) 4'b0000:data_out=7'b0111111; //0 4... 阅读全文
posted @ 2013-12-12 17:05 April1314 阅读(715) 评论(0) 推荐(0) 编辑
摘要: moduledetect_module(CLK,RSTn,RX_Pin_In,H2L_Sig);inputCLK;inputRSTn;inputRX_Pin_In;outputH2L_Sig;regH2L_F1;regH2L_F2;always@(posedgeCLKornegedgeRSTn)if(!RSTn)//有无复位beginH2L_F1<=1'b1;H2L_F2<=1'b1;//非阻塞语句endelsebeginH2L_F1<=RX_Pin_In;H2L_F2<=H2L_F1;endassignH2L_Sig=H2L_F2&!H2L_F 阅读全文
posted @ 2013-11-15 14:31 April1314 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 理解施密特触发器消除抖动在于两点:1.什么是脉冲抖动——通俗得讲,在脉冲的上升沿或者下降沿由于人手的细微抖动(人手在触碰物体时常会“哆嗦”,仅仅是幅度极小人没有觉察而已,除非受到惊吓很紧张的时候抖动的幅度大到会被人觉察)或者其它电路硬件产生的幅度较小的震荡,这些原因造成了脉冲边沿的一些或大或小的毛刺引起了脉冲波形的畸变,这些称之为脉冲抖动;2.施密特触发器的特点:输入的电平高于某一个值(比如说1.8V)触发器输出电平会向下翻转,产生一个下降沿,输入的电平低于某一个值(比如说0.8V)触发器输出电平会向上翻转,产生一个上升沿,那么当输入电平介于两个翻转阈值之间时施密特触发器的输出不会动作;从上面 阅读全文
posted @ 2013-11-07 09:24 April1314 阅读(921) 评论(0) 推荐(0) 编辑
摘要: #include "stdio.h"typedef int ElemType;typedef struct node{ ElemType data; /*数据域*/ struct node *next; /*指针域*/}LNode,*LinkList;LinkList GreatLinkList(int n){ LinkList p,r,list=NULL; ElemType e; int i; for(i=1;idata=e; p->next=NULL; if(!list) list=p; ... 阅读全文
posted @ 2013-11-06 11:47 April1314 阅读(163) 评论(0) 推荐(0) 编辑
摘要: #include "stdio.h"typedef struct student{ int id; /*学生编号*/ char name[10]; /*学生姓名*/ float score; /*成绩*/ }Student;int search(Student stu[],int n,int key){ int i; for(i=0; i<n; i++) if( stu[i].id == key ) /*查找成功*/ return i; ... 阅读全文
posted @ 2013-11-05 22:16 April1314 阅读(1019) 评论(0) 推荐(0) 编辑
摘要: 转自:christines(致谢)http://www.eefocus.com/sbogwxf230/blog/12-01/236922_15c25.html关于有些客户反映USB Blaster驱动安装不上的问题的解决有不少客户反映USB Blaster驱动装不上去,具体情况描述如下:1. 在电脑插入USB Blaster后,屏幕右下解出现如下提示接着出现找到新的硬件向导选择从列表或指定位置安装(高级)选中从列表或指定位置安装(高级)后点击下一步在此步中选择在搜索中包括这个位置,指向quartus安装目录下的drivers\usb-blaster目录后,点击下一步最后提示无法安装这个硬件经过 阅读全文
posted @ 2013-11-05 21:35 April1314 阅读(1880) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include using namespace std;using namespace cv;void tracking(Mat &frame, Mat &output);bool addNewPoints();bool acceptTrackedPoint(int i);string window_name = "optical flow tracking";Mat gray; // 当前图片Mat gray_prev; // 预测图片vector points[2 阅读全文
posted @ 2013-11-04 17:05 April1314 阅读(929) 评论(0) 推荐(0) 编辑
摘要: 转自:Opencv Chinahttp://wiki.opencv.org.cn/index.php/VC_2010下安装OpenCV2.4.4说明:安装平台:32位XP,VS2010;OpenCV 2.4.4不支持VC 6.0;网上有很多用CMake编译OpenCV的安装教程,这里建议先不要自己编译,如果使用预编译好的库有问题,再尝试自己编译。希望大家好好看看每一部分的注意事项,看懂了再去配置,不然错了,还不知道错在哪里。尤其要注意自己的操作系统的位数,还有相应的路径。目录[隐藏]1一、下载OpenCV2二、设置环境变量2.1用户变量设置2.1.1设置PATH2.1.2新建OpenCV变量2 阅读全文
posted @ 2013-11-04 17:00 April1314 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 转自:Tiger & Pihttp://blog.163.com/my_645/blog/static/369785222013310619742/Watershed就是传说中的分水岭算法, 它将一幅图像看成是一块有湖泊和山川组成的地形。 图像灰度值大的像素对应海拔高的山地, 灰度值低的像素对应于海拔低的盆地。Watershed分割是模拟湖水上涨并在湖泊相遇处筑坝的过程。一般水是从湖泊的最低处灌进去,最低点对应于图像的局部最低点。 但确定局部最低点的自动话算法得到的结果往往不尽如人意, 所以常常要手动指定marker点。函数原型void cvWatershed(Iplimage *sr 阅读全文
posted @ 2013-11-04 16:58 April1314 阅读(1449) 评论(0) 推荐(0) 编辑