当前位置:首页 > EDA技术试验指导书new - Quartus(1)
管实际上同一时间只有一个数码管被点亮)。
要实现以上功能,就必须按照一定时钟节拍,轮流使译码器输出所需要字
符的编码;同时控制数码管的公共电极电平,轮流点亮数码管(可以使用上个实验设计的计数器,加实验板上的74ls138来实现,其中74ls138的译码输入端与FPGA的io相连,8个译码输出端分别与8个数码管的公共电极相连)。 3) 用QuartusⅡ对2)中的设计进行编译、综合、仿真,给出其所有信号的仿真波形和时序分析数据。
时序分析
4)通过QuartusⅡ集成环境,将设计下载到实验电路上进行硬件测试。 管脚锁定: clk: clk1 1 clk1
D(3): PIO30 30 SW1 D(2): PIO24 35 SW2 D(1): PIO25 36 SW3 D(0): PIO26 37 SW4 A(7): 81 SEG dp A(6): PIO6 11 SEG g
A(5): PIO5 10 SEG f A(4): PIO4 9 SEG e A(3): PIO3 8 SEG d A(2): PIO2 7 SEG c A(1): PIO1 6 SEG b A(0): PIO0 5 SEG a
74ls138译码输入S(2):
80 S(1):
79
S(0):
四、思考题
78
尝试将74ls138的功能也用VHDL来实现,将所有逻辑功能都集成到FPGA里
面,请写出其VHDL描述。 回答问题:
library ieee;
use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity decoder138 is
port (Q0: out std_logic_vector(7 downto 0); Q1: in std_logic_vector(2 downto 0); en: in std_logic); end entity decoder38;
architecture c1 of decoder138 is begin
process(Q1,en)
variable temp : std_logic_vector(7 downto 0); begin
if en = '1' then temp := \ else
case Q1 is
when \ when \ when \ when \ when \ when \ when \ when \ end case; end if; Q0 <= temp; end process;
end architecture c1;
实验六 数控分频器的设计
一、实验目的:
学习数控分频器的设计和测试方法,熟练掌握利用VHDL语言进行数字逻辑
电路设计的方法。 二、实验原理:
数控分频器的功能为在不同输入信号时,对时钟信号进行不同的分频,在输出端输出不同频率的信号。该电路可以用具有并行预置功能的加法计数器实现,方法是对应不同的输入信号,预置数(初始计数值)设定不同的值,然后用计数器的溢出信号作为输出信号或输出信号的控制值。 电路输出波形图:
三、实验内容 :
1)根据试验原理编制实现数控分频器的VHDL程序。
提示:可以将计数器溢出信号输出给一个翻转触发器,溢出信号的边沿作为触发器的触发信号,触发器的输出就是分频器的输出(注意计数器初始计数值与输出频率之间的关系)。
2)用QuartusⅡ对设计进行编译、综合、仿真,给出仿真波形和时序分析数据。
时序分析
共分享92篇相关文档