名稱(chēng):m序列發(fā)生器VHDL代碼Quartus仿真
軟件:Quartus
語(yǔ)言:VHDL
代碼功能:
m序列發(fā)生器
1、采用VHDL語(yǔ)言設(shè)計(jì)m序列發(fā)生器。
2、本代碼也包含Verilog語(yǔ)言的m序列發(fā)生器。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
演示視頻:
設(shè)計(jì)文檔:
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;--時(shí)鐘 ??????rst?????:?IN?STD_LOGIC;--復(fù)位 ??????ctrl_1??:?IN?STD_LOGIC;--控制端1 ??????ctrl_2??:?IN?STD_LOGIC;--控制端2 ??????dout????:?OUT?STD_LOGIC--輸出隨機(jī)序列(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;--復(fù)位,獲取初始值 ?????????ELSE
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=518
閱讀全文