扫码加入

  • 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

m序列发生器VHDL代码Quartus仿真

2025/06/26
277
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24010910340Dc.doc

共1个文件

名称:m序列发生器VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

m序列发生器

1、采用VHDL语言设计m序列发生器。

2、本代码也包含Verilog语言的m序列发生器。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 原理框图

2. 工程文件

3. 程序文件

4. 程序编译

5. RTL图

6. 仿真文件

7. 仿真图

部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
ENTITY m_code IS
   PORT (
      clk     : IN STD_LOGIC;--时钟
      rst     : IN STD_LOGIC;--复位
      ctrl_1  : IN STD_LOGIC;--控制端1
      ctrl_2  : IN STD_LOGIC;--控制端2
      dout    : OUT STD_LOGIC--输出随机序列(m序列)
   );
END m_code;
ARCHITECTURE trans OF m_code IS
   SIGNAL ctrl      : STD_LOGIC_VECTOR(1 DOWNTO 0);
   SIGNAL ddout_set : STD_LOGIC_VECTOR(7 DOWNTO 0) := "10001001";
   SIGNAL ddout     : STD_LOGIC_VECTOR(7 DOWNTO 0) := "10001001";
BEGIN
   ctrl <= (ctrl_1 & ctrl_2);--2位控制端拼接为2bit
   PROCESS (clk)
   BEGIN
      IF (clk'EVENT AND clk = '1') THEN
         CASE ctrl IS
            WHEN "00" =>
               ddout_set <= "10001001";--初值1
            WHEN "01" =>
               ddout_set <= "00011001";--初值2
            WHEN "10" =>
               ddout_set <= "00100111";--初值3
            WHEN "11" =>
               ddout_set <= "01000101";--初值4
            WHEN OTHERS =>
         END CASE;
      END IF;
   END PROCESS;
   
   
   PROCESS (clk)
   BEGIN
      IF (clk'EVENT AND clk = '1') THEN
         IF (rst = '1') THEN
            ddout <= ddout_set;--复位,获取初始值
         ELSE

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=518

  • 2-24010910340Dc.doc
    下载

相关推荐