可编程逻辑器件、FPGA、CPLD实验报告5

更新时间:2023-11-18 00:21:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

CPLD/FPGA设计实验报告

实验名称: 时序电路仿真基础 实验目的: 掌握modelsim软件的基本使用方法,完成基本时序电路仿真 学生姓名: 学号: 实验内容:

实验一 8位全加器

一、 创建工程

装 工程名称:add8

二、 创建文件

顶层实体文件名:add8

订创建Verilog HDL文件,实现一个8位全加器的测试功能。

`timescale 1ns/1ns module t_add8; reg cin;

reg [7:0] a,b; wire [7:0] sum; wire cout;

线 parameter delay=100; add8 u(a,b,cin,cout,sum); initial begin

a=8'b00000000;b=8'b00000000;cin=1'b1;

#(delay/2) a=8'b00000001;b=8'b00000001;cin=1'b0; #(delay/2) a=8'b00000010;b=8'b00000011;cin=1'b0;

#(delay/2) a=8'b00000100;b=8'b00000111;cin=1'b0; #(delay/2) a=8'b00001000;b=8'b00001001;cin=1'b1; #(delay/2) a=8'b00010000;b=8'b00010001;cin=1'b1; #(delay/2) a=8'b00100000;b=8'b00100001;cin=1'b1; #(delay/2) a=8'b01000000;b=8'b01000001;cin=1'b0; #(delay/2) a=8'b10000000;b=8'b10000001;cin=1'b0; #(delay/2) a=8'b00000111;b=8'b00000111;cin=1'b0; #(delay/2) a=8'b00001111;b=8'b00001001;cin=1'b1; #(delay/2) a=8'b00011111;b=8'b00010001;cin=1'b1; #(delay/2) a=8'b00111111;b=8'b00100001;cin=1'b1; #(delay/2) $stop; end 三、编译工程

四、仿真

实验二 4选1数据选择器

一、 创建工程

工程名称:mux4_1 顶层实体文件名:mux4_1

二、 创建文件

创建Verilog HDL文件,实现3_8译码器仿真功能。

`timescale 1ns/1ns module t_mux4_1; reg [3:0]in;

reg [1:0] sel; wire out;

parameter delay=50; mux4_1 u1(in,out,sel); initial begin

in=4'b0000;sel=2'b00; #(delay/2) sel=2'b01;

#(delay/2) sel=2'b10; #(delay/2) sel=2'b11;

#(delay/2) in=4'b0101;sel=2'b00;

#(delay/2) sel=2'b01;

#(delay/2) sel=2'b10; #(delay/2) sel=2'b11;

#(delay/2) in=4'b1010;sel=2'b00;

#(delay/2) sel=2'b01;

#(delay/2) sel=2'b10; #(delay/2) sel=2'b11;

#(delay/2) in=4'b1111;sel=2'b00;

#(delay/2) sel=2'b01;

#(delay/2) sel=2'b10; #(delay/2) sel=2'b11; #(delay/2) ; end endmodule 三、 编译工程

四、 仿真

实验三 3_8译码器

一、创建工程

工程名称:decode3_8

二、创建文件

创建Verilog HDL文件,实现一个3_8译码器的测试功能。 `timescale 1ns/1ns module t_decode3_8; reg [2:0] in;

wire [7:0] out; parameter delay=100; decode3_8 u1(in,out); initial begin in=3'b000;

#(delay/2) in=3'b001;

顶层实体文件名:decode3_8

#(delay/2) in=3'b010; #(delay/2) in=3'b011; #(delay/2) in=3'b100; #(delay/2) in=3'b101; #(delay/2) in=3'b110; #(delay/2) in=3'b111; #(delay/2) ; end endmodule 五、 编译工程 六、 仿真电路

本文来源:https://www.bwwdw.com/article/xivv.html

Top