资源描述:
《eda实验报告实验三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验3设计8位简易频率计实验人:孔玉英实验时间:学号:090650102得分:班级:测控0901班实验环境:QuartusII一、实验目的1、熟悉Altera公司的PLD开发工具QuartusII的使用。2、熟悉PLD的设计流程。3、熟悉软件的功能和操作。4、熟悉层次化的设计方法。5、熟悉PLD中时序电路的设计过程和方法。二、实验原理、实验内容和步骤实验原理频率计是一个吋序电路,可以通过单位时间内对被测信号的脉冲数进行技术,得到被测信号的频率;対于频率较低的被测信号,则可以将被测信号进行二分频,作为控制计数的闸门,将标准信号作为被技术的信号,这样來测量出被测信号的周期。其结构功能简易框图如下
2、所示。图1.简易频率计功能框图测频控制电路负责产生测频控制时序;计数器电路负责对输入被测信号计数;显示电路对所测量的频率进行显示。所谓频率就是周期性信号在单位吋间(Is)内变化的次数。若在一定吋I'可间隔T(也称闸门时间)内测得这个周期性信号的重复变化次数为N,则其频率可表示为f=N/T由上面的表达式可以看到,若时间间隔T取Is,则f=N,但是这种频率计仅能测出频率大于或者等于1Hz的情况,且频率越高,精度也越高。实际应用中,频率计的闸门吋间是个可变量,当频率小于1Hz吋,闸门吋问就要适当放大。本实验中为了简化实验代码,闸门时间固定为Is,闸门信号是一个0.5Hz的方波,在闸门有效(高电平)
3、期间,对输入的脉冲进行计数,在闸门信号的下降沿时刻,锁存当前的计数值,并且清零所有的频率计数器。由于闸门时间是Is(0.5Hz方波),所以显示的频率是2s钟更新一次,且显示的内容是闸门下降沿时锁存的值。在设计频率计的吋候,八个七段码管最多可以显示99,999,999Hz,因此在设计时候用八个4位二进制码(BCD码)來表示,另外还必须有同样的八个4位二进制码来对输入的频率进行计数,在闸门下降沿的时候,将后者的值锁存到前者的8个寄存器屮。另外为了读数方便,在显示时需要进行判断,例如频率的值小于lKHz并且大于100Hz,那么只显示三位有效值,其它高位全部不显示。实验内容本实验要完成的任务就是设计
4、一个频率计,系统时钟选择为IKHz,闸门时间为Is(0.5Hz,需要对系统时钟进行2000分频),在闸门为髙电平期间,对输入的频率进行计数,当闸门变低的时候,记录当前的频率值,并将频率计数器清零,频率的显示每过2秒刷新一次。实验步骤完成频率计的实验步骤如下:1•首先打开QuartusII软件,新建一个工程,并新建一个VerilogHDLFile«1.对白己编写的VerilogHDL程序进行编译并仿真。三、实验结果和程序十进制计数器moduleshijinzhi(clock,z,c);inputclock;output[0⑶z;output[0:3]c;reg[0:3]z;reg[0:3]c;
5、always@(posedgeclock)if(z<9)z=z+l;elseif(c<9)beginz=0;c=c+l;endelsec=0;endmodule3・8译码器modulesanba(A,B,C,D);inputA,B,C;output[0:7]D;wireAbar,Bbar,Cbar;assignAbar=~A;assignBbar二〜B;assignCbar二〜C;assignD[0]=Abar&Bbar&Cbar;assignD[1]=Abar&Bbar&C;assignD[2]=Abar&B&Cbar;assignD[3]=Abar&B&C;assignD[4]=A&Bb
6、ar&Cbar;assignD[5]=A&Bbai&C;assignD[6]=A&B&Cbar;assignD[7]=A&B&C;endmodule四位八选一选择器modulebaxuanyi(out,a,b,c,d,e,f,g,h,select);output[3:0]out;input[3:0]a,b,c,d,e£g,h;input[2:0]select;reg[3:0]out;always@(select[2:0]oraorborcordoreorforgorh)begincase(select)3*b000:out=a;3'b001:out=b;3'bOlO:out=c;3'b011
7、:out=d;3'bl00:out=e;3'bl01:out=f;3*bl10:out=g;3*bl11:out=h;endcaseendendmodule八进制计数器modulebajinzhi(clk,cout);inputelk;output[0:2]cout;reg[0:2]cout;always@(posedgeelk)beginif(COut==3,blll)cout=3'b000;elsecou