五功能智能逻辑笔1五功能智能逻辑笔一、项目名称:五功能智能逻辑笔二、项目来源:教材10-4题,将要求由LED更改为用7段数码显示三、项目要求利用状态机设计五功能逻辑笔,要求能测高电平(大于2.5V)、低电平(低于1V)、中电平(低于2.5V,高于1V)、高阻态以及脉冲(即快速变化电平)。要求用7段共阴极数码管显示五中结果,如显示H为高电平,显示L为低电平,显示M为中电平,显示Z为高阻态,显示P为连续脉冲。设计要求使用状态机表示状态切换,使用元件例化和顶层调用方式处理7段译码电路和五种状态的关系,有程序流程图,状态机图及程序源码及注解。最后附波形仿真文件。叙述必要设计过程。1、设计流程图如图:1所示。170821026仪科王鹏图1:五功能逻辑笔流程图2、例化元件程序设计2.1例化元件需要完成六种状态的译码功能,显示在7段共阴极数码管。定义3五功能智能逻辑笔3位二进制输入端口,真值表如表一所示:表一:7段译码真值表输入码输出码代表数据0001110110H0010111000L0100110111M0111011010Z1001110011P101~1111000000-2.2译码程序moduleSIXSL7S(A,LED7S);input[2:0]A;output[6:0]LED7S;reg[6:0]LED7S;always@(A)case(A)3'b000:LED7S=7'b1110110;//H3'b001:LED7S=7'b0111000;//L3'b010:LED7S=7'b0110111;//M3'b011:LED7S=7'b1011010;//Z3'b100:LED7S=7'b1110011;//Pdefault:LED7S=7'b1000000;//-endcaseendmodule2.3例化元件功能仿真如图2所示。170821026仪科王鹏图2:7段译码电路仿真3、顶层逻辑笔电路设计3.1按照逻辑流程图设计状态图按照已经设计好的程序流程图,忽略所有长方形的部分,只关心圆和菱形的条件,设计状态图的切换状态,并用verliog设计实现,通过编译,查看生成的状态流程图是否和设计流程图一致。流程图如图3所示。图3:状态机流程3.2通过对比得到一致的结果后,加入赋值程序,此时暂时不调用LED显示,用5位LED显示状态,查看仿真结果是否正确。未调用译码程序的功能仿真如图4所示。图4:未调用例化时的仿真波形3.3确定功能正确后,用例化语句调用底层LED译码模块,完成整体设计功能,程序文本如下:moduleLGC_PEN_L7(CLK,VO,TEST,LEDS);五功能智能逻辑笔5inputCLK;//状态机工作时钟input[1:0]VO;//输入来自LM393中两个比较器的输出信号output[6:0]LEDS;//外接7段数码管显示状态outputTEST;//测试高阻态信号TESTparameters0=0,s1=1,s2=2,s3=3,s4=4,//状态表s5=5,s6=6,s7=7,s8=8,s9=9,s10=10,s11=11,s12=12,s13=13;reg[4:0]ST,NST;regTEST;reg[2:0]LED;SIXSL7SU1(.A(LED),.LED7S(LEDS));always@(posedgeCLK)ST=NST;always@(STorVO)begincase(ST)s0:beginTEST=1'b1;NST=s1;ends1:beginTEST=1'b1;if(VO==2'b10)NST=s2;elseNST=s4;ends2:170821026仪科王鹏beginTEST=1'b0;NST=s3;ends3:beginTEST=1'b0;beginif(VO==2'b01)beginLED=3'b001;//高阻态NST=s0;endelseNST=s4;endends4:if(VO==2'b01)NST=s5;elseNST=s7;s5:if(VO==2'b01)NST=s6;elseNST=s7;s6:if(VO==2'b01)beginLED=3'b001;//低电平NST=s0;endelseNST=s7;五功能智能逻辑笔7s7:if(VO==2'b10)NST=s8;elseNST=s10;s8:if(VO==2'b10)NST=s9;elseNST=s10;s9:if(VO==2'b10)beginLED=3'b000;//高电平NST=s0;endelseNST=s10;s10:if(VO==2'b11)NST=s11;elseNST=s13;s11:if(VO==2'b11)NST=s12;elseNST=s13;s12:if(VO==2'b11)beginLED=3'b010;//中电平NST=s0;endelseNST=s13;s13:beginLED=3'b100;//脉冲170821026仪科王鹏NST=s0;enddefault:NST=s0;endcaseendendmodule3.4仿真图如图5所示,RTL图如图6所示。图5:智能逻辑笔仿真波形图6:智能逻辑笔电路图