实验一 一、实验目的:
七段数码显示译码器设计
1. 完成七段数码显示译码器的设计,学习组合电路设计; 2. 学习多层次设计方法。
3. 锻炼使用Verilog HDL 语言编程的能力。 二、实验原理:
1. 七段译码电路时一宗纯组合的逻辑电路,通常是由小型专用的IC门电路组成。 2. 七段码输入与输出的原理与真值表关系。
a) 输入:七段码输入为四个输入信号,用来表示0000—1111,即表示为十六进制的
“0”到“F”。
b) 输出:七段码输出为七个输出信号,分别用a,b, c,d,e,f,g七个符号来表示。一般规
定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状态。本实验使用的七段数码为共阴极,其电路图如图1所示。
图1 共阴数码管及其电路
c) 输入与输出关系用思维二进制代码组成十六进制代码,将其用代码显示,
表2-1 七段字符显示真值表
上,需要进行引脚分配。 一、实验步骤:
(1) 创建工程文件
(2) 创建原理图设计文档
(3) 利用ESC绘制电路图进行功能设计 (4) 执行综合
(5) 设计测试平台文件 (6) 执行功能仿真
(7) 执行实现、添加约束文件 (8) 执行时序仿真
(9) 生产位流文件,配置目标芯片
Verilog HDL程序: `timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: //
// Create Date: 18:47:07 03/10/2013 // Design Name:
// Module Name: ssss // Project Name: // Target Devices: // Tool versions: // Description: //
// Dependencies: //
// Revision:
// Revision 0.01 - File Created // Additional Comments: //
//////////////////////////////////////////////////////////////////////////////////
module decode_7(a, b, c, d, en, sega, segb, segc, segd,sege,segf,segg ); input a, b, c, d, en;
output reg sega, segb, segc, segd,sege,segf,segg; reg [1:7] segs;
always @(a or b or c or d or en) begin
if (en)
case ({d, c, b, a})
0:segs = 7'b1111110; //0 1:segs = 7'b0110000; 2:segs = 7'b1101101; 3:segs = 7'b1111001; 4:segs = 7'b0110011; 5:segs = 7'b1011011; 6:segs = 7'b0011111; 7:segs = 7'b1110000; 8:segs = 7'b1111111; 9:segs = 7'b1110011; //9 10:segs = 7'b1110111;//10 11:segs = 7'b0011111; 12:segs = 7'b1001110; 13:segs = 7'b0111101; 4:segs = 7'b10011111; 15:segs = 7'b1000111;15 default segs = 7'bx; endcase else
segs = 7'b0;
{sega, segb, segc, segd,sege,segf,segg} = segs; end
Endmodule
实验过程中得到的图片:
实验体会:
本次实验通过对FPGA实验平台的使用,Verilog HDL语言有了一定的理解与认识,
但在很多地方没有很好的熟练度,在以后的学习中还要好好的熟悉之
实验一 一、实验目的:
七段数码显示译码器设计
1. 完成七段数码显示译码器的设计,学习组合电路设计; 2. 学习多层次设计方法。
3. 锻炼使用Verilog HDL 语言编程的能力。 二、实验原理:
1. 七段译码电路时一宗纯组合的逻辑电路,通常是由小型专用的IC门电路组成。 2. 七段码输入与输出的原理与真值表关系。
a) 输入:七段码输入为四个输入信号,用来表示0000—1111,即表示为十六进制的
“0”到“F”。
b) 输出:七段码输出为七个输出信号,分别用a,b, c,d,e,f,g七个符号来表示。一般规
定,输出信号为“1”时,它所控制的发光二极管为点亮状态,输出信号为“0”时,它所控制的发光二极管为熄灭状态。本实验使用的七段数码为共阴极,其电路图如图1所示。
图1 共阴数码管及其电路
c) 输入与输出关系用思维二进制代码组成十六进制代码,将其用代码显示,
表2-1 七段字符显示真值表
上,需要进行引脚分配。 一、实验步骤:
(1) 创建工程文件
(2) 创建原理图设计文档
(3) 利用ESC绘制电路图进行功能设计 (4) 执行综合
(5) 设计测试平台文件 (6) 执行功能仿真
(7) 执行实现、添加约束文件 (8) 执行时序仿真
(9) 生产位流文件,配置目标芯片
Verilog HDL程序: `timescale 1ns / 1ps
////////////////////////////////////////////////////////////////////////////////// // Company: // Engineer: //
// Create Date: 18:47:07 03/10/2013 // Design Name:
// Module Name: ssss // Project Name: // Target Devices: // Tool versions: // Description: //
// Dependencies: //
// Revision:
// Revision 0.01 - File Created // Additional Comments: //
//////////////////////////////////////////////////////////////////////////////////
module decode_7(a, b, c, d, en, sega, segb, segc, segd,sege,segf,segg ); input a, b, c, d, en;
output reg sega, segb, segc, segd,sege,segf,segg; reg [1:7] segs;
always @(a or b or c or d or en) begin
if (en)
case ({d, c, b, a})
0:segs = 7'b1111110; //0 1:segs = 7'b0110000; 2:segs = 7'b1101101; 3:segs = 7'b1111001; 4:segs = 7'b0110011; 5:segs = 7'b1011011; 6:segs = 7'b0011111; 7:segs = 7'b1110000; 8:segs = 7'b1111111; 9:segs = 7'b1110011; //9 10:segs = 7'b1110111;//10 11:segs = 7'b0011111; 12:segs = 7'b1001110; 13:segs = 7'b0111101; 4:segs = 7'b10011111; 15:segs = 7'b1000111;15 default segs = 7'bx; endcase else
segs = 7'b0;
{sega, segb, segc, segd,sege,segf,segg} = segs; end
Endmodule
实验过程中得到的图片:
实验体会:
本次实验通过对FPGA实验平台的使用,Verilog HDL语言有了一定的理解与认识,
但在很多地方没有很好的熟练度,在以后的学习中还要好好的熟悉之