1、2)寄存器,第二个脉冲来时锁存数据A,并在数码管上显示。 )寄存器,第三个脉冲来时锁存数据,并在数码管上显示。 )8位AL,第四个脉冲来时进行运算,并锁存结果uou。 5)结果显示器,将结果显示通过DE2上的数码管显示。四程序分析:主程序模块:module alu8(,cl_,rt,b,alu_out,de,swb,HX1,HEX0, HX,HEX6,HX, H4);inulk,rst,c_;input 7:0 sw_ab;input : ocoe;ouut 6:HX1, HX0, H, HX6,HE5,H4;outut7:0 a;output 7:0b;outu :0 alu_ou;r U1
2、(.cl(clk),rs(rt),.w_ab(w_a),.ar(a),.ck_(r),.EX7(H7), HE6(HEX6);regb U2(clk(ck),.rst(rst),.w_(s_ab),.b_(b),.c_r(c_),.HX5(EX5), HEX4(HEX4);alur U3(.clk(clk),.rt(rs),a_r(a),b_r(b),alu_out(aluout),opce(opd);dgtal U(k(lkr),.rs(st),.alu_out(lu_out),.HEX(HEX1),. HE0(HEX0);ddl第一位数A模块:modul rea(cl,k_,s,sw_a,
3、a,HEX7,HE6);nput 7: s_ab;input clk,cl_r,rst;0 a_r;reg 7:0 ar;upt reg: HEX,HX;reg 3: cn;lws (osge clk r gedst)i(!rst) cnt=10;el (cnt=) cn1d0;lse cnt=cnt11;awas (psedg ck or negge rst)if(!rt) r;elsif(ct=1) a_rw_ab;lse a_r=a_r;paraeterseg=7b100000,eg1=71111001,eg2=b010010,sg3=7b011000,eg4=70110,eg5=7b0
4、01,s67b00001,g77111100,seg8=7b000,seg9=7001000,sega=b0001000,seb=b00011,segc10001,eg00001,sege=7b0011,sf=700011;always (posee clk_)case(a_:0)4h:HX6:=seg;h1: HX66:=g1;4h2: HEX6:=seg2;3: EX6:0=se3;4h4: EX66:0seg4;h5: HE66:0se5;: H66:0=e6;h7:0eg7;4h8: HEX66:=se8;h9: HEX:=seg9;ha:sga;4hb: HX66:0sgb;c: H
5、E66:0=seg;hd:HX66:=egd;4e:HE66:=sge;h:HEX6:0=segf;default:EX6:0=se;encaseaways (pdge l_r)case(a_r7:)h0: X7:=seg0;1:HEX6:0=sg1;2: EX76:0=seg2;h3:HEX6:0seg3;h: HEX76:0=se;h:HEX76:0seg5;h6: HE76:se6;h7: HX7:=se7;h: HEX:0=se;4: HX76:0=s9;h: HEX7:0=sga;hb:0=segb;0egc;d:HEX6:0=sgd;he: H6:see;hf: HX6:segf;
6、defult:HE7:0seg;edsndmule第二位数B模块:modle r (cl,lk_r,rst,s_a,_r,HX5,HEX4);put 7:0 swb;input clk,clk_r,rt;oupu7:0 b_r;reg : b_;outpt reg6:HEX5,HEX4;e :nt;alwa (posedge clk or edge rst)rst) nt=1d;seif(nt=5)cnd0;else cntcnt+1d;alays (poedg cl or egege rs)f(!rt) b_r=;else if(ct=) =s_b;else _r=b_r;parameese
7、g=7b10000,seg1=7b11001,sg=b00000,seg3b0110000,se=b001001,seg5=7b0110,seg6b0010,eg7=7b111000,seg8=7000000,eg=7b0010000,seg=7000,segb=00011,gc=7b10010,ed710001,seg=7b0000,sef7b0110;alays (odgelk_r)cas(_r3:0) HEX4:seg0;h1: HX6:0seg1;4: H4:0=seg;:HEX46:0=e3;h: H46:0=seg4; HEX46:0=seg5;4h6: EX46:0=sg;0=s
8、eg7;h8:EX6:0seg8;h9: EX46:se9;0=g; EX6:0=seb;hc: HEX4:=sgc;h:H46:0segd;e: EX46:0see;hf: HEX46:0=sg;efault:HEX46:0se0;las (posedg clkr)case(b_r7:h0: HEX5:=0;: HE56:=seg1;42: HEX5:0=eg2;4h3: EX6:0=se3;h4: HEX56:0=seg4;h5: HEX56:=seg5;4: 56:eg6;47:HEX56:0=se; HEX56:eg;h9:0sg9;HX56:0=ea;HE56:=sgb;HX5:h:
9、 EX6:0=segd;e: HX:0=seg;4h: HX56:0=se;dful:HX56:0=eg0;edaseendmodul运算模块:mdl alur(clk,rt,aluut,a_,b_r,pcode,zero);outpu7:0 alo;pt ero;nput7:0 _r,b_r;input 2:0 opode;iptclk,rst;0 aluout;reg3:0 cnt;paametr quA000,quB=3b00,DD=b1,E=3b011,D=b10,ORR3b01,XOR=31,XO=3b111;assign eo=!ar;ways (osedgeclkorngdge
10、rs)if(!r)t=1d0; if(cnt=5) cn1ele cnt=cnt+1d1;ys (poede cl or eed rst)s) a_ou=0;els f(cnt=) egicaex(opcoe)qA: luu=_r;uB:a_ob_r;ADD: l_uta_r+b_;DC: lu_out=a_r-b_r;ADD: a_outar&_r;X: l_ota_r|b_r;XOR: al_out=a_b_r;XOP: alu_outab_r;default: au_out8bxxx_xxx;endelse l_ot0;endmodle结果显示模块:modeigita(lk_r,rt,a
11、lu_out,HEX,HX0);int:0alu_out;input clk_r,rs;otpreg: HEX1,HX;rameterseg07b00000,s17b1101, eg2=7b1000,sg3=701100,sg4=0010,se5001010,seg6=7000010,seg7111100,seg8=7b0000,segb001000,seg=7b00100,egb=b000011,segc=b00010,egd=b0100001,segeb00001,seg=7b0001110;lwy (posedge clk_r)cae(u_ou3:0: HX6:0seg0;X:0=eg1
12、; EX06:=seg2;h: E06:0seg3;HEX06:=seg; 0:=se5; X06:0=eg6;7: HE06:=seg7;EX06:0se8;EX0:0=seg9;a: E06:0=sega; HE06:=egb;h:0=segc;4hd: HE0:0=sed;HE6:0=sge;: HEX6:defalt: HEX06:0=sg0;endcseawys (osege clk_r)cas(luou:4)0:HEX16:0=sg0;4h:HEX1:=eg;2: HEX1:0=se2; HEX1:0=sg3;h4: HEX1:0=se4;HX6:se5; EX16:0=g6;7:
13、 HEX6:0=eg; EX1:0=sg8;: HX6:0=g;4ha:=sa; EX1:4hc: EX6:0sg;h: X16:h:H1:0sege;hf:0sgf;efalt:endcaendmole五仿真实现: 整体图:波形图: 六硬件实现:1.引脚图:2.分析结果说明:开关0是算法选择,具体算法类型见设计功能第项开关1数字输入,用8位二进制数表示两个十六进制数,每四位表示一位按键0是锁存及运算,当开关1017输入一个数A时,按下按键0,数据就是锁存,再输入数就是数B,而当数据B也锁存后,再次按下按键0,就会显示运算结果按键1是复位键七总结:通过这次FPGA实验课让我明白了真正的编程不像是那些语言小程序那么简单,为了这次实验算是绞尽脑汁,最后为了读懂程序,还去专门找了eio语言辅导书,不管过程再怎么复杂曲折,总算是顺利的完成了实验任务,到了现在回顾为期6周的学习过程,也有一些时候是因为上课不认真,为后来的程序设计增加了难度,也有一些原 因是因为自己本身能力不足导致设计接连失败,不得不说,也有一部分原因是因为学习 实验室的器件不足,限制了实验设计的范围,也使实验难度增加。特别要感谢老师在最 后实验设计时的指导,让我的这次实验能够这么顺利的完成。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1