当前位置:文档之家› 《集成电路设计》课程设计实验报告

《集成电路设计》课程设计实验报告

《集成电路设计》课程设计实验报告(前端设计部分)课程设计题目:数字频率计所在专业班级:电子科作者姓名:作者学号:指导老师:目录(一)概述 22一、设计要求2二、设计原理 3三、参量说明3四、设计思路3五、主要模块的功能如下4六、4七、程序运行及仿真结果4八、有关用GW48-PK2中的数码管显示数据的几点说明5(三)方案分析 71011(一)概述在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此频率的测量就显得十分重要。

测量频率的方法有多种,数字频率计是其中一种。

数字频率计是计算机、通讯设备、音频视频等科研生产领域不可缺少的测量仪器,是一种用十进制数字显示被测信号频率的数字测量仪器。

数字频率计基本功能是测量诸如方波等其它各种单位时间内变化的物理量。

在进行模拟、数字电路的设计、安装、调试过程中,由于其使用十进制数显示,测量迅速,精确度高,显示直观,经常要用到频率计。

频率计的基本原理是应用一个频率稳定度高的时基脉冲,对比测量其它信号的频率。

时基脉冲的周期越长,得到的频率值就越准确。

通常情况下是计算每秒内待测信号的脉冲个数,此时我们称闸门时间是1秒。

闸门时间也可以大于或小于1秒,闸门的时间越长,得到的频率值就越准确,但闸门的时间越长则每测一次频率的间隔就越长,闸门时间越短,测的频率值刷新就越快,但测得的频率精度就受影响。

本文内容粗略讲述了我们小组的整个设计过程及我在这个过程中的收获。

讲述了数字频率计的工作原理以及各个组成部分,记述了在整个设计过程中对各个部分的设计思路、程序编写、以及对它们的调试、对调试结果的分析。

(二)设计方案一、设计要求:⑴设计一个数字频率计,对方波进行频率测量。

⑵频率测量可以采用计算每秒内待测信号的脉冲个数的方法实现。

GW48-PK2上可以提供一个1Hz的标准信号,利用这一信号可以得到1s宽度的闸门信号。

⑶ GW48-PK2中的数码管可以用来显示数据。

二、设计原理:数字频率计是利用测量输入信号的频率并显示测量结果的系统。

当时基信号的高电平持续时间为T=1s,若在这T时间内被测信号的周期数为N,则被测信号的频率就是N。

其原理示意图如下:三、参量说明:signal待测信号,上升沿有效,clk时基信号,上升沿有效,en计数使能控制,高电平有效,clr清零控制,高电平有效,load锁存控制,高电平有效,cout1,cout2,cout3,cout4,cout5,cout6,cout7,cout8进位端。

四、设计思路:⑴以1Hz的信号clk作为时基信号,秒信号产生模块可由外界直接提供;⑵信号预处理模块是对被测信号signal进行分频处理,使得通过门控的被测信号频率不至于超出计数器的计数范围,本次设计不考虑分频;⑶门控模块是由时基信号控制,通过计数使能en来判断是否计数,当en为高电平时,若rst为低电平(无效)且clk信号上升沿到来,则开始计数;⑷控制器模块是由时基信号clk和启停信号rst来控制,通过clk和rst的组合来决定何时停止计数(en由高电平降为低电平时)、何时锁存计数(load由低电平上升为高电平时)及何时显示计数结果(锁存计数之后立即显示结果)。

五、主要模块的功能如下:⑴ module ctr(clk,rst,en,clr,load);时基信号控制模块,产生计数使能en、锁存信号load、清零信号clr;⑵ module latch_24(qo,din,load);控制数据输出模块,将计数结果送到输出端;⑶ module count10(out,cout,en,clr,clk);控制计数模块,包括低位和进位的控制;六、源程序及测试程序见附件。

七、程序运行及仿真结果⑴使用ModelSim编译及仿真步骤如下:①创建工程②添加Verilog代码③编译工程如果编译失败,双击错误信息可以直接转到出错代码处,更改完之后继续编译,直至编译成功。

④仿真若仿真无结果或结果不符合要求,可通过更改部分源程序或测试程序,反复查看仿真波形,直至仿真波形正确。

⑵仿真结果结果如上图所示,此处signal周期是10ns,clk周期是2000ns,仿真结果如预期所想。

八、有关用GW48-PK2中的数码管显示数据的几点说明⑴共用到两个clock信号脉冲,分别是:clock0和clock2,clock0用来产生待测信号脉冲,clock0接不同频率脉冲,数码管可显示对应频率;clock2作为时基脉冲,接1Hz。

⑵模式类型:模式5⑶电路示意图及部分过程图如下:⑷误差分析:实际测量时,当用1Hz时基脉冲测量低频率的信号时,数码管显示的数据没有偏差,而当测量的频率增大到5位数时,数码管显示结果与实际频率值并不相符,其可能原因是:ⅰ:由于实验器材GW48-PK2使用时间长,clock0和clock2所提供的信号频率值并不是严格等于所标注的频率值;ⅱ:时间延迟造成的。

(三)方案分析在本次程序编写过程中,只考虑了三个方面,符合要求、可行性及简便性,并没有添加一些更复杂的程序,如脉冲分频、自控量程等。

在完成此次设计之后,本组成员也对一些可能遇到的问题进行分析,如下所示:⑴分频,包括偶分频和奇分频如果待测信号的频率太高,将导致计数结果超过所设定的八位十进制数最高值,因此有必要将待测信号分频,使其频率减小,再测量。

所编写偶分频程序如下:module div1(clk,rst,count,clk_odd);input clk,rst;output clk_odd;output[3:0] count;reg clk_odd;reg[3:0] count;parameter N = x; //x为2,4,6…偶分频//always @ (posedge clk)if(! rst)begincount <= 1'b0;clk_odd <= 1'b0;endelseif (count < N/2-1)begincount <= count + 1'b1;endelsebegincount <= 1'b0;clk_odd <=~clk_odd;endendmodule所编写奇分频程序如下:module div2 (clk,rst,count1,count2,clk_even);input clk,rst;output[3:0] count1,count2;output clk_even;reg[3:0] count1,count2;reg clkA,clkB;wire clk_even,clk_re;parameter N = Y; //Y为1,3,5…奇分频//assign clk_re = ~clk;assign clk_even = clkA | clkB;always @(posedge clk)if(! rst)begincount1 <= 1'b0;clkA <= 1'b0;endelseif(count1 < (N - 1))begincount1 <= count1 + 1'b1; //阻塞赋值是先执行了下面的IF判断,最后再赋值。

//if(count1 == (N - 1)/2)beginclkA <= ~clkA;endendelsebeginclkA <= ~clkA;count1 <= 1'b0;endalways @ (posedge clk_re)if(! rst)begincount2 <= 1'b0;clkB <= 1'b0;endelseif(count2 < (N - 1))begincount2 <= count2 + 1'b1;if(count2 == (N - 1)/2)beginclkB <= ~clkB;endendelsebeginclkB <= ~clkB;count2 <= 1'b0;endendmodule⑵自控量程能根据输入被测频率信号,自动调节测试量程进行测试,显示结果。

以下是四位数字频率计自控量程的主要程序,其测量范围是0~10MHz,分四个档次:10kHz,100KHz,1000KHz,10000KHz,(最大值分别是9.999 kHz,99.99 kHz,999.9 kHz,9999 kHz)。

主要程序如下:always@(posedge lock or negedge start)if(!start)beginsel<=2b'11;ovflag<=1b'0;endelsebeginif(q[15:12]>4b'1001)beginif(sel= = 2b'10)beginovflag<=1b'1;sel<=2b'11;endelsesel<=sel+1b'1;endelseif(q[15:12]= =4b'0000&&q[11:8]<=4b'1001)if(sel= = 2b'11&&ovflag= =1b'0)sel<=sel;elsesel<=sel-1b'1;elsesel<=sel;⑶双脉冲和多脉冲计数即通过一个标准信号的控制,同时测量两个信号或多个信号的频率,如果想同时测量多个信号的频率,这样做可以提高效率。

⑷信号频率之间有一定关系,但都不确定具体值,用未知信号频率测量未知信号频率。

由于时间和精力有限,(3)(4)两个问题仅仅是作为一种参考,并没有写出具体的程序。

(四)心得与体会(1)我认为我们的工作是一个团队的工作,团队需要个人,个人也离不开团队,小组成员之间优势互补,悉心关照,发扬团结协作的精神,共同完成既定任务。

(2)做课程设计同时也是对课本知识的巩固和加强,经过这次课程设计,使我更加深刻了解了《Verilog数字统计教程》,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用,而且考试内容有限,所以在这次课程设计过程中,我们对课本知识的运用(尤其是程序编写这方面)有了更多的认识,通过动手实践也让我们对仿真软件的使用印象更深刻,可以比较熟练地运用ModelSim软件进行程序编译和仿真.(3)认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。

通过这次课程设计使我更加明白了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正做出成绩,从而提高自己的实际动手能力和独立思考、解决问题的能力。

相关主题