EDA设计流程

  • 格式:doc
  • 大小:59.50 KB
  • 文档页数:2

eabyEDA设计流程:原理图/HDL文本输入----功能仿真----

综合-----适配----时序仿真----编程下载----硬件测试

优化:1、资源优化(资源共享、逻辑优化、串行化)

2、速度优化(流水线设计、寄存器配平、关键路径法)

后缀名:

.v ---- verilog 文件 .vhd ---- 文本设计文件

.qpf ----- quartus 工程文件 .vwf ---- 矢量波形文件

.bsf ---- 元件符号文件 .rpt ----报告文件

.qsf ----quartus配置文件 .pin ---- 引脚文件

.qws -----工作区文件 scf-----仿真通道文件

.pof -----编程对象文件 .sof --- SRAM对象文件

.qar -----工程归档文件 .bdf----设计文件

gdf----图形文件

翻译:

ASIC——专用集成电路

CPLD——复杂可编程逻辑器件

CAD——计算机辅助设计

CAM——计算机辅助制造

CAT——计算机辅助测试

CAE——计算机辅助工程

CLB ——可配置逻辑模块

EDA——电子设计自动化

EABE——嵌入式阵列块

FSM——有限状态机

FPGA——现场可编程门阵列 GAL——通用阵列逻辑

HDL——硬件描述语言

IP——知识产权模块

ISP ——系统在线可编程

ICR——在电路可重构

IEEE——美国电气与电子工程协会

JEDEC--电子工程设计发展联合会议

JTAG ——联合测试行为组织

LPM——可设置模块库

LAB——逻辑阵列块

LUT——显示查找表

MC--宏单元

PLD——可编程逻辑器件

PCB——进程控制块

RTL——寄存器传输级描述

PLA--可编程逻辑阵列

PAL--可编程阵列逻辑

PIA--可编程连线阵列

PROM--可编程只读存储器

RTL ——寄存器传输级

SOC——片上系统

SOPC ——可编程片上系统

SRAM--静态随机存储器

UART——通用异步收发报机

VHDL——超高速硬件描述语言

基本R-S触发器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY sufaqi IS

PORT ( R,S :IN STD_LOGIC;

Q,Q2: BUFFER STD_LOGIC);

END ENTITY sufaqi;

ARCHITECTURE one OF sufaqi IS

SIGNAL Q1: STD_LOGIC ;

BEGIN

PROCESS (R,S)

BEGIN

IF R='0'AND S='1' THEN Q<='0';

ELSIF R='1' AND S='0' THEN Q<='1';

ELSIF R='1' AND S='1' THEN Q<=Q1;

END IF;

ENDPROCESS;

Q1<=Q;

Q2<=NOT Q;

END;

7 段数码显示译码器设计

LIBRARY IEEE ;

USE IEEE.STD_LOGIC_1164.ALL ;

ENTITY DECL7S IS

PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);

LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;

END ;

ARCHITECTURE one OF DECL7S IS

BEGIN

PROCESS( A )

BEGIN

CASE A IS

WHEN "0000" => LED7S <= "0111111" ;

WHEN "0001" => LED7S <= "0000110" ;

WHEN "0010" => LED7S <= "1011011" ;

WHEN "0011" => LED7S <= "1001111" ;

WHEN "0100" => LED7S <= "1100110" ;

WHEN "0101" => LED7S <= "1101101" ;

WHEN "0110" => LED7S <= "1111101" ;

WHEN "0111" => LED7S <= "0000111" ;

WHEN "1000" => LED7S <= "1111111" ;

WHEN "1001" => LED7S <= "1101111" ; WHEN "1010" => LED7S <= "1110111" ;

WHEN "1011" => LED7S <= "1111100" ;

WHEN "1100" => LED7S <= "0111001" ;

WHEN "1101" => LED7S <= "1011110" ;

WHEN "1110" => LED7S <= "1111001" ;

WHEN "1111" => LED7S <= "1110001" ;

WHEN OTHERS => NULL ;

END CASE ;

END PROCESS ;

END ;

表决器的设计:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity shiyanwu is

port(A:in std_logic_vector(6 downto 0);

G:out std_logic;

LED:out std_logic_vector(3 downto 0));

end;

architecture one of shiyanwu is

begin

process(A)

variable B:integer range 0 to 7;

begin

B:=0;

for n in 0 to 6 loop

if A(n)='1' then B:=B+1;

end if;

end loop;

if B>3 then G<='1';

else G<='0';

end if;

case B is

when 1=>LED<="0001";

when 2=>LED<="0010";

when 3=>LED<="0011";

when 4=>LED<="0100";

when 5=>LED<="0101";

when 6=>LED<="0110";

when 7=>LED<="0111";

when others=> null;

end case;

end process ;

end;

D触发器

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY DET_D IS

PORT(KD,Q,CLK:IN STD_LOGIC;

LED:OUT STD_LOGIC);

END DET_D;

ARCHITECTURE ART OF DET_D IS

BEGIN PROCESS(CLK,KD,Q)

BEGIN

IF(CLK='1'OR CLK='0')THEN

LED<=Q;

ELSIF(CLK'EVENT AND CLK='1')THEN

LED<=KD;

END IF;

END PROCESS;

END ART;

看下面原理图,写出相应VHDL描述:

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY TRI_STATE IS

PORT ( E, A : IN STD_LOGIC;

Y : INOUT STD_LOGIC;

B : OUT STD_LOGIC);

END TRI_STATE;

ARCHITECTURE BEHAV OF TRI_STATE IS

BEGIN

PROCESS (E, A, Y)

BEGIN

IF E = '0' THEN

B <= Y;

Y <= 'Z';

ELSE

B <= 'Z';

Y <= A;

END IF;

END PROCESS;

END BEHAV;