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

线性反馈移位寄存器(LFSR)VHDL代码

04/29 15:19
758
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1-23102R311251G.doc

共1个文件

名称:线性反馈移位寄存器(LFSR)VHDL代码(代码在文末付费下载)

软件:ISE

语言:VHDL

代码功能:

线性反馈移位寄存器(LFSR)VHDL代码

演示视频:

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

部分代码展示

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
ENTITY?H17000103?IS
???PORT?(
??????clock?????????:?IN?STD_LOGIC;--时钟
??????reset?????:?IN?STD_LOGIC;--低电平复位
??????random_num??:?OUT?STD_LOGIC_VECTOR(2?DOWNTO?0)--输出
???);
END?H17000103;
ARCHITECTURE?behave?OF?H17000103?IS
???
???SIGNAL?ran_num??:?STD_LOGIC_VECTOR(2?DOWNTO?0)?:=?"111";
???SIGNAL?feedback?:?STD_LOGIC;
SIGNAL?shtft_times??:?STD_LOGIC_VECTOR(2?DOWNTO?0)?:=?"000";--移位次数
BEGIN
???feedback?<=?((ran_num(0)?XOR?ran_num(2)));--反馈信号,异或再取非
???
--移位
???PROCESS?(clock,?reset)
???BEGIN
??????IF?((NOT(reset))?=?'1')?THEN--复位
?????????ran_num?<=?"111";--初值
??????ELSIF?(clock'EVENT?AND?clock?=?'1')?THEN--时钟上升沿
?????????ran_num?<=?(ran_num(1)?&?ran_num(0)?&?feedback);--左移
??????END?IF;
???END?PROCESS;
--移位次数计数
???PROCESS?(clock,?reset)
???BEGIN
??????IF?((NOT(reset))?=?'1')?THEN--复位
shtft_times<=?"000";--起始0次
??????ELSIF?(clock'EVENT?AND?clock?=?'1')?THEN--时钟上升沿
?????????IF(shtft_times="111")THEN--移位7次循环

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 仿真图

移位3次

移位5次

  • 1-23102R311251G.doc
    下载

相关推荐