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;