第5章VHDL与原理图混合设计方式
- 格式:ppt
- 大小:406.00 KB
- 文档页数:31


基于VHDL的数字电路综合设计一、引言数字电路设计是计算机科学中的一个重要领域,也是电子工程中的核心内容之一。
在数字电路设计中,经常会用到VHDL语言进行功能仿真和硬件实现,本文将介绍基于VHDL的数字电路综合设计。
二、VHDL语言简介VHDL是VHSIC硬件描述语言(Very High Speed Integrated Circuit Hardware Description Language)的缩写,是一种描述数字系统的硬件设计语言。
VHDL支持复杂的设计和测试,并具有高度的可重用性和可扩展性,因此被广泛应用于数字电路设计。
VHDL语言包含结构体、函数、过程、运算符等元素,允许用户在设计过程中进行各种模拟和优化,支持从最基本的逻辑门直到复杂的微处理器设计。
同时,VHDL可以在不同的电脑平台上使用,并且可以与其他软件工具进行无缝集成。
三、数字电路综合设计流程数字电路综合设计是指将高级语言的描述转换为符合硬件描述语言规范的电路图。
数字电路综合设计流程如下:1.设计规范:对电路进行功能分析和描述,包括输入、输出、功能、时序等方面。
2.编写VHDL代码:根据设计规范编写VHDL代码,包括模块实例化、输入输出端口定义、内部信号定义、电路描述等。
3.逻辑综合:将VHDL代码进行逻辑综合,将代码转换为门级电路,通常采用的软件工具是DC综合器。
4.布局布线:将逻辑综合得到的门级电路进行布局布线,得到网表电路。
5.时序分析:对网表电路进行时序分析,保证电路能够在设定的时间内完成给定的操作。
6.物理综合:根据时序分析结果对网表电路进行物理综合,将电路布局在芯片上,并定义技术参数。
7.后仿真:对综合后的电路进行后仿真,验证电路设计是否符合原始设计要求。
四、综合设计工具的选择数字电路综合设计需要使用多种工具,主要涉及到硬件描述语言编写工具、逻辑综合工具、布局布线工具、笔画校验工具和后仿真工具等。
常见的综合设计工具有:1.VHDL编译器和仿真器:VHDL编译器和仿真器是支持VHDL语言的电路设计工具,可以实现VHDL语言的编写和电路仿真功能。
原理图输入设计方法与混合输入设计方法实验报告一.实验名称原理图输入设计方法与混合输入设计方法二.实验目的学习QuartusⅡ的原理图输入设计方法与混合输入设计方法,通过1位全加器的设计与仿真过程进行训练。
三.实验原理先设计一个半加器,保存为元器件,然后建立一个顶层文件,调用之前的半加器,设计出全加器的电路,然后进行仿真,得出波形。
四.实验内容1.原理图输入设计方法1位全加器可以用两个半加器及一个或门连接而成,因此需要首先完成半加器的设计,首先为本设计创建新的工程,通过file->new菜单新建原理图文件,在原理图文件中编辑图一所示的半加器电路图(注意要给输入输出端口命名),编辑完成后存盘。
为了在全加器的顶层设计中能够调用半加器,必须将半加器设置成可调用的元件,全加器的原理图设计需要再新建一个原理图文件,编辑全加器电路图时,可通过在原理图编辑窗口的空白处双击鼠标左键调用此前创建的半加器元件符号,或者点击Symbol Tool按钮,在弹出的对话框中进行选择。
然后进行调试仿真。
2.VHDL语言与原理图混合输入设计方法这部分的工作是用VHDL语言设计替代第一步中的半加器原理图设计,即使用VHDL 语言实现半加器的设计,再将其设置成可调用的元件符号,而全加器的设计则通过调用半加器元件符号的原理图方式实现,这样就实现了VHDL语言与原理图混合输入的设计方法,然后再进行仿真。
五.实验数据1.半加器设计图2.半加器编译图3.全加器设计图4.全加器编译图5.波形图六.实验小结1.学会使用EDA设计电路进行仿真。
2.初步了解了底层设计与顶层设计,学会在顶层设计中调用底层设计的内容。
3.掌握了新的一种更加形象化的仿真方法。
实验四:VHDL语言的组合电路设计一、实验目的学习用VHDL语言设计组合电路的方法、熟悉总线数据输入方式。
二、实验内容编程实现一个优先编码、译码及显示的电路。
三、实验条件(1)电脑。
(2)开发软件:Quartus II(3)开发设备:EL —EDA—V型;EDA实验开发系统。
(4)拟用芯片:ACEX1K;EP1K100QC208-3。
四、实验要求1、用VHDL设计10线——4线优先编码器模块。
2、用VHDL设计BCD码——7段译码器模块。
3、用VHDL完成编码、译码及显示的描述。
4、对设计结果进行仿真、下载及硬件测试。
五、实验设计(1)10线—4线优先编码器模块(2)7段译码器模块Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.all;ENTITY display ISPort(clkdsp: in std_logic;D0,D1,D2,D3,D4,D5,D6,D7:IN STD_LOGIC_VECTOR(3 DOWNTO 0);SEL: out std_logic_vector(2 downto 0);Led7s: OUT std_logic_vector(6 downto 0));END ENTITY display;Architecture one of display isSignal cnt8: std_logic_vector(2 downto 0);Signal y: std_logic_vector(3 downto 0);BeginP1:Process(clkdsp) --8进制计数器BeginIf clkdsp' event AND CLKDSP='1' thenCnt8<=cnt8+1;End if;SEL<=cnt8;End process P1;P2:PROCESS(cnt8,D0,D1,D2,D3,D4,D5,D6,D7) --8选1数据选择器BEGINCASE cnt8 ISWHEN "000"=> Y<= D0;WHEN "001"=> Y<= D1;WHEN "010"=> Y<= D2;WHEN "011"=> Y<= D3;WHEN "100"=> Y<= D4;WHEN "101"=> Y<= D5;WHEN "110"=> Y<= D6;WHEN "111"=> Y<= D7;WHEN OTHERS=>NULL;END CASE;END PROCESS P2;P3:PROCESS(y) --显示译码器BEGINCASE y(3 DOWNTO 0) isWHEN "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 "1111"=>LED7S<="1000000";WHEN OTHERS=>NULL;END CASE;END PROCESS P3;END one;3)编码、译码及显示模块的VHDL程序LIBRARY IEEE;USE IEEE.std_logic_1164.all;ENTITY ENCODER_DEC7S ISPORT(I:IN BIT_VECTOR(9 DOWNTO 0);LED7S:OUT BIT_VECTOR (6 DOWNTO 0));END ENCODER_DEC7S;ARCHITECTURE one OF ENCODER_DEC7S IS SIGNAL Y:STD_LOGIC_VECTOR(3DOWNTO 0); BEGINP1:PROCESS(I)BEGINIF(i(9)='0')THEN y<="1001";ELSIF(i(8)='0')THEN y<="1000";ELSIF(i(7)='0')THEN y<="0111";ELSIF(i(6)='0')THEN y<="0110";ELSIF(i(5)='0')THEN y<="0101";ELSIF(i(4)='0')THEN y<="0100";ELSIF(i(3)='0')THEN y<="0011";ELSIF(i(2)='0')THEN y<="0010";ELSIF(i(1)='0')THEN y<="0001";ELSIF(i(0)='0')THEN y<="0000";ELSE y<="0000";END IF;END PROCESS P1;P2:PROCESS(Y)BEGINCASE Y isWHEN"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 OTHERS=>NULL;END CASE;END PROCESS P2;END one;4)仿真波形5)管脚锁定电路引脚 CLKCLR EN UP ...... LED7 CO EP1K100QC208-3芯片Pin78 Pin7 Pin8 Pin90 ...... Pin97 Pin36 EDA 实验开发系统 CLK5 d0 d1 a ...... g LED0五、实验结果及总结1)系统仿真情况从系统仿真结果可以看出,本系统完全符合设计要求。