一、实验平台
1、Basys3开发板;
2、Vivado2017.4开发环境;
3、VHDL语言。
二、实验描述
最近在学习时序电路,接触到状态机,就利用有限状态机,写了一个8位的序列信号发生器(11010010),分为串行输出和并行输出。这次只是仿真,所以没有进行分频,不过我会把后面的1HZ分频代码贴出来。
三、相关代码
1、主代码
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
entity signal_generate is
Port (
clk : in STD_LOGIC;
rst : in STD_LOGIC;
d : out STD_LOGIC_VECTOR (7 downto 0); --并行输出
d_out : out STD_LOGIC --串行输出
);
end signal_generate;
architecture Behavioral of signal_generate is
type states is (s0,s1,s2,s3,s4,s5,s6,s7);
signal state : states:=s0;
signal d1 : std_logic_vector(7 downto 0):="00000000";
signal temp : std_logic;
begin
--串并转换
process(clk)
begin
if(rst='1')then
d1<="00000000";

本文介绍了使用VHDL语言和状态机在Basys3开发板上实现一个8位序列信号发生器的实验过程。在Vivado2017.4环境下,设计实现了串行和并行输出(序列11010010),虽然未在实际硬件上运行,但提供了仿真结果。代码包括主设计、仿真测试及分频相关部分。
最低0.47元/天 解锁文章
2800

被折叠的 条评论
为什么被折叠?



