当前位置:   article > 正文

高速EDA设计课程报告(三)_wire[4-1:0]和[4:1]

wire[4-1:0]和[4:1]

本节摘要

这是本学期第四节高速EDA设计课程,本节课的主要内容是结合前面所学Verilog的入门以及配合老师下发的Altera™公司的DE0开发板,去实地操作的将要实现的一些简单的逻辑功能通过软硬件配合的方式实现,并在这个过程中进一步熟悉Verilog语法和Quartus软件的使用。
本篇博客中代码和操作步骤部分基本来自于杜老师实验教学网站。 FPGA 电路开发入门实验

ALTERA DE0开发板驱动安装

在进行这次实验工作之前,必须进行很重要的一步,安装驱动板的驱动程序。步骤如下

  1. 打开设备管理器面板,在设备列表的其他设备中找到USB-Blaster
    在这里插入图片描述

  2. 右键点击USB-Blaster,选择列表中的更新驱动程序
    在这里插入图片描述

  3. 在弹出的窗口中选择-浏览我的计算机以查找驱动程序软件
    在这里插入图片描述

  4. 选择安装目录中的usb-blaster文件夹,具体路径为quartus\drivers\usb-blaster

在这里插入图片描述

  1. 点击下一步,等待驱动安装完成,此时就能在usb列表中看到该开发板已经能正确识别,驱动安装成功
    在这里插入图片描述

开发板常用管脚对应说明

本次课程需要使用开发板上一部分按钮(button)、开关(switch)、发光二极管(LED)以及时钟电路clk,下面给出这些器件所对应的管脚示意图:
按钮对应管脚
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

项目创建、编译和下载

以老师给出例子中的学生实验为例,即用1个拨码开关控制所有的LED灯亮灭
首先和之前的任务相同,在quartus 中创建一个项目文件
在这里插入图片描述
在项目中新建一个bdf文件,并在网格中放置一个input和十个output管脚,并将他们器件连接起来,并分别将其命名为开关SW和发光二极管LED0-9
在这里插入图片描述
接下来打开pin planer面板进行指派管脚,并按照上面已知的开发板管脚对应图,将input与开发板最右侧的开关SW0连接,output与所有LED连接
在这里插入图片描述
并在设置中将没有用到的管脚设定为三态
在这里插入图片描述
接下来进行编译,并将开发板接点,并通过USB连接到电脑,在顶栏中先点击编译接着点击打开下载面板
在这里插入图片描述
在这里插入图片描述
点击下载面板左侧的start按钮,将程序烧录进开发板等待右上角的progress进度条加载至100%
在这里插入图片描述
此时将开发板的SW0开关打到闭合状态,会发现LED0-9十个LED均被点亮,实验完成
在这里插入图片描述

译码器组合逻辑

2个2-4译码器实现两组SW分别控制其对应的LED组

将已经写好的2-4译码器模块的Verilog代码文件rtl_module.v加入项目
在这里插入图片描述
2-4译码器的Verilog原型代码如下所示

module dec_2to4(
IN  ,
OUT);
input  [2-1:0] IN  ;
output [4-1:0] OUT ;

reg [4-1: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;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

右键点击文件列表里的rtl_module.v选择列表中的Create Symbol Files For Current File为代码文件创建符号以便在BDF文件中调用
在这里插入图片描述
新建一个bdf文件,并搭建实现该逻辑所需要的电路
在这里插入图片描述
通过Pin Planer将开关与发光二极管LED管脚连接指派
在这里插入图片描述
编译下载后验证实验
在这里插入图片描述

写出3-8译码器,完成拨码开关实验

根据已经给出的2-4译码器的Verilog原型代码,写出3-8译码器的Verilog代码并为其创建符号,如下所示

module dec_3to8(
IN  ,
OUT);
input  [3-1:0] IN  ;
output [8-1:0] OUT ;

reg [8-1: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 // module dec_3to8;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

新建一个bdf格式文件画出实验所需电路图如下所示,并指派管脚
在这里插入图片描述
在这里插入图片描述
编译下载,并拨动开关验证
在这里插入图片描述

译码器控制7段译码器

查阅手册中的7段译码器管脚对应关系,用4个拨码开关控制一个7段译码器的数字,从0-9-A-F,共16个数字和字母
在已知的译码器的Verilog原型代码上改动,得到实验要求的译码器的Verilog代码,如下

module bcd7seg(
IN  ,
OUT);
input  [4-1:0] IN  ;
output [7-1:0] OUT ;

reg [7-1:0] OUT ;

always @ (IN) begin
  case(IN)
    4'b0000: OUT = 7'b 11000000;//0
    4'b0001: OUT = 7'b 11111001;//1
    4'b0010: OUT = 7'b 10100100;//2
    4'b0011: OUT = 7'b 10110000;//3
    4'b0100: OUT = 7'b 10011001;//4
    4'b0101: OUT = 7'b 10010010;//5
    4'b0110: OUT = 7'b 10000010;//6
    4'b0111: OUT = 7'b 11111000;//7
    4'b1000: OUT = 7'b 10000000;//8
    4'b1001: OUT = 7'b 10010000;//9
    4'b1010: OUT = 7'b 10001000;//A
    4'b1011: OUT = 7'b 10000011;//B
    4'b1100: OUT = 7'b 11000110;//C
    4'b1101: OUT = 7'b 10100001;//D
    4'b1110: OUT = 7'b 10000110;//E
    4'b1111: OUT = 7'b 10001110;//F
    default: OUT = 7'b 10000000;
  endcase
end

endmodule // module dec_3to8;

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

新建一个bdf文件,画出实现逻辑所需电路图,并指派管脚
在这里插入图片描述
在这里插入图片描述
编译下载,并拨动开关进行验证
在这里插入图片描述

计数器、波形仿真、SignalTap

学生实验一

设计一个0-17的计数器,当计数值为17的时候,OV输出1,其他输出0

根据设计中老师给出的例子,修改部分代码及电路图实现如下:
在这里插入图片描述

module cnt_0to17(
  CLK   ,   // clock
  CNTVAL,   // counter value
  OV    );  // overflow
input CLK;
output [5-
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/707885
推荐阅读
相关标签
  

闽ICP备14008679号