FPGA基础入门

FPGA实验

LAB1——项目创建、编译和下载

要求

用1个拨码开关控制所有的LED灯亮灭

BDF文件

在这里插入图片描述

引脚图

在这里插入图片描述

实验结果

在这里插入图片描述

LAB2——FPGA译码器组合逻辑

要求—1

1、放置2个2-4译码器模块,则总共有2组SW,每组2个,2组LED,每组4个,每组SW分别控制其对应的LED组。

BDF文件

在这里插入图片描述

引脚图(Pins)

在这里插入图片描述

实验结果

在这里插入图片描述第一组:SW0=SW1=1时,LED3亮;
第二组:SW2=0,SW3=1时,LED6亮 。

要求—2

2、参照代码,设计一个3-8译码器,完成类似的拨码开关实验。注意代码中的信号宽度设定。

代码

//add dec3to8 symbol
module dec3to8(
  IN        ,    
  OUT       );  

input [2:0] IN;
output[7:0] OUT;

reg   [7:0] OUT;

always @ (IN) begin
  case(IN)
    3'b000: OUT = 8'b0000_0001;
    3'b001: OUT = 8'b0000_0010;
    3'b010: OUT = 8'b0000_0100;
    3'b011: OUT = 8'b0000_1000;
    3'b100: OUT = 8'b0001_0000;
    3'b101: OUT = 8'b0010_0000;
    3'b110: OUT = 8'b0100_0000;
    3'b111: OUT = 8'b1000_0000;
  endcase
end
endmodule

BDF文件

在这里插入图片描述注意:不要将添加符号的名称与BDF文件名称一致,否则会报错(Error: Can’t compile duplicate declarations of entity “dec3to8” into library)

引脚图(Pins)

在这里插入图片描述

实验结果

在这里插入图片描述当SW0=SW1=SW2=1时,LED7亮

要求—3

3、自行查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母

代码

// add 4to7dec   shumaguan symbol
module dec4to7(
  IN       ,   // input 
  OUT       );  // out data
 
input [3:0] IN;
output [6:0] OUT;
 
reg [6:0] OUT;
 
always @ (IN) begin
	case(IN)
        4'b0000: OUT = 7'b1000000;	//0			gfedcba bit
        4'b0001: OUT = 7'b1111001;	//1
        4'b0010: OUT = 7'b0100100;	//2
		4'b0011: OUT = 7'b0110000;	//3
        4'b0100: OUT = 7'b0011001;	//4
        4'b0101: OUT = 7'b0010010;	//5
        4'b0110: OUT = 7'b0000010;	//6
        4'b0111: OUT = 7'b1111000;	//7
		4'b1000: OUT = 7'b0000000;	//8
        4'b1001: OUT = 7'b0010000;	//9
        4'b1010: OUT = 7'b0001000;	//A
        4'b1011: OUT = 7'b0000011;	//b   	B=8
        4'b1100: OUT = 7'b1000110;	//C		
        4'b1101: OUT = 7'b0100001;	//d		D=0
        4'b1110: OUT = 7'b0000110;	//E
        4'b1111: OUT = 7'b0001110;	//F
	endcase
end
 
endmodule
 

BDF文件

在这里插入图片描述

引脚图(Pins)

在这里插入图片描述

实验结果

ccc在cc插入图片描述当SW0=SW3=0,SW1=SW2=1时,数码管显示6;

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值