欢迎来到天天文库
浏览记录
ID:57320475
大小:32.50 KB
页数:6页
时间:2020-08-11
《多进制译码显示电路设计verilog.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、电子科技大学通信学院多进制译码显示电路实验报告班级通信一班学生学号教师多进制译码显示电路多进制译码显示电路一、设计思路概述1.本设计要求实现:将二进制信号通过电路进行转换,以二进制、八进制、十六进制和十进制四种方式显示在数码管上。首先,我们分析电路设计要求知道:输入信号为16bit二进制数据,2bit权重选择信号和27MHz时钟。输出信号由8个7位数码管来显示。2.实现方法:二进制->二进制:直接输出低8位二进制->八进制:三位二进制构成一位八进制,共六位,高位补零;二进制->十六进制:四位二进制构成一
2、位十六进制,共四位,高位补零;二进制->十进制:从二进制数据中得到十进制的每一位,共五位,高位补零;3.数码管控制方法采用共阳数码管,数码管段选方式,数码管的控制,每一个数码管单独与FPGA连接通过并行总线控制数码管显示。二、总体设计框图及详细说明数据寄存器二十进制转换计数器8进制数据选择电路显示译码输出电路clkswitch[17:0]rstdeccode[3:0]weight[1:0]num[15:0]numreg10[3:0]state[2:0]state[2:0]其中各个信号在电路中的作用解释如
3、下代码的注释中。三、各个模块电路及其代码设计1、数据寄存器及计数器设计:always@(posedgeclkornegedgerst)beginif(~rst)beginstate<=3'b000;num<=32‘b0;numreg<=16‘b0;numreg10<=4'b0000;weight<=2'b00;endelseif(state==3'b111)beginstate<=3'b000;num<={16'b0,switch[15:0]};numreg<=switch[15:0]/4'd10;nu
4、mreg10<=switch[15:0]%4'd10;weight<=switch[17:16];endelsebeginstate<=state+3'b001;numreg<=numreg/4'd10;numreg10<=numreg%4'd10;endend2、数据选择电路设计:always@(posedgeclk)beginstate1<=state;case(weight)2'b00:deccode<=num[{1'b0,state}];2'b01:deccode<={1'b0,num[3*st
5、ate+2],num[3*state+1],num[3*state]};2'b10:deccode<={num[4*state+3],num[4*state+2],num[4*state+1],num[4*state]};2'b11:deccode<=numreg10;default:deccode<=4'b0000;endcaseend3、显示译码电路设计:always@(posedgeclk)begincase(deccode)4'b0000:segcode[state1]<=7'b;4'b0001
6、:segcode[state1]<=7'b;4'b0010:segcode[state1]<=7'b;4'b0011:segcode[state1]<=7'b;4'b0100:segcode[state1]<=7'b;4'b0101:segcode[state1]<=7'b;4'b0110:segcode[state1]<=7'b;4'b0111:segcode[state1]<=7'b;4'b1000:segcode[state1]<=7'b;4'b1001:segcode[state1]<=7'b;
7、4'b1010:segcode[state1]<=7'b;4'b1011:segcode[state1]<=7'b;4'b1100:segcode[state1]<=7'b;4'b1101:segcode[state1]<=7'b;4'b1110:segcode[state1]<=7'b;4'b1111:segcode[state1]<=7'b;default:segcode[state1]<=7'b;endcaseend四、代码及必要注释moduledisplay(switch,hex,clk,rst
8、);input[17:0]switch;//数据输入inputclk//;时钟inputrst;//复位output[55:0]hex;//数码管输出reg[31:0]num;reg[15:0]numreg;reg[3:0]numreg10;reg[1:0]weight;reg[2:0]state;reg[2:0]state1;reg[2:0]state2;reg[3:0]deccode;reg[6:0]segcode[7:0];assig
此文档下载收益归作者所有