专用集成电路实验报告.docx
- 文档编号:480186
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:22
- 大小:275.98KB
专用集成电路实验报告.docx
《专用集成电路实验报告.docx》由会员分享,可在线阅读,更多相关《专用集成电路实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
专用集成电路实验报告
《专用集成电路》
实验报告
姓名
专业
通信工程
班级
学号
指导教师
实验一开发平台软件安装与认知实验
一、实验目的
1、了解XilinxISE9.2/QuartusII软件的功能。
2、掌握XilinxISE9.2/QuartusII的VHDL输入方法。
3、掌握XilinxISE9.2/QuartusII的原理图文件输入和元件库的调用方法。
4、掌握XilinxISE9.2/QuartusII软件元件的生成方法和调用方法。
5、掌握XilinxISE9.2/QuartusII编译、功能仿真和时序仿真。
6、掌握XilinxISE9.2/QuartusII原理图设计、管脚分配、综合与实现、数据流下载方法。
7、了解所编电路器件资源的消耗情况。
二、实验用到的软件和器件
计算机、QuartusII软件或xilinxISE
三、实验内容:
1、本实验以三线八线译码器(LS74138)为例,在XilinxISE9.2软件平台上完成设计电路的VHDL文本输入、语法检查、编译、仿真、管脚分配和编程下载等操作。
下载芯片选择Xilinx公司的CoolRunnerII系列XC2C256-7PQ208作为目标仿真芯片。
2、用1中所设计的的三线八线译码器(LS74138)生成一个LS74138元件,在XilinxISE9.2软件原理图设计平台上完成LS74138元件的调用,用原理图的方法设计三线八线译码器(LS74138),实现编译,仿真,管脚分配和编程下载等操作。
四、实验步骤:
1、三线八线译码器(LS74138)VHDL电路设计
(1)三线八线译码器(LS74138)的VHDL源程序的输入
(2)设计文件存盘与语法检查
(3)仿真文件设计
(4)芯片管脚定义
(5)编译与综合
(6)编程下载
2、元件的生成、调用和仿真
五、实验原理
VHDL源程序
process(g1,g2,inp)
begin
if((g1andg2)='1')then
caseinpis
when"000"=>y<="00000001";
when"001"=>y<="00000010";
when"010"=>y<="00000100";
when"011"=>y<="00001000";
when"100"=>y<="00010000";
when"101"=>y<="00100000";
when"110"=>y<="01000000";
when"111"=>y<="10000000";
whenothers=>y<="00000000";
endcase;
else
y<="00000000";
endif;
endprocess;
测试向量参考程序
uut:
ls74138PORTMAP(
G1=>G1,
G2=>G2,
INP=>INP,
Y=>Y
);
--***TestBench-UserDefinedSection***
u1:
PROCESS
BEGIN
G1<='0';
waitfor10us;
G1<='1';
waitfor90us;
G1<='0';
wait;
ENDPROCESSu1;
u2:
PROCESS
BEGIN
G2<='0';
waitfor10us;
G2<='1';
waitfor90us;
G2<='0';
wait;
ENDPROCESSu2;
u3:
PROCESS
BEGIN
INP<="000";
waitfor20us;
INP<="001";
waitfor10us;
INP<="010";
waitfor10us;
INP<="011";
waitfor10us;
INP<="100";
waitfor10us;
INP<="101";
waitfor10us;
INP<="110";
waitfor10us;
INP<="111";
wait;
endPROCESSu3;
六、实验结果
上图中,g1和g2为两个使能控制信号,inp为命令码输入信号,y为8位译码输出信号。
,当g1与g2均为高电平时,译码器正常工作,译码如上。
生成元件图
实验二组合逻辑电路的VHDL语言实现
一、实验目的:
1、掌握VHDL语言设计基本单元及其构成
2、掌握用VHDL语言设计基本的组合逻辑电路的方法。
3、掌握VHDL语言的主要描述语句。
二、实验器材:
计算机、QuartusII软件或XilinxISE
三、实验内容:
以下三个内容选择两个完成
用VHDL语言实现八位加法器的设计并实现功能仿真。
四、实验步骤:
(一)用VHDL语言实现八位加法器的设计并实现功能仿真。
1、完成1位全加器设计,在XilinxISE软件平台上完成设计电路的VHDL文本输入,编辑,编译,仿真,管脚分配和编程下载等操作。
下载芯片选择Xilinx公司的CoolRunnerII系列XC2C256-7PQ208作为目标仿真芯片。
2、用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在XilinxISE软件原理图设计平台上完成adder元件的调用,用原理图的方法设计一个8位二进制加法器,实现编译,仿真,管脚分配和编程下载等操作。
原理:
全加器是带进位信号的加法器,其逻辑表达式为:
。
它的真值表如表1所示,其中
和
为加数与被加数,
是输入的进位位信号,而
是和数,
是输出进位位信号。
参考真值表,实现八位全加器的功能。
表1
输入
输出
0
0
0
0
0
0
0
1
1
0
0
1
0
1
0
0
1
1
0
1
1
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
1
1
(二)用实验内容1所设计的全加器的VHDL文件生成一个adder的元件,在XilinxISE软件原理图设计平台上完成adder元件的调用,用原理图的方法设计一个8位二进制加法器。
(三)用VHDL语言实现优先编码器的设计并实现功能仿真
五、实验原理
VHDL源程序
libraryIEEE;
useIEEE.STD_LOGIC_1164.ALL;
useIEEE.STD_LOGIC_ARITH.ALL;
useIEEE.STD_LOGIC_UNSIGNED.ALL;
--Uncommentthefollowinglinestousethedeclarationsthatare
--providedforinstantiatingXilinxprimitivecomponents.
--libraryUNISIM;
--useUNISIM.VComponents.all;
entityadderis
Port(a:
instd_logic;
b:
instd_logic;
cin:
instd_logic;
sum:
outstd_logic;
cout:
outstd_logic);
endadder;
architectureBehavioralofadderis
begin
sum<=(axorb)xorcin;
cout<=(aandb)or(cinanda)or(cinandb);
endBehavioral;
测试向量程序
uut:
adderPORTMAP(
a=>a,
b=>b,
cin=>cin,
sum=>sum,
cout=>cout
);
u1:
PROCESS
BEGIN
a<='0';
waitfor10us;
a<='1';
waitfor20us;
a<='0';
waitfor10us;
a<='1';
waitfor10us;
a<='0';
waitfor20us;
a<='1';
waitfor10us;
a<='0';
waitfor10us;
a<='1';
wait;
ENDPROCESSu1;
u2:
process
begin
b<='1';
waitfor10us;
b<='0';
waitfor10us;
b<='1';
waitfor10us;
b<='0';
waitfor10us;
b<='1';
waitfor20us;
b<='0';
waitfor10us;
b<='1';
waitfor10us;
b<='0';
waitfor20us;
b<='1';
wait;
ENDPROCESSu2;
u3:
process
begin
cin<='0';
waitfor40us;
cin<='1';
waitfor20us;
cin<='0';
wait;
endprocessu3;
六、实验结果与分析
2.1原件连接图
实验三时序逻辑电路的VHDL语言实验
一、实验目的:
1、掌握用VHDL语言设计基本的时序逻辑电路及仿真。
2、掌握VHDL顺序语句和并行语句的异同
3、掌握触发器同步复位和异步复位的实现方式。
4、掌握软件时钟的加入方法。
5、掌握信号和变量的主要区别。
二、实验器材:
计算机、QuartusII软件或xilinxISE
三、实验内容:
设计一带使能的同步复位清零的递增8位二进制计数器
设计一带使能的异步清零复位的递增8位二进制计数器
四、实验步骤:
五、实验原理
参考程序:
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entityycounteris
port(clk,clear,ld,enable:
instd_logic;
d:
instd_logic_vector(7downto0);
qk:
outstd_logic_vector(7downto0));
endycounter;
architecturea_ycounterofycounteris
begin
PROCESS(clk)
VARIABLEcnt:
std_logic_vector(7downto0);
BEGIN
IF(clk'EVENTANDclk='1')THEN
IF(clear='0')THEN
cnt:
="00000000";
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 专用 集成电路 实验 报告