09 2011 档案

摘要:串行进位加法器需要一级一级的进位,进位延迟很大。先行进位加法器(也叫超前进位加法器)可以有效的减少进位延迟。 设二进制加法器的第i位输入为Xi, Yi, 输出为Si, 进位输入为Ci,进位输出为Ci+1则有 Si = Xi⊕Yi⊕Ci Ci+1 = Xi·Yi + Xi·Ci + Yi·Ci = Xi·Yi + (Xi + Yi)·Ci令Gi = Xi·Yi, Pi = Xi+Yi 则Ci+1 = Gi + Pi·Ci当Xi和Yi都为1时,Gi = 1,产生进位Ci+1 = 1当Xi和Yi有一个为1时,Pi = 1,传递进位 阅读全文
posted @ 2011-09-30 11:23 oceany 阅读(6110) 评论(0) 推荐(2)
摘要:OTSU二值化方法是一种全局阈值分割方法,它基于类间方差最大原理。 C代码如下: #include<stdlib.h>bool tobinary(unsigned char *pImage, int width, int height, int biBitCount){ int i, j, k; int h[256]={0}; unsigned int ip1, ip2, is1, is2=0; //存储前景和背景的灰度总和及像素个数 double w0, w1=0; //前景和背景像素的比例 double mean1, ... 阅读全文
posted @ 2011-09-29 17:48 oceany 阅读(1471) 评论(0) 推荐(0)
摘要:串行进位加法器由一位全加器级联而成,结构简单,但延时很长,延时主要是进位信号级连造成的。在最坏情况下,进位必须从最低有效全加器传到最高有效全加器。 一位全加器的公式为:SUM=X⊕Y⊕CIN COUT=X·Y+ X·CIN+Y·CIN 在Verilog里可以调用门电路的原语实现。 下面为8位串行进位加法器的Verilog代码module add_serial(sum,cout,a,b,cin); //8位串行加法器input cin;input [7:0] a,b;output cout;output [7:0] sum;wire cin1,cin2,cin3,c 阅读全文
posted @ 2011-09-28 20:02 oceany 阅读(3551) 评论(0) 推荐(0)
摘要:《数字系统设计与Verilog HDL》上面有这么一段代码,用于实现8位4级流水线加法器。module adder8pip(cout,sum,cin,ina,inb,clk );input cin,clk;input [7:0] ina,inb;output cout;output [7:0] sum;reg cout,tempcin;reg [7:0] sum,tempa,tempb;reg firstco,secondco,thirdco; //前三级加法的进位输出reg [1:0] firstsum,thirdina,thirdinb;reg [3:0] secondsum,sec... 阅读全文
posted @ 2011-09-28 17:57 oceany 阅读(2865) 评论(0) 推荐(0)