名称:循环码编码器和译码器设计Verilog代码Quartus仿真(文末获取)
软件:Quartus
语言:Verilog
代码功能:
循环码编码器和译码器设计
要求:1、单独设计一个8位循环码编码器;
2、单独设计一个8位循环码译码器
3、两个模块连在一起工作。
1、工程文件
2、程序文件
3、程序编译
4、RTL图
5、仿真图
整体仿真图
编码模块
译码模块
部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; --译码模块 ENTITY cycle_decoder IS PORT ( clk : IN STD_LOGIC;--时钟 rst_n : IN STD_LOGIC;--复位 rden : IN STD_LOGIC;--译码使能 hc_in : IN STD_LOGIC_VECTOR(11 DOWNTO 0);--输入编码结果 q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) --输出8位数据 ); END cycle_decoder; ARCHITECTURE RTL OF cycle_decoder IS SIGNAL g0_error : STD_LOGIC; SIGNAL g1_error : STD_LOGIC; SIGNAL g2_error : STD_LOGIC; SIGNAL g3_error : STD_LOGIC; SIGNAL g3210 : STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN g0_error <= hc_in(10) XOR hc_in(8) XOR hc_in(6) XOR hc_in(4) XOR hc_in(2) XOR hc_in(0); g1_error <= hc_in(10) XOR hc_in(9) XOR hc_in(6) XOR hc_in(5) XOR hc_in(2) XOR hc_in(1); g2_error <= hc_in(11) XOR hc_in(6) XOR hc_in(5) XOR hc_in(4) XOR hc_in(3); g3_error <= hc_in(11) XOR hc_in(10) XOR hc_in(9) XOR hc_in(8) XOR hc_in(7); g3210 <= g3_error & g2_error & g1_error & g0_error; PROCESS (clk, rst_n) BEGIN IF ((NOT(rst_n)) = '1') THEN q <= "00000000"; ELSIF (clk'EVENT AND clk = '1') THEN IF (rden = '1') THEN CASE g3210 IS
源代码
点击下方的公众号卡片获取