(建议两个实验分成两个项目做,只有LowFreqClk设计会重复)
(有些地方会省略文件置顶和编译,有问题的话看看是不是文件没置顶或没编译)
一、实验预习:
用双向移位寄存器74194和门电路设计一个右移模5的扭环计数器;并画出电路图
二、实验内容:
1.双向移位寄存器74194的应用——扭环形计数器的设计和实现:用双向移位寄存器74194和门电路设计一个右移模5的扭环计数器,并进行仿真验证。
2.同步十进制加计数器74160的应用——任意进制计数器的设计、仿真和下载:设计一个同步7-23加计数器,并进行仿真验证
(1)、设计74194模5扭环形计数器
[1]、电路图:
使用预习电路图画好电路图,进行编译成功。
[2]、仿真波形
如下设计输入CP端:
进行编译,如图即为成功
[3]、引脚分配:
如图:
再编译一遍
[4]、下载至电路板并验证功能
功能如下:
<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="dSy3zA8Y-1731303857421" src="https://live.csdn.net/v/embed/433529"></iframe>扭环计数器
[5]、进阶(自动)---(老师没要求可跳过)
<1>、设置LowFreqClk--产生时钟信号的器件
输入VHDL程序代码,如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY LowFreqClk IS
PORT(rst_n : IN STD_LOGIC;
Clk_50M : IN STD_LOGIC;
clk_1Hz : buffer STD_LOGIC;
clk_2Hz : buffer STD_LOGIC;
clk_4Hz : buffer STD_LOGIC;
clk_8Hz : buffer STD_LOGIC);
END LowFreqClk;
ARCHITECTURE Behv OF LowFreqClk IS
BEGIN
PROCESS(Clk_50M,rst_n)
VARIABLE Count:INTEGER ;
BEGIN
IF rst_n = '0' then
Count := 0 ;
clk_8Hz <= '0';
ELSIF Clk_50M'EVENT AND Clk_50M='1' THEN
IF Count >= 3124999 THEN
clk_8Hz <=not clk_8Hz;
Count := 0 ;
ELSE
Count := Count + 1;
END IF;
END IF;
END PROCESS ;
PROCESS(clk_8Hz,rst_n)
BEGIN
IF rst_n = '0' then
clk_4Hz <= '0';
ELSIF Clk_8Hz'EVENT AND Clk_8Hz='1' THEN
clk_4Hz <=not clk_4Hz;
END IF;
END PROCESS ;
PROCESS(clk_4Hz,rst_n)
BEGIN
IF rst_n = '0' then
clk_2Hz <= '0';
ELSIF Clk_4Hz'EVENT AND Clk_4Hz='1' THEN
clk_2Hz <=not clk_2Hz;
END IF;
END PROCESS ;
PROCESS(clk_2Hz,rst_n)
BEGIN
IF rst_n = '0' then
clk_1Hz <= '0';
ELSIF Clk_2Hz'EVENT AND Clk_2Hz='1' THEN
clk_1Hz <=not clk_1Hz;
END IF;
END PROCESS ;
END Behv;
将该文件置顶:
保存文件名为:LowFreqClk.VHD,并编译通过(这步要注意)
运行VHDL程序代码:
为设计文件创建符号文件
<2>、设计电路图,如下:
上一步创建的符号文件和库文件一样,可以在原理图设计文件中使用。
电路图,仅修改圈部分,其与原电路图不同:
<3>、引脚分配
仅修改圈部分,与原引脚分配不同:
结果如图:
<4>、下载实验板进行功能测试
拨动下面两个拨码开关都为1,出现自动跳动进行模5扭环计数器验证
实验结果略...
(2)、同步7-23加计数器74160
[1]、电路图:
[2]、仿真波形验证:
如图设计输入CP:
仿真结果为下图,即为成功
[3]、引脚分配
再编译一遍
[4]、下载至电路板并验证功能
功能如下:
<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="XcWMAdHK-1731303870988" src="https://live.csdn.net/v/embed/433530"></iframe>同步7-23计数器
[5]、进阶(自动)---(老师没要求可跳过)
<1>、设置LowFreqClk--产生时钟信号的器件
同上。
<2>、设计电路图,如下:
仅修改圈内部分,与原电路图不同:
<3>、引脚分配
仅修改圈内部分,与原引脚分配不同:
结果如图:
<4>、下载实验板进行功能测试
拨动下面两个拨码开关都为1,出现自动跳动进行7-23计数器验证
结果略...
(如果有帮助请点赞或评论支持,有问题请指正,其他问题请评论交流...)
标签:STD,74160,引脚,LowFreqClk,电路图,计数器,逻辑电路,LOGIC From: https://blog.csdn.net/wirepuller_king/article/details/143679879