文档详情

第六章_原理图输入方法1.ppt

发布:2015-09-15约5.25千字共67页下载文档
文本预览下载声明
步骤8:设计顶层文件 (1) 仿照前面的“步骤2”,打开一个新的原理图编辑窗口 图6-20 在顶层编辑窗中调出已设计好的半加器元件 (2) 完成全加器原理图设计,并以文件名f_adder.gdf存在同一目录中。 (3) 将当前文件设置成Project,并选择目标器件为EPF10K10LC84-4。 (4) 编译此顶层文件f_adder.gdf,然后建立波形仿真文件。 图6-21 在顶层编辑窗中设计好全加器 (5) 对应f_adder.gdf的波形仿真文件,参考图中输入信号cin、bin和ain输入信号电平的设置,启动仿真器Simulator,观察输出波形的情况。 (6) 锁定引脚、编译并编程下载,硬件实测此全加器的逻辑功能。 图6-22 1位全加器的时序仿真波形 6.1.2 设计流程归纳 图6-23 MAX+plusII一般设计流程 6.2 2位十进制数字频率计设计 频率计 计数器 数字显示 锁存器 数码管驱动 控制器 (1) 设计计数器电路原理图 图6-24 用74390设计一个有时钟使能的两位十进制计数器 6.2.1 设计有时钟使能的两位十进制计数器 (2) 计数器电路实现 图6-25 调出元件74390 图6-26 从Help中了解74390的详细功能 (3) 波形仿真 图6-27 两位十进制计数器工作波形 LIBRARY IEEE; USE IEEE.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 10进制计数器 PROCESS(CLK, RST, EN) VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST = 1 THEN CQI := (OTHERS =0) ;--计数器复位 ELSIF CLKEVENT AND CLK=1 THEN --检测时钟上升沿 IF EN = 1 THEN --检测是否允许计数 IF CQI 1001 THEN CQI := CQI + 1; --允许计数 ELSE CQI := (OTHERS =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; 6.2.2 频率计主结构电路设计 图6-28 两位十进制频率计顶层设计原理图文件 图6-29 两位十进制频率计测频仿真波形 8位锁存器程序 LIBRARY IEEE; --8位锁存器 USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG8B IS PORT ( clk : IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(7 DOWNTO 0); DOUT : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END REG8B; ARCHITECTURE behav OF REG8B IS BEGIN PROCESS(clk, DIN) BEGIN IF clkEVENT AND clk=1 THEN DOUT=DIN; END IF; END PROCESS; END behav; LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DECL7S IS PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S : OUT STD
显示全部
相似文档