用VHDL设计三八译码器超赞版
用VHDL设计三八译码器。。超赞版
3-8译码器的设计
1 设计目的与要求
随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。
1.1 设计的目的
本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC设
计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。
1.2 设计要求
根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。译码器由三-八译码器为实例代表。
关键词:输入、输出、译码
基于VHDL语言38译码器
3-8译码器的设计
1 设计目的与要求
随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。
1.1 设计的目的
本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC
设计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。
1.2 设计要求
根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL 设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。译码器由三-八译码器为实例代表。
关键词:输入、输出、译码
_基于VHDL语言38译码器
3-8译码器的设计
1 设计目的与要求
随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。
1.1 设计的目的
本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC设
计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。
1.2 设计要求
根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。译码器由三-八译码器为实例代表。
关键词:输入、输出、译码
VHDL实验二 3×8译码器的设计
1、3×8译码器的设计
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY decode_3to8 IS
PORT(A0,A1,A2,EN:IN STD_LOGIC;
Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END decode_3to8;
ARCHITECTURE rtl OF decode_3to8 IS
SIGNAL indata:STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN
indata<=A0&A1&A2;
PROCESS(indata,EN)
BEGIN
IF(EN='1')THEN
CASE indata IS
WHEN "000"=>Y<="10000000";
WHEN "001"=>Y<="01000000";
WHEN "010"=>Y<="00100000";
WHEN "011"=>Y<="00010000";
WHEN "100"=>Y<="00001000";
WHEN "101"=>Y<="00000100";
WHEN "110"=>Y<="00000010";
WHEN "111"=>Y<="00000001";
WHEN OTHERS=>Y<="XXXXXXXX";
END CASE;
ELSE
Y<="00000000";
END IF;
END PROCESS;
END rtl;
使用verilog语言设计一个3-8译码器
1使用verilog语言设计一个3-8译码器。
2.源程序设计
module YMQ (A,Y);
input [2:0] A;
output [7:0] Y;
reg[7:0] Y;
always @ (A)
begin
case(A)
3'b000 : Y<=8'b00000001;
3'b001 : Y<=8'b00000010;
3'b010 : Y<=8'b00000100;
3'b011 : Y<=8'b00001000;
3'b100 : Y<=8'b00010000;
3'b101 : Y<=8'b00100000;
3'b110 : Y<=8'b01000000;
3'b111 : Y<=8'b10000000;
default :Y<=8'b10000001;
endcase
end
Endmodule
3.RTL结构图:
4.时序仿真图
如时序图所示:当输入A为010时,3-8译码器输出Y为00000100,即Y[2]为1,为上升沿。
当输入A为000时,3-8译码器输出Y为00000001,即Y[0]为1,为上升沿。当输入A为101时,3-8译码器输出Y为00010000,即Y[5]为1,为上升沿。后面都同理。
综上,该3-8译码器正确。
三八译码器VHDL代码
三八译码器VHDL代码:
library ieee;
use ieee.std_logic_1164.all;
entity decoder is
port (
inp: in std_logic_vector(2 downto 0);
outp: out std_logic_vector(7 downto 0)
);
end decoder;
architecture behave of decoder is
begin
outp(0) <= '1' when inp = "000" else '0';
outp(1) <= '1' when inp = "001" else '0';
outp(2) <= '1' when inp = "010" else '0';
outp(3) <= '1' when inp = "011" else '0';
outp(4) <= '1' when inp = "100" else '0';
outp(5) <= '1' when inp = "101" else '0';
outp(6) <= '1' when inp = "110" else '0';
outp(7) <= '1' when inp = "111" else '0';
end behave;
全加器仿真波形:
基于Verilog HDL程序设计的38译码器源程序
//深圳市21EDA电子.
//
//学习3 8译码器的原理,
//拨码开关的 1 2 3作为输入
//本实验采用拨码开关来作为输入,LED作为状态显示
//当然如果你的学习板没有拨码开关,可以用key1 key2 key3 作为数据输入。//视频教程适合我们21EDA电子的所有学习板
module decoder_38(out,key_in);
output[7:0] out; //3 8译码器输出有8钟状态,所以要8个LED灯。
//如果没有8个LED灯也没有关系,只是有的状态就看不到了input[2:0] key_in; //(1 2 3)key1 key2 key3 作为数据输入
reg[7:0] out;
always @(key_in)
begin
case(key_in)
3'd0: out=8'b11111110; //LED作为状态显示,低电平有效
3'd1: out=8'b11111101;
3'd2: out=8'b11111011;
3'd3: out=8'b11110111;
3'd4: out=8'b11101111;
3'd5: out=8'b11011111;
3'd6: out=8'b10111111;
3'd7: out=8'b01111111;
endcase end endmodule
3-8译码器VHDL设计实验 实验报告
3-8译码器VHDL设计实验报告
一、设计原理:
先判断使能端口EN状态,当其满足高电平时,判断三个输入端口A2,A1,A0的状态来决定输出。若使能端口为低电平则固定输出不受逻辑输出A2,A1,A0的影响。使能有效时按照三个输入状态决定八个输出的状态。
真值表:
A2 A1 A0 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0
0 0 0 0 0 0 0 0 0 0 1
0 0 1 0 0 0 0 0 0 1 0
0 1 0 0 0 0 0 0 1 0 0
0 1 1 0 0 0 0 1 0 0 0
1 0 0 0 0 0 1 0 0 0 0
1 0 1 0 0 1 0 0 0 0 0
1 1 0 0 1 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0 0
二、实验程序:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY demo IS
PORT(A:IN STD_LOGIC_VECTOR(2 DOWNTO 0);
EN:IN STD_LOGIC;
Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END demo;
ARCHITECTURE DEC_BEHAVE OF demo IS
SIGNAL SEL:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
SEL(0)<=EN;
SEL(1)<=A(0);
SEL(2)<=A(1);
SEL(3)<=A(2);
WITH SEL SELECT
Y<= "00000001" WHEN "0001",
VHDL38译码器
Y<=(others=>’1’); if S=”100”then
END;
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity dec3_8 is
port (
din : in std_logic_vector(2 downto 0) ;
dout : out std_logic_vector(7 downto 0) ;
);
end dec3_8 ;
architecture RTL of dec3_8 is
begin
dout <= "10000000" when ( din = "111" ) else
"01000000" when ( din = "110" ) else
"00100000" when ( din = "101" ) else
"00010000" when ( din = "100" ) else
"00001000" when ( din = "011" ) else
"00000100" when ( din = "010" ) else
"00000010" when ( din = "001" ) else
"00000001" ;
end RTL ;
半加器
半加器电路是指对两个输入数据位进行加法,输出一个结果位和进位,不产生进位输出的加法器电路。是实现两个一位二进制数的加法运算电路。数据输入A被加数、B加数,数据输出F和数(半加和)、进位C0。
A和B是相加的两个数,S是半加和数,C是进位数。
译码器的VHDL设计
实验名称:译码器的VHDL设计
二、用WHEN_ELSE语句编写具有使能端的3-8译码器
1.实体框图
2.程序设计
①编译前的程序
Entity Dec38A is
port(s1,s2,s3:in bit;
A2,A1,A0:in bit;
Y:out bit_vector(7 downto 0));
End Dec38A;
Architecture two of Dec38A is
Begin
Y<="11111110" when s1s2s3="100" and A2A1A0="000"
else
"11111101" when s1s2s3="100" and A2A1A0="001"
else
"11111011" when s1s2s3="100" and A2A1A0="010"
else
"11110111" when s1s2s3="100" and A2A1A0="011"
else
"11101111" when s1s2s3="100" and A2A1A0="100"
else
"11011111" when s1s2s3="100" and A2A1A0="101"
else
"10111111" when s1s2s3="100" and A2A1A0="110"
else
"01111111" when s1s2s3="100" and A2A1A0="111"
else
"11111111" ;
End architecture two;
②程序编译错误情况
错误1:
Error (10482): VHDL error at Dec38A.vhd(15): object "s1s2s3"
3_8译码器的VHDL设计
3-8译码器的VHDL设计
1.实体框图
2.程序设计
正确的程序
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DECODER38A IS
PORT(A2,A1,A0,S1,S2,S3:IN STD_LOGIC;
Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END ENTITY DECODER38A;
ARCHITECTURE ONE OF DECODER38A IS
SIGNAL S: STD_LOGIC_VECTOR(5 DOWNTO 0);
BEGIN
S<=A2&A1&A0&S1&S2&S3;
WITH S SELECT
Y<="11111110" WHEN "000100",
"11111101" WHEN "001100",
"11111011" WHEN "010100",
"11110111" WHEN "011100",
"11101111" WHEN "100100",
"11011111" WHEN "101100",
"10111111" WHEN "110100",
"01111111" WHEN "111100",
"11111111" WHEN OTHERS;
END ARCHITECTURE ONE;
3.仿真波形图
4.仿真波形分析
当S1 S2 S3=100时,只有当A2 A1 A0=111时,Y[7]才输出低电平,否则为高电平,当A2 A1 A0=110时,Y[6]才输出低电平,否则为高电平,当A2 A1 A0=101时,Y[5]才输出低电平,否则为高电平,Y[4]到Y[0]同理。可见该程序设计的是3-8译码器
HVDL语言仿真3-8译码器 龙琳
仿真技术综合设计
EDA技术仿真3-8译码器
班级:通信13
姓名:龙琳
学号:
指导教师:石松宁
成绩:
电子与信息工程学院
信息与通信工程系
HVDL语言仿真3-8译码器
1.设计任务及要求
1.1 设计目的
1.通过简单的译码器的设计掌握基本的计算机的一些有关的知识;
2.掌握EDA技术的基本原理已经设计方法及其VHDL硬件描述语言的设计方法和思想;
3.巩固和综合运用所学知识,提高IC设计能力,提高分析、解决计算机技术实际问题的
独立工作能力;
1.2 设计要求
根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。对3-8译码器进行混合仿真软件进行波形的仿真。并给出程序代码以及原理电路图。
2. 设计原理
二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应的高、低电平信号。对于三-八译码器来说,3位二进制共有8种状态,所以对应的输出有8种状态。例如:对于二进制代码111来说,输出为10000000。对于二-四译码器来说,2位二进制共有4种状态,所以对应的输出有4种状态。例如:对于二进制代码11来说,输出为1000。工作框图如图所示
YIMA_138
INP[2..0] OUTP[7..0]
CS
1
三-八译码器的工作框图
内部电路图如图所示
三-八译码器内部电路译码器引脚排列图
三-八译码器引脚排列图
译码器的真值表
输入输出
A[2] A[1] A[0] Y[7] Y[6] Y[5] Y[4] Y[3] Y[2] Y[1] Y[0]
实验三--3-8译码器的设计
实验三3-8译码器的设计
一.实验目的:
1、通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、初步掌握VHDL语言的常用语句。
3、掌握VHDL语言的基本语句及文本输入的EDA设计方法。
二、设计要求
设计一个3—8译码器使其满足如下真值表:
1.采用原理图输入法利用门电路进行设计并实现仿真、下载。
2.利用VHDL语言输入进行设计并进行仿真。
三、预习要求:
1.熟悉3-8译码器原理
2.根据原理绘制原理图。
3.初步写出VHDL语言程序。
四、实验记录
1.原理图及源程序。
2.仿真波形。(两种方法)
3.延时分析。(两种方法)
vhdl三八译码器
3-8线译码器的真值表(5分),并写出其VHDL程序
3-8译码器的真值表
en a2a1a0 y
1 000 00000001
1 001 00000010
1 010 ********
1 011 00001000
1 100 00010000
1 101 00100000
1 110 01000000
1 111 10000000
0 xxx 00000000
程序:entity tri_eight is
port(
a: in std_logic_vector (2 downto 0);
en: in std_logic;
y: out std_logic_vector (7 downto 0)
);
end tri_eight;
architecture a of tri_eight is
signal sel: std_logic_vector (3 downto 0);
begin
sel(0) <= a(0); sel(1) <= a(1); sel(2) <= a(2); sel(3) <= en; with sel select
y <= "00000001" when "1000",
"00000010" when "1001",
"00000100" when "1010",
"00001000" when "1011",
"00010000" when "1100",
"00100000" when "1101",
"01000000" when "1110",
"10000000" when "1111",
VHDL,八三译码器
VHDL语言设计
二、本次实验的目的:
1.掌握VHDL 语言的设计技巧
2.用VHDL语言设计八三译码器
三、设计过程:
1. 工程编译源:用VHDL语言编程。
2. 功能仿真:将功能编译后的结果进行仿真。
3.引脚锁定:将个信号按要求分配到相应引脚.
4. 物理实现:将结果下载到所悬着的器件中VHDL代码:
USE leee.std_logic_1164.all;
USE leee.std_logic_arith.all;
USE leee.std_logic_signed.all;
ENTITIY dc38 IS
PORT(
sel : in std_logic_vector(2 downto 0);
y : in std_logic_vector(7 downto 0));
END dc38;
ARCHITECTURE behavior OF dc38 IS
BEGIN
Y<= ”000”WHEN sel=”11111110”else
”001”WHEN sel=”11111101”else
”010”WHEN sel=”11111011”else
”011”WHEN sel=”11110111”else
”100”WHEN sel=”11101111”else
”101”WHEN sel=”11011111”else
”110”WHEN sel=”10111111”else
”111”WHEN sel=”01111111”else
“ZZZZZZZ”;
END behavior;
实验三 3-8译码器的设计
实验三3-8译码器的设计
一.实验目的:
1、通过一个简单的3-8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、初步掌握VHDL语言的常用语句。
3、掌握VHDL语言的基本语句及文本输入的EDA设计方法。
二、设计要求
设计一个3—8译码器使其满足如下真值表:
1.采用原理图输入法利用门电路进行设计并实现仿真、下载。
2.利用VHDL语言输入进行设计并进行仿真。
三、预习要求:
1.熟悉3-8译码器原理
2.根据原理绘制原理图。
3.初步写出VHDL语言程序。
四、实验记录
1.原理图及源程序。
2.仿真波形。(两种方法)
3.延时分析。(两种方法)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3-8译码器的设计
1 设计目的与要求
随着社会的进一步发展,我们的生活各个地方都需要计算机的参与,有了计算机,我们的生活有了很大的便利,很多事情都不需要我们人为的参与了,只需要通过计算机就可以实现自动控制。由此,计算机对我们的社会对我们每个人都是很重要的。所以我们要了解计算机得组成,内部各种硬件,只有了解了计算机基本器件已经相应的软件,才能促进社会的发展。编码器和译码器的设计是计算机的一些很基础的知识,通过本次对于编码器和译码器的设计,可以让我知道究竟这种设计是如何实现的,这种设计对我们的生活有什么帮助,这种设计可以用到我们生活的哪些方面,对我们的各种生活有什么重大的意义。
1.1 设计的目的
本次设计的目的是通过简单的译码器的设计掌握基本的计算机的一些有关的知识,通过查资料已经自己的动手设计去掌握EDA技术的基本原理已经设计方法,并掌握VHDL硬件描述语言的设计方法和思想。以计算机组成原理为指导,通过将理论知识,各种原理方法与实际结合起来,切实的亲手设计,才能掌握这些非常有用的知识。通过对编码器和译码器的设计,巩固和综合运用所学知识,提高IC设
计能力,提高分析、解决计算机技术实际问题的独立工作能力。也能通过这种自主设计,增强自己的动手能力,将理论知识切实应用的能力,这对我们将来的发展是很有帮助的。
1.2 设计要求
根据计算机组成原理中组合逻辑电路设计的原理,利用VHDL设计计算机电路中译码器的各个模块,并使用EDA 工具对各模块进行仿真验证和分析。译码器由三-八译码器为实例代表。
关键词:输入、输出、译码
2 VHDL的简单介绍
2.1 VHDL的简介
VHDL语言是一种用于电路设计的高级语言。它在80年代的后期出现。最初是由美国国防部开发出来供美军用来提高设计的可靠性和缩减开发周期的一种使用范围较小的设计语言。 VHDL翻译成中文就是超高速集成电路硬件描述语言,主要是应用在数字电路的设计中。目前,它在我过的应用多数是用在FPGA/CPLD/EPLD的设计中。当然在一些实力较为雄厚的单位,它也被用来设计ASIC。VHDL主要用于描述数字系统的结构,行为,功能和接口。除了含有许多具有硬件特征的语句外,VHDL的语言形式、描述风格以及语法是十分类似于一般的计算机高级语言。VHDL的程序结构特点是将一项工程设计,或称设计实体(可以是一个元件,一个电路模块或一个系统)分成外
部(或称可视部分,及端口)和内部(或称不可视部分),既涉及实体的内部功能和算法完成部分。在对一个设计实体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个实体。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。
2.2 VHDL的特点
1,功能强大,设计灵活:
VHDL具有功能强大的语言结构,可以用简洁明确的源代码来描述复杂的逻辑控制。它具有多层次的设计描述功能,层层细化,最后可直接生成电路级描述。VHDL支持同步电路、异步电路和随机电路的设计,这是其他硬件描述语言所不能比拟的。VHDL还支持各种设计方法,既支持自底向上的设计,又支持自顶向下的设计;既支持模块化设计,又支持层次化设计。
2,,支持广泛,易于修改:
由于VHDL已经成为IEEE标准所规范的硬件描述语言,目前大多数EDA工具几乎都支持VHDL,这为VHDL的进一步推广和广泛应用奠定了基础。在硬件电路设计过程中,主要的设计文件是用VHDL编写的源代码,因为VHDL易读和结构化,所以易于修改设计。
3,强大的硬件系统描述能力:
VHDL具有多层次的设计描述功能,既可以描述系统级电路,又可以描述门级电路。而描述既可以采用行为描述、寄存器传输描述或结构描述,也可以采用三者混合的混合级描述。另外,VHDL支持惯
性延迟和传输延迟,还可以准确地建立硬件电路模型。VHDL支持预定义的和自定义的数据类型,给硬件描述带来较大的自由度,使设计人员能够方便地创建高层次的系统模型。
4,独立于器件的设计,与工艺无关:
设计人员用VHDL进行设计时,不需要首先考虑选择完成设计的器件,就可以集中精力进行设计的优化。当设计描述完成后,可以用多种不同的器件结构来实现其功能。
5.,很强的移植能力:
VHDL是一种标准化的硬件描述语言,同一个设计描述可以被不同的工具所支持,使得设计描述的移植成为可能。
6,易于共享和复用:
VHDL采用基于库(Library)的设计方法,可以建立各种可再次利用的模块。这些模块可以预先设计或使用以前设计中的存档模块,将这些模块存放到库中,就可以在以后的设计中进行复用,可以使设计成果在设计人员之间进行交流和共享,减少硬件电路设计。
2.3 VHDL的设计步骤
1.文本编辑:
用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件,Verilog文件保存为.v文件。
2.使用编译工具编译源文件。
3.功能仿真:
将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,进行时序仿真)
4.逻辑综合:
将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf或.edif 的EDA工业标准文件。
5.布局布线:
将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放PLD/FPGA内。
6.时序仿真:
需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫后仿真)通常以上过程可以都在PLD/FPGA厂家提供的开发工具。
7.烧写器件
3 译码器的原理
二进制译码器的输入是一组二进制代码,输出是一组与输入代码一一对应的高、低电平信号。对于三-八译码器来说,3位二进制共有8种状态,所以对应的输出有8种状态。例如:对于二进制代码111来说,输出为10000000。对于二-四译码器来说,2位二进制共有4种状态,所以对应的输出有4种状态。例如:对于二进制代码11来说,输出为1000。
4 三-八译码器的设计