发布时间:2025-12-09 19:47:22 浏览次数:4
前两次实验都是在学校实验室的实验箱上完成,做完这两次试验后,我自己购买了FPGA开发板,后面的实验都是在这块板子上完成。学校的实验箱中unuesd pins是接地的,我的板子unuesd pins则是接高电平。
实验要求
1.采用verilog HDL设计8421BCD码十进制计数器并生成元件符号
2.采用verilog HDL设计七段译码器并生成元件符号
3.采用verilog HDL设计分频器并生成元件符号
4.建立顶层原理图文件
思路与代码
1.分频器的设计
板子上自带的时钟是50MHz,需要将50MHz分频为1Hz
2.计数器的设计
module jishu219(CLK,RST,Q);input CLK,RST;output[3:0] Q;reg[3:0] Q;always@(posedge CLK or negedge RST)begin if(!RST)Q<=4'd0000;else if(Q==4'd1001)Q<=4'd0000;elseQ<=Q+1'b1;endendmodule3.七段译码器的设计
module ym219(A,B,LED7S);input[3:0] A;output B;output[6:0] LED7S;reg[6:0] LED7S;assign B=1'b0;always @(A)case(A)4'b0000 : LED7S <= 7'b1000000; //04'b0001 : LED7S <= 7'b1111001; //14'b0010 : LED7S <= 7'b0100100; //24'b0011 : LED7S <= 7'b0110000; //34'b0100 : LED7S <= 7'b0011001; //44'b0101 : LED7S <= 7'b0010010; //54'b0110 : LED7S <= 7'b0000010; //64'b0111 : LED7S <= 7'b1111000; //74'b1000 : LED7S <= 7'b0000000; //84'b1001 : LED7S <= 7'b0010000; //9 endcaseendmodule4.顶层原理图
实验现象:数码管会一直从0到9计数,每1秒钟计数一次