文档介绍:《计算机EDA设计》实验教程实验一 时钟分频电路北航计算机学院艾明晶*1内容概要实验目的实验要求实验原理实验内容实验报告Date2实验目的了解时钟分频电路的原理。掌握使用always块结构和if-else语句实现时序逻辑电路的方法。掌握使用reg型变量实现同步计数器的方法。掌握VerilogHDL语言中parameter常量及if语句的用法。学习和掌握采用ModelSim软件进行功能仿真的方法。Date3实验要求设计两个时钟分频电路输入信号时钟信号clki清零脉冲clr(高有效)输出信号输出时钟信号clko(1)假设输入时钟周期为1ms,设计分频电路1,使输出时钟周期为10ms,并采用同步清零方式。(2)假设输入时钟频率50MHz,设计分频电路2,使输出时钟周期为1ms,并采用异步清零方式。Date4实验原理时钟分频电路原理异步二进制加法计数器用n个T’触发器,实现对输入时钟的2n分频。将低位触发器的输出,接到高一位触发器的CP端(下降沿触发时),最高位触发器的输出,即为对输入时钟的2n分频信号。Date5实验原理时钟分频电路原理同步二进制加法计数器(推荐) 用n个T触发器,实现对输入时钟的2n分频。即第一级触发器的T1=1;第二级触发器在第一级触发器为1时,再来计数脉冲才翻转,因此T2=Q1;第三级触发器在第一级、第二级触发器都为1时,再来计数脉冲才翻转,因此T3=Q2·Q1;依此类推,第n级触发器的Tn=Qn-1···Q2·Q1。最高位触发器的输出,即为对输入时钟的2n分频信号。Date6如何实现非2n分频的整数分频?可使用reg型变量实现计数器的功能。用parameter常量设定计数器的宽度,当计数器的值达到此宽度时,计数器重新回到0状态,否则继续计数。reg[3:0]count;parametercount_width=10;……beginif(count==count_width-1)count=0;elsecount=count+1;endclkout=count[3];若电路没有特殊要求,可用加法计数器的最高位输出作为分频电路的输出;否则根据实际要求对分频电路的输出进行赋值。Date7实验内容用VerilogHDL语言设计(1ms-10ms)。,使输出时钟clko在计够10个数后才有一个正跳变。采用非阻塞赋值语句。clkout只在计数值为9时为"1",其他时候都为"0";采用非阻塞赋值,clkout比count值正好滞后一个时钟周期。,后半周为高电平。提示:当计数器计到分频系数的一半时,计数器清零;且clkout翻转(clkout=~clkout;)。Date10