⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 renormalize.vhd

📁 这是一个计算维特比译码的程序
💻 VHD
📖 第 1 页 / 共 4 页
字号:
-- --------------------------------------------------------------- -- Module: Renormalize-- Simulink Path: hdlcoderviterbi/viterbi_block/ACS Unit/Renormalize-- Created: 2009-03-24 16:23:49-- Hierarchy Level: 2---- -- -------------------------------------------------------------LIBRARY IEEE;USE IEEE.std_logic_1164.ALL;USE IEEE.numeric_std.ALL;USE work.viterbi_block_pkg.ALL;use IEEE.std_logic_unsigned.all;ENTITY Renormalize IS  PORT( clk                               :   IN    std_logic;        reset                             :   IN    std_logic;        enb                               :   IN    std_logic;        In1                               :   IN    vector_of_std_logic_vector4(0 TO 63);          IDX                               :   OUT   std_logic_vector(7 DOWNTO 0);          SM                                :   OUT   vector_of_std_logic_vector4(0 TO 63)          );END Renormalize;ARCHITECTURE rtl OF Renormalize IS  -- Local Type Definitions  TYPE vector_of_unsigned4 IS ARRAY (NATURAL RANGE <>) OF unsigned(3 DOWNTO 0);  TYPE vector_of_unsigned8 IS ARRAY (NATURAL RANGE <>) OF unsigned(7 DOWNTO 0);  -- Constants  CONSTANT Minimumidxconst1               : unsigned(7 DOWNTO 0) := to_unsigned(1, 8);    CONSTANT Minimumidxconst2               : unsigned(7 DOWNTO 0) := to_unsigned(2, 8);    CONSTANT Minimumidxconst3               : unsigned(7 DOWNTO 0) := to_unsigned(3, 8);    CONSTANT Minimumidxconst4               : unsigned(7 DOWNTO 0) := to_unsigned(4, 8);    CONSTANT Minimumidxconst5               : unsigned(7 DOWNTO 0) := to_unsigned(5, 8);    CONSTANT Minimumidxconst6               : unsigned(7 DOWNTO 0) := to_unsigned(6, 8);    CONSTANT Minimumidxconst7               : unsigned(7 DOWNTO 0) := to_unsigned(7, 8);    CONSTANT Minimumidxconst8               : unsigned(7 DOWNTO 0) := to_unsigned(8, 8);    CONSTANT Minimumidxconst9               : unsigned(7 DOWNTO 0) := to_unsigned(9, 8);    CONSTANT Minimumidxconst10              : unsigned(7 DOWNTO 0) := to_unsigned(10, 8);    CONSTANT Minimumidxconst11              : unsigned(7 DOWNTO 0) := to_unsigned(11, 8);    CONSTANT Minimumidxconst12              : unsigned(7 DOWNTO 0) := to_unsigned(12, 8);    CONSTANT Minimumidxconst13              : unsigned(7 DOWNTO 0) := to_unsigned(13, 8);    CONSTANT Minimumidxconst14              : unsigned(7 DOWNTO 0) := to_unsigned(14, 8);    CONSTANT Minimumidxconst15              : unsigned(7 DOWNTO 0) := to_unsigned(15, 8);    CONSTANT Minimumidxconst16              : unsigned(7 DOWNTO 0) := to_unsigned(16, 8);    CONSTANT Minimumidxconst17              : unsigned(7 DOWNTO 0) := to_unsigned(17, 8);    CONSTANT Minimumidxconst18              : unsigned(7 DOWNTO 0) := to_unsigned(18, 8);    CONSTANT Minimumidxconst19              : unsigned(7 DOWNTO 0) := to_unsigned(19, 8);    CONSTANT Minimumidxconst20              : unsigned(7 DOWNTO 0) := to_unsigned(20, 8);    CONSTANT Minimumidxconst21              : unsigned(7 DOWNTO 0) := to_unsigned(21, 8);    CONSTANT Minimumidxconst22              : unsigned(7 DOWNTO 0) := to_unsigned(22, 8);    CONSTANT Minimumidxconst23              : unsigned(7 DOWNTO 0) := to_unsigned(23, 8);    CONSTANT Minimumidxconst24              : unsigned(7 DOWNTO 0) := to_unsigned(24, 8);    CONSTANT Minimumidxconst25              : unsigned(7 DOWNTO 0) := to_unsigned(25, 8);    CONSTANT Minimumidxconst26              : unsigned(7 DOWNTO 0) := to_unsigned(26, 8);    CONSTANT Minimumidxconst27              : unsigned(7 DOWNTO 0) := to_unsigned(27, 8);    CONSTANT Minimumidxconst28              : unsigned(7 DOWNTO 0) := to_unsigned(28, 8);    CONSTANT Minimumidxconst29              : unsigned(7 DOWNTO 0) := to_unsigned(29, 8);    CONSTANT Minimumidxconst30              : unsigned(7 DOWNTO 0) := to_unsigned(30, 8);    CONSTANT Minimumidxconst31              : unsigned(7 DOWNTO 0) := to_unsigned(31, 8);    CONSTANT Minimumidxconst32              : unsigned(7 DOWNTO 0) := to_unsigned(32, 8);    CONSTANT Minimumidxconst33              : unsigned(7 DOWNTO 0) := to_unsigned(33, 8);    CONSTANT Minimumidxconst34              : unsigned(7 DOWNTO 0) := to_unsigned(34, 8);    CONSTANT Minimumidxconst35              : unsigned(7 DOWNTO 0) := to_unsigned(35, 8);    CONSTANT Minimumidxconst36              : unsigned(7 DOWNTO 0) := to_unsigned(36, 8);    CONSTANT Minimumidxconst37              : unsigned(7 DOWNTO 0) := to_unsigned(37, 8);    CONSTANT Minimumidxconst38              : unsigned(7 DOWNTO 0) := to_unsigned(38, 8);    CONSTANT Minimumidxconst39              : unsigned(7 DOWNTO 0) := to_unsigned(39, 8);    CONSTANT Minimumidxconst40              : unsigned(7 DOWNTO 0) := to_unsigned(40, 8);    CONSTANT Minimumidxconst41              : unsigned(7 DOWNTO 0) := to_unsigned(41, 8);    CONSTANT Minimumidxconst42              : unsigned(7 DOWNTO 0) := to_unsigned(42, 8);    CONSTANT Minimumidxconst43              : unsigned(7 DOWNTO 0) := to_unsigned(43, 8);    CONSTANT Minimumidxconst44              : unsigned(7 DOWNTO 0) := to_unsigned(44, 8);    CONSTANT Minimumidxconst45              : unsigned(7 DOWNTO 0) := to_unsigned(45, 8);    CONSTANT Minimumidxconst46              : unsigned(7 DOWNTO 0) := to_unsigned(46, 8);    CONSTANT Minimumidxconst47              : unsigned(7 DOWNTO 0) := to_unsigned(47, 8);    CONSTANT Minimumidxconst48              : unsigned(7 DOWNTO 0) := to_unsigned(48, 8);    CONSTANT Minimumidxconst49              : unsigned(7 DOWNTO 0) := to_unsigned(49, 8);    CONSTANT Minimumidxconst50              : unsigned(7 DOWNTO 0) := to_unsigned(50, 8);    CONSTANT Minimumidxconst51              : unsigned(7 DOWNTO 0) := to_unsigned(51, 8);    CONSTANT Minimumidxconst52              : unsigned(7 DOWNTO 0) := to_unsigned(52, 8);    CONSTANT Minimumidxconst53              : unsigned(7 DOWNTO 0) := to_unsigned(53, 8);    CONSTANT Minimumidxconst54              : unsigned(7 DOWNTO 0) := to_unsigned(54, 8);    CONSTANT Minimumidxconst55              : unsigned(7 DOWNTO 0) := to_unsigned(55, 8);    CONSTANT Minimumidxconst56              : unsigned(7 DOWNTO 0) := to_unsigned(56, 8);    CONSTANT Minimumidxconst57              : unsigned(7 DOWNTO 0) := to_unsigned(57, 8);    CONSTANT Minimumidxconst58              : unsigned(7 DOWNTO 0) := to_unsigned(58, 8);    CONSTANT Minimumidxconst59              : unsigned(7 DOWNTO 0) := to_unsigned(59, 8);    CONSTANT Minimumidxconst60              : unsigned(7 DOWNTO 0) := to_unsigned(60, 8);    CONSTANT Minimumidxconst61              : unsigned(7 DOWNTO 0) := to_unsigned(61, 8);    CONSTANT Minimumidxconst62              : unsigned(7 DOWNTO 0) := to_unsigned(62, 8);    CONSTANT Minimumidxconst63              : unsigned(7 DOWNTO 0) := to_unsigned(63, 8);    CONSTANT Minimumidxconst64              : unsigned(7 DOWNTO 0) := to_unsigned(64, 8);    -- Signals  SIGNAL s                                : vector_of_unsigned4(0 TO 63);      --SIGNAL Minimum_out1                     : std_logic-vector(3 DOWNTO 0);    SIGNAL Minimum_out1                     : unsigned(3 DOWNTO 0);      SIGNAL Minimum_out2                     : unsigned(7 DOWNTO 0);    SIGNAL Add_out1                         : vector_of_unsigned4(0 TO 63);    SIGNAL Minimum_comparernd1              : std_logic_vector(0 TO 31);  -- boolean [32]  SIGNAL Minimum_muxrnd1                  : vector_of_unsigned4(0 TO 31);     SIGNAL Minimum_muxidxrnd1               : vector_of_unsigned8(0 TO 31);     SIGNAL Minimum_comparernd2              : std_logic_vector(0 TO 15);  -- boolean [16]  SIGNAL Minimum_muxrnd2                  : vector_of_unsigned4(0 TO 15);     SIGNAL Minimum_muxidxrnd2               : vector_of_unsigned8(0 TO 15);     SIGNAL Minimum_comparernd3              : std_logic_vector(0 TO 7);  -- boolean [8]  SIGNAL Minimum_muxrnd3                  : vector_of_unsigned4(0 TO 7);     SIGNAL Minimum_muxidxrnd3               : vector_of_unsigned8(0 TO 7);     SIGNAL Minimum_comparernd4              : std_logic_vector(0 TO 3);  -- boolean [4]  SIGNAL Minimum_muxrnd4                  : vector_of_unsigned4(0 TO 3);     SIGNAL Minimum_muxidxrnd4               : vector_of_unsigned8(0 TO 3);     SIGNAL Minimum_comparernd5              : std_logic_vector(0 TO 1);  -- boolean [2]  SIGNAL Minimum_muxrnd5                  : vector_of_unsigned4(0 TO 1);     SIGNAL Minimum_muxidxrnd5               : vector_of_unsigned8(0 TO 1);     SIGNAL Minimum_comparernd6              : std_logic;  SIGNAL Minimum_muxrnd6                  : unsigned(3 DOWNTO 0);    SIGNAL Minimum_muxidxrnd6               : unsigned(7 DOWNTO 0);    SIGNAL sub_cast                         : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_1                       : unsigned(3 DOWNTO 0);    SIGNAL sub_temp                         : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_2                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_3                       : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_1                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_4                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_5                       : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_2                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_6                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_7                       : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_3                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_8                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_9                       : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_4                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_10                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_11                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_5                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_12                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_13                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_6                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_14                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_15                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_7                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_16                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_17                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_8                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_18                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_19                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_9                       : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_20                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_21                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_10                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_22                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_23                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_11                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_24                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_25                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_12                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_26                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_27                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_13                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_28                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_29                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_14                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_30                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_31                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_15                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_32                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_33                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_16                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_34                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_35                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_17                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_36                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_37                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_18                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_38                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_39                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_19                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_40                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_41                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_20                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_42                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_43                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_21                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_44                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_45                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_22                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_46                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_47                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_23                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_48                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_49                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_24                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_50                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_51                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_25                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_52                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_53                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_26                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_54                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_55                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_27                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_56                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_57                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_28                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_58                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_59                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_29                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_60                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_61                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_30                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_62                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_63                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_31                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_64                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_65                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_32                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_66                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_67                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_33                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_68                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_69                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_34                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_70                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_71                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_35                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_72                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_73                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_36                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_74                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_75                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_37                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_76                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_77                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_38                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_78                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_79                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_39                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_80                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_81                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_40                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_82                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_83                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_41                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_84                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_85                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_42                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_86                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_87                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_43                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_88                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_89                      : unsigned(3 DOWNTO 0);    SIGNAL sub_temp_44                      : unsigned(3 DOWNTO 0);    SIGNAL sub_cast_90                      : unsigned(3 DOWNTO 0);  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -