电子设计自动化实验报告 下载本文

内容发布更新时间 : 2024/5/24 5:18:28星期一 下面是文章的全部内容请认真阅读。

电子设计自动化实验报告(一)

学院:电气学院 班级:电子122班 姓名:覃思远

一、实验题目:4选1多路选择器

二、实验目的:熟悉并掌握verilog关于组合电路描述的核心语法规则和基本设计方法。

三、实验程序:module MUX41a(a,b,c,d,s1,s0,y); input a,b,c,d; input s1,s0; output y; reg y;

always @(a or b or c or d or s1 or s0) begin : MUX41a case({s1,s0}) 2'b00: y<=a; 2'b01: y<=b; 2'b10: y<=c; 2'b11: y<=d; default: y<=a; endcase end endmodule

四、实验仿真结果:

五、仿真结果分析:如上图所示,当s0=0、s1=0时,y选择a输出;当s0=1、s1=0时,y选择b输出;当s0=0、s1=1时,y选择c输出;当s0=1、s1=1时,y选择d输出。程序能够实现4选1多路选择器功能。

六、硬件下载设置及测试过程:根据板子给定的引脚锁定图,选定相应的硬件把程序中的输入输出端给锁定,编译并下载程序,依次设定s0,s1的值,观察现象是否符合程序的结果。

七、总结:通过对4选1多路选择器的verilog设计,我对verilog语句的基本结构、语句表达、数据规则和语法特点有了一个比较简单的认识,同时也感受到了verilog语句的魅力,这促使着我努力把它学好的决心。

电子设计自动化实验报告(二)

学院:电气学院 班级:电子122班 姓名:覃思远

一、实验题目:带有异步复位、同步计数使能和可预置型十进制计数器的verilog设计。

二、实验目的:讨论学习经典数字计数器的Verilog描述方法和相关语法。

三、实验程序:module CNT10(CLK,RST,EN,LOAD,COUT,DOUT,DATA); input CLK,EN,RST,LOAD; input [3:0] DATA; output [3:0] DOUT; output COUT; reg [3:0] Q1; reg COUT;

assign DOUT = Q1;

always @(posedge CLK or negedge RST) begin if(!RST) Q1 <= 0; else if(EN) begin

if (!LOAD) Q1<= DATA; else if (Q1<9) Q1<=Q1+1; else Q1 <= 4'b0000;end end

always @(Q1)begin

if (Q1==4'h9) COUT = 1'b1; else COUT = 1'b0;end endmodule

五、实验仿真结果:

六、仿真结果分析:

(1)RST在任意时刻有效时,如CLK非上升沿时,计数也能清0。

(2)计数器正常计数到RST=0时,4位输入数据DATA被清零,之后在LOAD=1后计数器重新计数,如图所示计数从0000加载到0100的时序。计数到9时,COUT输出进位1。(3)当EN=1,LOAD=1,RST=1时,计数正常进行,在计数数据等于9时进位输出高电平。

六、硬件下载设置及测试过程:根据板子给定的引脚锁定图,选定相应的硬件把程序中的输入输出端和板子的相应引脚给锁定,编译并下载程序,定好DATA,选择合适的CLK,手动改变EN和LOAD的值,观察实验现象看是否符合程序的结果。

七、总结:通过对带有异步复位、同步计数使能和可预置型十进制计数器的verilog设计,我对verilog描述方法和相关语法有了一个较为深入的认识。这将让我对之后课程的学习和深入探讨提供一个基础,能更好地学习EDA这门课程。

电子设计自动化实验报告(三)

学院:电气学院 班级:电子122班 姓名:覃思远

一、实验题目:基于原理图的8位全加器层次化设计

二、实验目的:学会利用原理图输入法进行底层元件设计和层次化设计来设计系统

三、原理图:

(1)半加器(h_adder)