Sheller_liu's blog

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年10月6日

摘要: 第一章 整数乘法器1.1 整数的概念整数在IEEE 的规定上有,短整数short integer , 中整数integer 和 长整数long integer ,它们之间的关系如下:整数字节空间取值范围短整数一个字节-127 ~ 127中整数两个字节-32767~32767长整数和四个字节-2147483647~2147483647在这里笔者以短整数为笔记的主角。短整数的最高位是符号位,符号位的正负表示了该值是“正还是负”?。正值的表示方法很简单,反之负值的表示方法是以补码来表示。+127 亦即8'b0111_1111;+4 亦即8'b0000_0100;-127 亦即8 阅读全文
posted @ 2012-10-06 20:42 sheller_liu 阅读(2406) 评论(1) 推荐(0) 编辑

2012年10月5日

摘要: 格雷码(Gray code),又叫循环二进制码或反射二进制码 在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。 因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换到4时二进制码的每一位都要变,使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它是一种数字排序系统,其中的所有相邻整数在它们的数字表示... 阅读全文
posted @ 2012-10-05 15:12 sheller_liu 阅读(2371) 评论(0) 推荐(0) 编辑

2012年10月2日

摘要: FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据, 其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端是AD数据采集, 另一端是计算机的PCI总线,假设其AD采集的速率为16位 100K SPS,那么每秒的数据量为100K×16bit=1.6Mbps,而PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为 1056Mb 阅读全文
posted @ 2012-10-02 22:17 sheller_liu 阅读(252) 评论(0) 推荐(0) 编辑

2012年9月30日

摘要: 所谓流水线处理,如同生产装配线一样,将操作执行工作量分成若干个时间上均衡的操作段,从流水线的起点连续地输入,流水线的各操作段以重叠方式执行。这使得操作执行速度只与流水线输入的速度有关,而与处理所需的时间无关。这样,在理想的流水操作状态下,其运行效率很高。 如果某个设计的处理流程分为若干步骤,而且整个数据处理是单流向的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入,则可以采用流水线设计方法来提高系统的工作频率。 下面用8位全加器作为实例,分别列举了非流水线方法、2级流水线方法和4级流水线方法。(1)非流水线实现方式:View Code 1 module adder_8bi... 阅读全文
posted @ 2012-09-30 21:02 sheller_liu 阅读(340) 评论(0) 推荐(0) 编辑

2012年9月27日

摘要: 检测回文的,例如输入abcdedcba,则返回YES。View Code 1 #include<stdio.h> 2 #include<string.h> 3 4 void huiwen(char a[]) 5 { 6 int j,i,k=0; 7 j=strlen(a); 8 for(i=0;i<j;i++,j--) 9 if(a[i]!=a[j-1])10 {11 k=1;12 break;13 }14 if(k==1)15 printf("N... 阅读全文
posted @ 2012-09-27 16:54 sheller_liu 阅读(150) 评论(0) 推荐(0) 编辑

2012年9月26日

摘要: 何谓静态时序分析(Static Timing Analysis,简称STA)? 它可以简单的定义为:设计者提出一些特定的时序要求(或者说是添加特定的时序约束),套用特定的时序模型,针对特定的电路进行分析。分析的最终结果当然是要求系统时序满足设计者提出的要求。 下面举一个最简单的例子来说明时序分析的基本概念。假设信号需要从输入到输出在FPGA内部经过一些逻辑延时和路径延时。我们的系统要求这个信号在FPGA内部的延时不能超过15ns,而开发工具在执行过程中找到了如图4.1所示的一些可能的布局布线方式。那么,怎样的布局布线能够达到我们的要求呢?仔细分析一番,发现所有路径的延时可能为14ns、14ns 阅读全文
posted @ 2012-09-26 21:55 sheller_liu 阅读(663) 评论(0) 推荐(0) 编辑

2012年9月24日

摘要: 1.选秀节目打分,分为专家评委和大众评委,score[]数组里面存储每个评委打的分数,judge_type[]里存储与score[]数组对应的评委类别,judge_type[i]==1,表示专家评委,judge_type[i]==2,表示大众评委,n表示评委总数。打分规则如下:专家评委和大众评委的分数分别取一个平均分(平均分取整),然后,总分=专家分*0.6+大众评委*0.4,总分取整。如果没有大众评委,则总分=专家评委平均分,总分取整。函数最终返回选手得分。函数接口:intcal_score(intscore[],intjudge_type[],intn)程序如下:View Code 1 . 阅读全文
posted @ 2012-09-24 18:25 sheller_liu 阅读(701) 评论(0) 推荐(0) 编辑