专用集成电路实验报告Word格式.docx

上传人:b****8 文档编号:22254677 上传时间:2023-02-03 格式:DOCX 页数:43 大小:856.73KB
下载 相关 举报
专用集成电路实验报告Word格式.docx_第1页
第1页 / 共43页
专用集成电路实验报告Word格式.docx_第2页
第2页 / 共43页
专用集成电路实验报告Word格式.docx_第3页
第3页 / 共43页
专用集成电路实验报告Word格式.docx_第4页
第4页 / 共43页
专用集成电路实验报告Word格式.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

专用集成电路实验报告Word格式.docx

《专用集成电路实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《专用集成电路实验报告Word格式.docx(43页珍藏版)》请在冰豆网上搜索。

专用集成电路实验报告Word格式.docx

定义器件封装形式

●【SpeedGrade】:

定义芯片工作速度等级

●【Top-LevelModuleType】:

定义顶层模块类型

●【SynthesisTool】:

定义综合工具

●【Simulator】:

定义仿真测试工具

●【GeneratedSimulationLanguage】:

定义硬件描述语言

针对本试验所用开发板我们选择“CoolRunnerXPLA3CPLDs”系列的“XCR3256XL-7PQ208”器件作为目标芯片进行仿真,如图2所示。

图2

完成具体选择后点击【Next】弹出对话框,在该对话框内创建文件资源。

打开【NewSource】标签,弹出如图3所示对话框,在左侧方框中包含了用户可以创建的文件类型,包括以下内容:

●【Schematic】:

原理图类型文件

●【StateDiagram】:

状态图类型文件

●【TestBenchWaveform】:

波形类型测试文件

●【UserDocument】:

用户类型文件

●【VerilogModule】:

Verilog类型文件

●【VerilogTestFixture】:

Verilog语言描述类型测试文件

●【VHDLLibrary】:

VHDL库文件

●【VHDLModule】:

VHDL类型模块文件

●【VHDLPackage】:

VHDL类型文件封装库

●【VHDLTestBench】:

VHDL语言描述类型测试文件

图3

在【File】 

标签下对话框内写入用户自定义的文件名称,标签【Locatior】下显示了新定义文件的创建路径,选中标签【Addtoprojet】前的对号标记,将新创建的文ls74138添加到工程“Shiyan”中。

点击【Next】,弹出如图4所示对话框,在此对话框中输入三线八线译码器(74LS138)的的端口信息。

图4

点击【Next】弹出【NewSourceInformation】对话框,在该对话框内显示了新建文件的属性及信息,如图5所示。

图5

点击【Finish】返回资源创建对话框,其中显示了新建文件“LS74138.vhdl”,如图6。

图6

点击【Next】弹出工程信息对话框【NewProjectInformation】,该对话框给出了所设计的工程信息,如图7所示。

图7

点击【Finish】标签结束新建工程过程。

进入XilinxISE文本编辑方式,在文本框中编辑输入8位加法器的VHDL源程序,如下图8所示:

图8

libraryIEEE;

useIEEE.STD_LOGIC_1164.ALL;

useIEEE.STD_LOGIC_ARITH.ALL;

useIEEE.STD_LOGIC_UNSIGNED.ALL;

--Uncommentthefollowinglinestousethedeclarationsthatare

--providedforinstantiatingXilinxprimitivecomponents.

--libraryUNISIM;

--useUNISIM.VComponents.all;

entityls74138is

Port(G1:

instd_logic;

G2:

INP:

instd_logic_vector(2downto0);

Y:

outstd_logic_vector(7downto0));

endls74138;

architectureBehavioralofls74138is

begin

process(G1,G2,INP)

if((G1andG2)='

1'

)then

caseinpis

when"

000"

=>

Y<

="

00000001"

;

when"

001"

00000010"

010"

00000100"

011"

00001000"

100"

00010000"

101"

00100000"

110"

01000000"

111"

10000000"

whenothers=>

00000000"

endcase;

else

Y<

endif;

endprocess;

endBehavioral;

在VHDL源程序中,G1和G2为两个使能控制信号,INP为命令码输入信号,Y为8位译码输出信号。

(2)、设计文件存盘与语法检查

图9图10

完成程序代码输入后单击高亮“ls74138-behavioral(LS74138.vhdl)”标签(图9),此时工具窗口将显示“ProcessforSource(ls74138-behavioral)”。

用鼠标右键点击Process窗口中【CheckSyntax】标签,点击运行选项,进行程序语法检查,当显示一绿色对号标志时即表示程序中不存在语法问题,如图10所示。

(3)、仿真文件设计

为了验证所设计电路功能,需要输入测试文件对电路程序功能进行测试。

在【Process】菜单中选择【CreateNewSource】选项,选择【VHDLTestBench】添加测试向量文件,并将文件添加到LS74138模块中

测试向量参考程序如下:

LIBRARYieee;

USEieee.std_logic_1164.ALL;

USEieee.numeric_std.ALL;

ENTITYls74138_tb_74138_vhd_tbIS

ENDls74138_tb_74138_vhd_tb;

ARCHITECTUREbehaviorOFls74138_tb_74138_vhd_tbIS

COMPONENTls74138

PORT(

G1:

INstd_logic;

G2:

INP:

INstd_logic_vector(2downto0);

Y:

OUTstd_logic_vector(7downto0)

);

ENDCOMPONENT;

SIGNALG1:

std_logic;

SIGNALG2:

SIGNALINP:

std_logic_vector(2downto0);

SIGNALY:

std_logic_vector(7downto0);

BEGIN

uut:

ls74138PORTMAP(

G1=>

G1,

G2=>

G2,

INP=>

INP,

Y=>

Y

--***TestBench-UserDefinedSection***

u1:

PROCESS

BEGIN

G1<

='

0'

waitfor10us;

waitfor90us;

wait;

ENDPROCESSu1;

u2:

G2<

ENDPROCESSu2;

u3:

INP<

waitfor20us;

endPROCESSu3;

--***EndTestBench-UserDefinedSection***

ENDbehavior;

运行行为仿真选项卡,XilinxISE自动调用ModelSimSE6.1c仿真平台作为仿真工具。

运行ModelSimSE6.1c菜单【Simulate】->

【Run】->

【Restart】,将仿真时间点置零。

在【transcript】窗口中输入仿真时间

在波形【Wave】窗口内使用

按钮实现仿真图的“放大”“缩小”“全局”功能。

图11即为电路仿真结果,由图中时序及逻辑关系可知该三线八线译码器行为仿真正常。

图11

实验二组合逻辑电路的VHDL语言实现

验证性实验级别:

信息与通信工程学院通信工程系学时:

2学时

1、掌握VHDL语言设计基本单元及其构成

2、掌握用VHDL语言设计基本的组合逻辑电路的方法。

3、掌握VHDL语言的主要描述语句。

1、本实验以1位全加器为例,在XilinxISE软件平台上完成设计电路的VHDL文本输入,编辑,编译,仿真。

芯片选择Xilinx公司的CoolRunnerXPLA3CPLDs系列XCR3256XL-7PQ208作为目标仿真芯片。

2、用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在XilinxISE软件原理图设计平台上完成adder元件的调用。

(一)、全加器是带进位位信号的加法器,起逻辑表达式为:

它的真值表如表1所示,其中

为加数与被加数,

是输入的进位位信号,而

是和数,

是输出进位位信号。

表1

输入

输出

1

一)1位加法器的VHDL源程序参考如下:

entityadderis

Port(a:

b:

cin:

sum:

outstd_logic;

cout:

outstd_logic);

endadder;

architectureBehavioralofadderis

sum<

=(axorb)xorcin;

cout<

=(aandb)or(cinanda)or(cinandb);

ENTITYadder_adder_vhd_tbIS

ENDadder_adder_vhd_tb;

ARCHITECTUREbehaviorOFadder_adder_vhd_tbIS

COMPONENTadder

a:

b:

cin:

sum:

OUTstd_logic;

cout:

OUTstd_logic

SIGNALa:

SIGNALb:

SIGNALcin:

SIGNALsum:

SIGNALcout:

adderPORTMAP(

a=>

a,

b=>

b,

cin=>

cin,

sum=>

sum,

cout=>

cout

);

u1:

PROCESS

a<

waitfor10us;

a<

waitfor20us;

wait;

ENDPROCESSu1;

u2:

process

begin

b<

waitfor10us;

waitfor20us;

wait;

ENDPROCESSu2;

u3:

process

begin

cin<

waitfor40us;

cin<

wait;

endprocessu3;

ENDbehavior;

二)用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在XilinxISE软件原理图设计平台上完成adder元件的调用,在processerforSource:

”adder”窗口点击CreateSchematicSymbol,生成adder的元件,在SourcesinProject窗口新建Schematic文件命名adder8,在XilinxECS平台上点Symbols,

仿真结果如下图:

(二)、用VHDL语言实现优先编码器的设计并实现功能仿真

优先计编码器常用于中断的优先级控制,以8输入,3位二进制输出的优先级编码器为例,当其中一个输入有效时,就可以输出一个对应得3位二进制编码。

另外,当同时有几个输入有效时,将输出优先级最高的那个输入所对应得二进制编码。

其真值表如下所示:

表2优先编码器真值表

二进制编码输出

Input7

Input6

Input5

Input4

Input3

Input2

Input1

Input0

Y2

Y1

Y0

x

用VHDL语言实现优先编码器的设计并实现功能仿真验证其功能。

参考程序如下:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYpriorityencoderIS

PORT(input:

INSTD_LOGIC_VECTOR(7DOWNTO0);

y:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDpriorityencoder;

ARCHITECTURErt1OFpriorityencoderIS

PROCESS(input)

IF(input(0)='

)THEN

y<

ELSIF(input

(1)='

ELSIF(input

(2)='

ELSIF(input(3)='

ELSIF(input(4)='

ELSIF(input(5)='

ELSIF(input(6)='

ELSE

ENDIF;

ENDPROCESS;

ENDrt1;

ENTITYpriorityencoder_priorityencoder_vhd_tbIS

ENDpriorityencoder_priorityencoder_vhd_tb;

ARCHITECTUREbehaviorOFpriorityencoder_priorityencoder_vhd_tbIS

COMPONENTpriorityencoder

input:

INstd_logic_vector(7downto0);

y:

OUTstd_logic_vector(2downto0)

SIGNALinput:

SIGNALy:

std_logic_vector(2downto0);

priorityencoderPORTMAP(

input=>

input,

y=>

y

tb:

input<

11011010"

input<

11101101"

10110011"

11010111"

01101111"

11011111"

10111111"

11111111"

01111111"

11011011"

11111001"

ENDPROCESStb;

仿真图如下:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1