FPGA电路开发入门实验

本文是一份FPGA电路开发的入门教程,涵盖了从项目创建、编译、下载到各类逻辑电路的设计,包括译码器、计数器、移位寄存器、时间基准电路、ROM和DDS等。通过一系列实验,详细讲解了FPGA开发的各个环节,并提供了学生实验以巩固理论知识,适合初学者学习。
摘要由CSDN通过智能技术生成

FPGA 电路开发入门实验

实验一、FPGA项目创建、编译和下载

新建一个BDF文件,可以直接添加元件,对应引脚连接,指派引脚,编译,下载即可
学生实验:用1个拨码开关控制所有的LED灯亮灭

在这里插入图片描述
一个input连接剩下的所有led输出端口即可控制所有灯的亮灭

实验二、FPGA译码器组合逻辑

仿照本实验,请完成以下任务
• 1、放置2个2-4译码器模块,则总共有2组SW,每组2个,2组LED,每组4个,每组SW分别控制其对应的LED组。
• 2、参照代码,设计一个3-8译码器,完成类似的拨码开关实验。注意代码中的信号宽度设定。
• 3、自行查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母

首先编写实验相应的Verilog代码,然后生成代码文件对应的模块(2to4译码器)

module dec_2to4(
IN  ,
OUT);
input  [1:0] IN  ;
output [3:0] OUT ;

reg [3:0] OUT ;

always @ (IN) begin
  case(IN)
    2'b00: OUT = 4'b 0001;
    2'b01: OUT = 4'b 0010;
    2'b10: OUT = 4'b 0100;
    2'b11: OUT = 4'b 1000;
  endcase
end

endmodule // module dec_2to4

右键生成相应的元件

注意网标式的接线接法
在这里插入图片描述

学生实验一
在这里插入图片描述
一定要注意引脚的连接问题
学生实验二
38译码器的代码

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'b 00000001;
    3'b001: OUT = 8'b 00000010;
    3'b010: OUT = 8'b 00000100;
    3'b011: OUT = 8'b 00001000;
    3'b100: OUT = 8'b 00010000;
    3'b101: OUT = 8'b 00100000;
    3'b110: OUT = 8'b 01000000;
    3'b111: OUT = 8'b 10000000;
  endcase
end

endmodule 

保存——生成38译码器元件——建立BDF文件,连接电路,指派管脚(这里注意,一定要选择相应的芯片,软件可能无法自动适配)如下
在这里插入图片描述
RTL视图检查无误
接下来,编译并下载(指派好管脚后,一定要再编译一次再下载)
在这里插入图片描述
在这里插入图片描述
学生实验三
查询指导书可知,低电平有效
在这里插入图片描述
segment74的代码

module segment7to4(
IN  ,
OUT);
input  [3:0] IN  ;
output [6:0] OUT ;

reg [6:0] OUT ;

always @ (IN) begin
  case(IN)
    4'b0000: OUT = 7'b 1000000
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值