《VHDL设计输入方式课件》由会员分享,可在线阅读,更多相关《VHDL设计输入方式课件(17页珍藏版)》请在金锄头文库上搜索。
1、VHDL设计输入方式,VHDL设计输入方式,1,Quartus II的VHDL输入设计,Synplify pro的VHDL输入设计,Synplify的VHDL输入设计,2,3,基于HDL文本输入的数字设计流程,1 Quartus II的VHDL输入设计,1.输入源程序,【例5.1】4位模16加法计数器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity CNT4 is port(CLK,CLR:in std_logic; -CLR是异步复位端 Q:buffer std_logic_
2、vector(3 downto 0); end; architecture ONE of CNT4 is Begin process(CLR,CLK) begin if CLR=1 then Q=0000; -CLR为高电平时,复位计数器状态到0 elsif CLKevent and CLK=1 then Q=Q+1; end if; end process; end;,2.创建工程,3.编译,RTL级原理图,综合后的门级原理图,编辑输入信号波形,4. 仿真,波形赋值 快捷键,选中波形,总线型 数据,2 Synplify pro的VHDL输入设计,LIBRARY IEEE; USE IEEE.
3、STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CNT10 IS PORT (CLK,RST,EN : IN STD_LOGIC; CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT10; ARCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THE
4、N CQI := (OTHERS =0) ; -计数器复位 ELSIF CLKEVENT AND CLK=1 THEN -检测时钟上升沿 IF EN = 1 THEN -检测是否允许计数 IF CQI 0); -大于9,计数值清零 END IF; END IF; END IF; IF CQI = 1001 THEN COUT = 1; -计数大于9,输出进位信号 ELSE COUT = 0; END IF; CQ = CQI; -将计数值向端口输出 END PROCESS; END behav;,【例5.4】带有复位和时钟使能的10进制计数器,1输入设计,2选择目标器件,3综合前控制设置,在对
5、输入的文件进行综合前,应根据源文件的不同设计特点作一些针对改善综合方式的控制。例如设计者希望在不改变源文件的情况下,对设计项目中的电路结构进行资源共享优化,或对其中的有限状态机进行优化,或对在众多组合电路块中的触发器重新放置以提高运行速度,可以分别选中左栏的控制选择项:Resource Sharing(资源共享)、FSM Compiler(状态机编译器)、FSM Explorer(状态机开发器)或Retiming和Pipelining(流水线设计)。,10进制计数器综合后的RTL级原理图,4综合,查看结果,在Synplify Pro中调用Quartus II,Synplify Pro与Quar
6、tus II的接口,5-1 用VHDL设计一个类似74138的译码器电路,用Synplify Pro软件对设计文件进行综合,观察RTL级综合视图和门级综合视图。 5-2 用VHDL语言设计一个功能类似74161的电路,用Synplify Pro软件对设计文件进行综合,观察RTL级综合视图和门级综合视图。 5-3用VHDL设计一个1位全加器,用Synplify软件对其进行综合,观察RTL级综合视图和门级综合视图。,习 题,5-4 用VHDL设计一个8位加法器,用Quartus II软件进行综合和仿真。 5-5 用VHDL设计一个8位模60加法计数器,用Quartus II软件进行综合和仿真。 5-6 基于Quartus II软件,用VHDL语言采用部分积右移的方式设计实现一个4位二进制乘法器,并进行综合和仿真。,习 题,