OpenCores
URL https://opencores.org/ocsvn/async_8b10b_encoder_decoder/async_8b10b_encoder_decoder/trunk

Subversion Repositories async_8b10b_encoder_decoder

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /async_8b10b_encoder_decoder
    from Rev 1 to Rev 2
    Reverse comparison

Rev 1 → Rev 2

/trunk/Enc8B10B.vhd
0,0 → 1,1125
----------------------------------------------------------------------------------
-- Company : OCST Co.,Ltd.
-- Engineer : RyuShinHyung
--
-- Create Date : 02/23/2005
-- Design Name :
-- Module Name : ENC8B10B - RTL
-- Project Name : DSP Application
--
-- Revision
-- Revision 0.01 - File Created
-- Comments : General ENC8B10B
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use work.vect_pack.ALL;
 
entity ENC8B10B is
port
(
CLK_IN : in STD_LOGIC;
RUNDP_RESET_IN : in STD_LOGIC;
CTRL_IN : in STD_LOGIC;
DATA_IN : in STD_LOGIC_VECTOR(7 downto 0);
RUNDP_OUT : out STD_LOGIC;
ENCODE_OUT : out STD_LOGIC_VECTOR(9 downto 0)
);
attribute FAST : string;
attribute SLOW : string;
attribute FAST of ENC8B10B : entity is "TRUE";
attribute SLOW of ENC8B10B : entity is "FALSE";
end ENC8B10B;
 
architecture RTL of ENC8B10B is
 
type TYPE_ENC8b10b is array (0 to 1023) of std_logic_vector (10 downto 0); -- RD & Dx.y
signal TBL_ENC8b10b : TYPE_ENC8b10b:=
(
-- "Rjhgfiedcba" -- RD(Pre) + Dx.y => RD(Post)
"00010111001", -- "00000000" -D00.0- [0]
"00010101110", -- "00000001" -D01.0- [1]
"00010101101", -- "00000010" -D02.0- [2]
"11101100011", -- "00000011" -D03.0+ [3]
"00010101011", -- "00000100" -D04.0- [4]
"11101100101", -- "00000101" -D05.0+ [5]
"11101100110", -- "00000110" -D06.0+ [6]
"11101000111", -- "00000111" -D07.0+ [7]
"00010100111", -- "00001000" -D08.0- [8]
"11101101001", -- "00001001" -D09.0+ [9]
"11101101010", -- "00001010" -D10.0+ [10]
"11101001011", -- "00001011" -D11.0+ [11]
"11101101100", -- "00001100" -D12.0+ [12]
"11101001101", -- "00001101" -D13.0+ [13]
"11101001110", -- "00001110" -D14.0+ [14]
"00010111010", -- "00001111" -D15.0- [15]
"00010110110", -- "00010000" -D16.0- [16]
"11101110001", -- "00010001" -D17.0+ [17]
"11101110010", -- "00010010" -D18.0+ [18]
"11101010011", -- "00010011" -D19.0+ [19]
"11101110100", -- "00010100" -D20.0+ [20]
"11101010101", -- "00010101" -D21.0+ [21]
"11101010110", -- "00010110" -D22.0+ [22]
"00010010111", -- "00010111" -D23.0- [23]
"00010110011", -- "00011000" -D24.0- [24]
"11101011001", -- "00011001" -D25.0+ [25]
"11101011010", -- "00011010" -D26.0+ [26]
"00010011011", -- "00011011" -D27.0- [27]
"11101011100", -- "00011100" -D28.0+ [28]
"00010011101", -- "00011101" -D29.0- [29]
"00010011110", -- "00011110" -D30.0- [30]
"00010110101", -- "00011111" -D31.0- [31]
"11001111001", -- "00100000" -D00.1+ [32]
"11001101110", -- "00100001" -D01.1+ [33]
"11001101101", -- "00100010" -D02.1+ [34]
"01001100011", -- "00100011" -D03.1- [35]
"11001101011", -- "00100100" -D04.1+ [36]
"01001100101", -- "00100101" -D05.1- [37]
"01001100110", -- "00100110" -D06.1- [38]
"01001000111", -- "00100111" -D07.1- [39]
"11001100111", -- "00101000" -D08.1+ [40]
"01001101001", -- "00101001" -D09.1- [41]
"01001101010", -- "00101010" -D10.1- [42]
"01001001011", -- "00101011" -D11.1- [43]
"01001101100", -- "00101100" -D12.1- [44]
"01001001101", -- "00101101" -D13.1- [45]
"01001001110", -- "00101110" -D14.1- [46]
"11001111010", -- "00101111" -D15.1+ [47]
"11001110110", -- "00110000" -D16.1+ [48]
"01001110001", -- "00110001" -D17.1- [49]
"01001110010", -- "00110010" -D18.1- [50]
"01001010011", -- "00110011" -D19.1- [51]
"01001110100", -- "00110100" -D20.1- [52]
"01001010101", -- "00110101" -D21.1- [53]
"01001010110", -- "00110110" -D22.1- [54]
"11001010111", -- "00110111" -D23.1+ [55]
"11001110011", -- "00111000" -D24.1+ [56]
"01001011001", -- "00111001" -D25.1- [57]
"01001011010", -- "00111010" -D26.1- [58]
"11001011011", -- "00111011" -D27.1+ [59]
"01001011100", -- "00111100" -D28.1- [60]
"11001011101", -- "00111101" -D29.1+ [61]
"11001011110", -- "00111110" -D30.1+ [62]
"11001110101", -- "00111111" -D31.1+ [63]
"11010111001", -- "01000000" -D00.2+ [64]
"11010101110", -- "01000001" -D01.2+ [65]
"11010101101", -- "01000010" -D02.2+ [66]
"01010100011", -- "01000011" -D03.2- [67]
"11010101011", -- "01000100" -D04.2+ [68]
"01010100101", -- "01000101" -D05.2- [69]
"01010100110", -- "01000110" -D06.2- [70]
"01010000111", -- "01000111" -D07.2- [71]
"11010100111", -- "01001000" -D08.2+ [72]
"01010101001", -- "01001001" -D09.2- [73]
"01010101010", -- "01001010" -D10.2- [74]
"01010001011", -- "01001011" -D11.2- [75]
"01010101100", -- "01001100" -D12.2- [76]
"01010001101", -- "01001101" -D13.2- [77]
"01010001110", -- "01001110" -D14.2- [78]
"11010111010", -- "01001111" -D15.2+ [79]
"11010110110", -- "01010000" -D16.2+ [80]
"01010110001", -- "01010001" -D17.2- [81]
"01010110010", -- "01010010" -D18.2- [82]
"01010010011", -- "01010011" -D19.2- [83]
"01010110100", -- "01010100" -D20.2- [84]
"01010010101", -- "01010101" -D21.2- [85]
"01010010110", -- "01010110" -D22.2- [86]
"11010010111", -- "01010111" -D23.2+ [87]
"11010110011", -- "01011000" -D24.2+ [88]
"01010011001", -- "01011001" -D25.2- [89]
"01010011010", -- "01011010" -D26.2- [90]
"11010011011", -- "01011011" -D27.2+ [91]
"01010011100", -- "01011100" -D28.2- [92]
"11010011101", -- "01011101" -D29.2+ [93]
"11010011110", -- "01011110" -D30.2+ [94]
"11010110101", -- "01011111" -D31.2+ [95]
"11100111001", -- "01100000" -D00.3+ [96]
"11100101110", -- "01100001" -D01.3+ [97]
"11100101101", -- "01100010" -D02.3+ [98]
"00011100011", -- "01100011" -D03.3- [99]
"11100101011", -- "01100100" -D04.3+ [100]
"00011100101", -- "01100101" -D05.3- [101]
"00011100110", -- "01100110" -D06.3- [102]
"00011000111", -- "01100111" -D07.3- [103]
"11100100111", -- "01101000" -D08.3+ [104]
"00011101001", -- "01101001" -D09.3- [105]
"00011101010", -- "01101010" -D10.3- [106]
"00011001011", -- "01101011" -D11.3- [107]
"00011101100", -- "01101100" -D12.3- [108]
"00011001101", -- "01101101" -D13.3- [109]
"00011001110", -- "01101110" -D14.3- [110]
"11100111010", -- "01101111" -D15.3+ [111]
"11100110110", -- "01110000" -D16.3+ [112]
"00011110001", -- "01110001" -D17.3- [113]
"00011110010", -- "01110010" -D18.3- [114]
"00011010011", -- "01110011" -D19.3- [115]
"00011110100", -- "01110100" -D20.3- [116]
"00011010101", -- "01110101" -D21.3- [117]
"00011010110", -- "01110110" -D22.3- [118]
"11100010111", -- "01110111" -D23.3+ [119]
"11100110011", -- "01111000" -D24.3+ [120]
"00011011001", -- "01111001" -D25.3- [121]
"00011011010", -- "01111010" -D26.3- [122]
"11100011011", -- "01111011" -D27.3+ [123]
"00011011100", -- "01111100" -D28.3- [124]
"11100011101", -- "01111101" -D29.3+ [125]
"11100011110", -- "01111110" -D30.3+ [126]
"11100110101", -- "01111111" -D31.3+ [127]
"00100111001", -- "10000000" -D00.4- [128]
"00100101110", -- "10000001" -D01.4- [129]
"00100101101", -- "10000010" -D02.4- [130]
"11011100011", -- "10000011" -D03.4+ [131]
"00100101011", -- "10000100" -D04.4- [132]
"11011100101", -- "10000101" -D05.4+ [133]
"11011100110", -- "10000110" -D06.4+ [134]
"11011000111", -- "10000111" -D07.4+ [135]
"00100100111", -- "10001000" -D08.4- [136]
"11011101001", -- "10001001" -D09.4+ [137]
"11011101010", -- "10001010" -D10.4+ [138]
"11011001011", -- "10001011" -D11.4+ [139]
"11011101100", -- "10001100" -D12.4+ [140]
"11011001101", -- "10001101" -D13.4+ [141]
"11011001110", -- "10001110" -D14.4+ [142]
"00100111010", -- "10001111" -D15.4- [143]
"00100110110", -- "10010000" -D16.4- [144]
"11011110001", -- "10010001" -D17.4+ [145]
"11011110010", -- "10010010" -D18.4+ [146]
"11011010011", -- "10010011" -D19.4+ [147]
"11011110100", -- "10010100" -D20.4+ [148]
"11011010101", -- "10010101" -D21.4+ [149]
"11011010110", -- "10010110" -D22.4+ [150]
"00100010111", -- "10010111" -D23.4- [151]
"00100110011", -- "10011000" -D24.4- [152]
"11011011001", -- "10011001" -D25.4+ [153]
"11011011010", -- "10011010" -D26.4+ [154]
"00100011011", -- "10011011" -D27.4- [155]
"11011011100", -- "10011100" -D28.4+ [156]
"00100011101", -- "10011101" -D29.4- [157]
"00100011110", -- "10011110" -D30.4- [158]
"00100110101", -- "10011111" -D31.4- [159]
"10101111001", -- "10100000" -D00.5+ [160]
"10101101110", -- "10100001" -D01.5+ [161]
"10101101101", -- "10100010" -D02.5+ [162]
"00101100011", -- "10100011" -D03.5- [163]
"10101101011", -- "10100100" -D04.5+ [164]
"00101100101", -- "10100101" -D05.5- [165]
"00101100110", -- "10100110" -D06.5- [166]
"00101000111", -- "10100111" -D07.5- [167]
"10101100111", -- "10101000" -D08.5+ [168]
"00101101001", -- "10101001" -D09.5- [169]
"00101101010", -- "10101010" -D10.5- [170]
"00101001011", -- "10101011" -D11.5- [171]
"00101101100", -- "10101100" -D12.5- [172]
"00101001101", -- "10101101" -D13.5- [173]
"00101001110", -- "10101110" -D14.5- [174]
"10101111010", -- "10101111" -D15.5+ [175]
"10101110110", -- "10110000" -D16.5+ [176]
"00101110001", -- "10110001" -D17.5- [177]
"00101110010", -- "10110010" -D18.5- [178]
"00101010011", -- "10110011" -D19.5- [179]
"00101110100", -- "10110100" -D20.5- [180]
"00101010101", -- "10110101" -D21.5- [181]
"00101010110", -- "10110110" -D22.5- [182]
"10101010111", -- "10110111" -D23.5+ [183]
"10101110011", -- "10111000" -D24.5+ [184]
"00101011001", -- "10111001" -D25.5- [185]
"00101011010", -- "10111010" -D26.5- [186]
"10101011011", -- "10111011" -D27.5+ [187]
"00101011100", -- "10111100" -D28.5- [188]
"10101011101", -- "10111101" -D29.5+ [189]
"10101011110", -- "10111110" -D30.5+ [190]
"10101110101", -- "10111111" -D31.5+ [191]
"10110111001", -- "11000000" -D00.6+ [192]
"10110101110", -- "11000001" -D01.6+ [193]
"10110101101", -- "11000010" -D02.6+ [194]
"00110100011", -- "11000011" -D03.6- [195]
"10110101011", -- "11000100" -D04.6+ [196]
"00110100101", -- "11000101" -D05.6- [197]
"00110100110", -- "11000110" -D06.6- [198]
"00110000111", -- "11000111" -D07.6- [199]
"10110100111", -- "11001000" -D08.6+ [200]
"00110101001", -- "11001001" -D09.6- [201]
"00110101010", -- "11001010" -D10.6- [202]
"00110001011", -- "11001011" -D11.6- [203]
"00110101100", -- "11001100" -D12.6- [204]
"00110001101", -- "11001101" -D13.6- [205]
"00110001110", -- "11001110" -D14.6- [206]
"10110111010", -- "11001111" -D15.6+ [207]
"10110110110", -- "11010000" -D16.6+ [208]
"00110110001", -- "11010001" -D17.6- [209]
"00110110010", -- "11010010" -D18.6- [210]
"00110010011", -- "11010011" -D19.6- [211]
"00110110100", -- "11010100" -D20.6- [212]
"00110010101", -- "11010101" -D21.6- [213]
"00110010110", -- "11010110" -D22.6- [214]
"10110010111", -- "11010111" -D23.6+ [215]
"10110110011", -- "11011000" -D24.6+ [216]
"00110011001", -- "11011001" -D25.6- [217]
"00110011010", -- "11011010" -D26.6- [218]
"10110011011", -- "11011011" -D27.6+ [219]
"00110011100", -- "11011100" -D28.6- [220]
"10110011101", -- "11011101" -D29.6+ [221]
"10110011110", -- "11011110" -D30.6+ [222]
"10110110101", -- "11011111" -D31.6+ [223]
"01000111001", -- "11100000" -D00.7- [224]
"01000101110", -- "11100001" -D01.7- [225]
"01000101101", -- "11100010" -D02.7- [226]
"10111100011", -- "11100011" -D03.7+ [227]
"01000101011", -- "11100100" -D04.7- [228]
"10111100101", -- "11100101" -D05.7+ [229]
"10111100110", -- "11100110" -D06.7+ [230]
"10111000111", -- "11100111" -D07.7+ [231]
"01000100111", -- "11101000" -D08.7- [232]
"10111101001", -- "11101001" -D09.7+ [233]
"10111101010", -- "11101010" -D10.7+ [234]
"10111001011", -- "11101011" -D11.7+ [235]
"10111101100", -- "11101100" -D12.7+ [236]
"10111001101", -- "11101101" -D13.7+ [237]
"10111001110", -- "11101110" -D14.7+ [238]
"01000111010", -- "11101111" -D15.7- [239]
"01000110110", -- "11110000" -D16.7- [240]
"11110110001", -- "11110001" -D17.7+ [241]
"11110110010", -- "11110010" -D18.7+ [242]
"10111010011", -- "11110011" -D19.7+ [243]
"11110110100", -- "11110100" -D20.7+ [244]
"10111010101", -- "11110101" -D21.7+ [245]
"10111010110", -- "11110110" -D22.7+ [246]
"01000010111", -- "11110111" -D23.7- [247]
"01000110011", -- "11111000" -D24.7- [248]
"10111011001", -- "11111001" -D25.7+ [249]
"10111011010", -- "11111010" -D26.7+ [250]
"01000011011", -- "11111011" -D27.7- [251]
"10111011100", -- "11111100" -D28.7+ [252]
"01000011101", -- "11111101" -D29.7- [253]
"01000011110", -- "11111110" -D30.7- [254]
"01000110101", -- "11111111" -D31.7- [255]
"11101000110", -- "00000000" +D00.0+ [256]
"11101010001", -- "00000001" +D01.0+ [257]
"11101010010", -- "00000010" +D02.0+ [258]
"00010100011", -- "00000011" +D03.0- [259]
"11101010100", -- "00000100" +D04.0+ [260]
"00010100101", -- "00000101" +D05.0- [261]
"00010100110", -- "00000110" +D06.0- [262]
"00010111000", -- "00000111" +D07.0- [263]
"11101011000", -- "00001000" +D08.0+ [264]
"00010101001", -- "00001001" +D09.0- [265]
"00010101010", -- "00001010" +D10.0- [266]
"00010001011", -- "00001011" +D11.0- [267]
"00010101100", -- "00001100" +D12.0- [268]
"00010001101", -- "00001101" +D13.0- [269]
"00010001110", -- "00001110" +D14.0- [270]
"11101000101", -- "00001111" +D15.0+ [271]
"11101001001", -- "00010000" +D16.0+ [272]
"00010110001", -- "00010001" +D17.0- [273]
"00010110010", -- "00010010" +D18.0- [274]
"00010010011", -- "00010011" +D19.0- [275]
"00010110100", -- "00010100" +D20.0- [276]
"00010010101", -- "00010101" +D21.0- [277]
"00010010110", -- "00010110" +D22.0- [278]
"11101101000", -- "00010111" +D23.0+ [279]
"11101001100", -- "00011000" +D24.0+ [280]
"00010011001", -- "00011001" +D25.0- [281]
"00010011010", -- "00011010" +D26.0- [282]
"11101100100", -- "00011011" +D27.0+ [283]
"00010011100", -- "00011100" +D28.0- [284]
"11101100010", -- "00011101" +D29.0+ [285]
"11101100001", -- "00011110" +D30.0+ [286]
"11101001010", -- "00011111" +D31.0+ [287]
"01001000110", -- "00100000" +D00.1- [288]
"01001010001", -- "00100001" +D01.1- [289]
"01001010010", -- "00100010" +D02.1- [290]
"11001100011", -- "00100011" +D03.1+ [291]
"01001010100", -- "00100100" +D04.1- [292]
"11001100101", -- "00100101" +D05.1+ [293]
"11001100110", -- "00100110" +D06.1+ [294]
"11001111000", -- "00100111" +D07.1+ [295]
"01001011000", -- "00101000" +D08.1- [296]
"11001101001", -- "00101001" +D09.1+ [297]
"11001101010", -- "00101010" +D10.1+ [298]
"11001001011", -- "00101011" +D11.1+ [299]
"11001101100", -- "00101100" +D12.1+ [300]
"11001001101", -- "00101101" +D13.1+ [301]
"11001001110", -- "00101110" +D14.1+ [302]
"01001000101", -- "00101111" +D15.1- [303]
"01001001001", -- "00110000" +D16.1- [304]
"11001110001", -- "00110001" +D17.1+ [305]
"11001110010", -- "00110010" +D18.1+ [306]
"11001010011", -- "00110011" +D19.1+ [307]
"11001110100", -- "00110100" +D20.1+ [308]
"11001010101", -- "00110101" +D21.1+ [309]
"11001010110", -- "00110110" +D22.1+ [310]
"01001101000", -- "00110111" +D23.1- [311]
"01001001100", -- "00111000" +D24.1- [312]
"11001011001", -- "00111001" +D25.1+ [313]
"11001011010", -- "00111010" +D26.1+ [314]
"01001100100", -- "00111011" +D27.1- [315]
"11001011100", -- "00111100" +D28.1+ [316]
"01001100010", -- "00111101" +D29.1- [317]
"01001100001", -- "00111110" +D30.1- [318]
"01001001010", -- "00111111" +D31.1- [319]
"01010000110", -- "01000000" +D00.2- [320]
"01010010001", -- "01000001" +D01.2- [321]
"01010010010", -- "01000010" +D02.2- [322]
"11010100011", -- "01000011" +D03.2+ [323]
"01010010100", -- "01000100" +D04.2- [324]
"11010100101", -- "01000101" +D05.2+ [325]
"11010100110", -- "01000110" +D06.2+ [326]
"11010111000", -- "01000111" +D07.2+ [327]
"01010011000", -- "01001000" +D08.2- [328]
"11010101001", -- "01001001" +D09.2+ [329]
"11010101010", -- "01001010" +D10.2+ [330]
"11010001011", -- "01001011" +D11.2+ [331]
"11010101100", -- "01001100" +D12.2+ [332]
"11010001101", -- "01001101" +D13.2+ [333]
"11010001110", -- "01001110" +D14.2+ [334]
"01010000101", -- "01001111" +D15.2- [335]
"01010001001", -- "01010000" +D16.2- [336]
"11010110001", -- "01010001" +D17.2+ [337]
"11010110010", -- "01010010" +D18.2+ [338]
"11010010011", -- "01010011" +D19.2+ [339]
"11010110100", -- "01010100" +D20.2+ [340]
"11010010101", -- "01010101" +D21.2+ [341]
"11010010110", -- "01010110" +D22.2+ [342]
"01010101000", -- "01010111" +D23.2- [343]
"01010001100", -- "01011000" +D24.2- [344]
"11010011001", -- "01011001" +D25.2+ [345]
"11010011010", -- "01011010" +D26.2+ [346]
"01010100100", -- "01011011" +D27.2- [347]
"11010011100", -- "01011100" +D28.2+ [348]
"01010100010", -- "01011101" +D29.2- [349]
"01010100001", -- "01011110" +D30.2- [350]
"01010001010", -- "01011111" +D31.2- [351]
"00011000110", -- "01100000" +D00.3- [352]
"00011010001", -- "01100001" +D01.3- [353]
"00011010010", -- "01100010" +D02.3- [354]
"11100100011", -- "01100011" +D03.3+ [355]
"00011010100", -- "01100100" +D04.3- [356]
"11100100101", -- "01100101" +D05.3+ [357]
"11100100110", -- "01100110" +D06.3+ [358]
"11100111000", -- "01100111" +D07.3+ [359]
"00011011000", -- "01101000" +D08.3- [360]
"11100101001", -- "01101001" +D09.3+ [361]
"11100101010", -- "01101010" +D10.3+ [362]
"11100001011", -- "01101011" +D11.3+ [363]
"11100101100", -- "01101100" +D12.3+ [364]
"11100001101", -- "01101101" +D13.3+ [365]
"11100001110", -- "01101110" +D14.3+ [366]
"00011000101", -- "01101111" +D15.3- [367]
"00011001001", -- "01110000" +D16.3- [368]
"11100110001", -- "01110001" +D17.3+ [369]
"11100110010", -- "01110010" +D18.3+ [370]
"11100010011", -- "01110011" +D19.3+ [371]
"11100110100", -- "01110100" +D20.3+ [372]
"11100010101", -- "01110101" +D21.3+ [373]
"11100010110", -- "01110110" +D22.3+ [374]
"00011101000", -- "01110111" +D23.3- [375]
"00011001100", -- "01111000" +D24.3- [376]
"11100011001", -- "01111001" +D25.3+ [377]
"11100011010", -- "01111010" +D26.3+ [378]
"00011100100", -- "01111011" +D27.3- [379]
"11100011100", -- "01111100" +D28.3+ [380]
"00011100010", -- "01111101" +D29.3- [381]
"00011100001", -- "01111110" +D30.3- [382]
"00011001010", -- "01111111" +D31.3- [383]
"11011000110", -- "10000000" +D00.4+ [384]
"11011010001", -- "10000001" +D01.4+ [385]
"11011010010", -- "10000010" +D02.4+ [386]
"00100100011", -- "10000011" +D03.4- [387]
"11011010100", -- "10000100" +D04.4+ [388]
"00100100101", -- "10000101" +D05.4- [389]
"00100100110", -- "10000110" +D06.4- [390]
"00100111000", -- "10000111" +D07.4- [391]
"11011011000", -- "10001000" +D08.4+ [392]
"00100101001", -- "10001001" +D09.4- [393]
"00100101010", -- "10001010" +D10.4- [394]
"00100001011", -- "10001011" +D11.4- [395]
"00100101100", -- "10001100" +D12.4- [396]
"00100001101", -- "10001101" +D13.4- [397]
"00100001110", -- "10001110" +D14.4- [398]
"11011000101", -- "10001111" +D15.4+ [399]
"11011001001", -- "10010000" +D16.4+ [400]
"00100110001", -- "10010001" +D17.4- [401]
"00100110010", -- "10010010" +D18.4- [402]
"00100010011", -- "10010011" +D19.4- [403]
"00100110100", -- "10010100" +D20.4- [404]
"00100010101", -- "10010101" +D21.4- [405]
"00100010110", -- "10010110" +D22.4- [406]
"11011101000", -- "10010111" +D23.4+ [407]
"11011001100", -- "10011000" +D24.4+ [408]
"00100011001", -- "10011001" +D25.4- [409]
"00100011010", -- "10011010" +D26.4- [410]
"11011100100", -- "10011011" +D27.4+ [411]
"00100011100", -- "10011100" +D28.4- [412]
"11011100010", -- "10011101" +D29.4+ [413]
"11011100001", -- "10011110" +D30.4+ [414]
"11011001010", -- "10011111" +D31.4+ [415]
"00101000110", -- "10100000" +D00.5- [416]
"00101010001", -- "10100001" +D01.5- [417]
"00101010010", -- "10100010" +D02.5- [418]
"10101100011", -- "10100011" +D03.5+ [419]
"00101010100", -- "10100100" +D04.5- [420]
"10101100101", -- "10100101" +D05.5+ [421]
"10101100110", -- "10100110" +D06.5+ [422]
"10101111000", -- "10100111" +D07.5+ [423]
"00101011000", -- "10101000" +D08.5- [424]
"10101101001", -- "10101001" +D09.5+ [425]
"10101101010", -- "10101010" +D10.5+ [426]
"10101001011", -- "10101011" +D11.5+ [427]
"10101101100", -- "10101100" +D12.5+ [428]
"10101001101", -- "10101101" +D13.5+ [429]
"10101001110", -- "10101110" +D14.5+ [430]
"00101000101", -- "10101111" +D15.5- [431]
"00101001001", -- "10110000" +D16.5- [432]
"10101110001", -- "10110001" +D17.5+ [433]
"10101110010", -- "10110010" +D18.5+ [434]
"10101010011", -- "10110011" +D19.5+ [435]
"10101110100", -- "10110100" +D20.5+ [436]
"10101010101", -- "10110101" +D21.5+ [437]
"10101010110", -- "10110110" +D22.5+ [438]
"00101101000", -- "10110111" +D23.5- [439]
"00101001100", -- "10111000" +D24.5- [440]
"10101011001", -- "10111001" +D25.5+ [441]
"10101011010", -- "10111010" +D26.5+ [442]
"00101100100", -- "10111011" +D27.5- [443]
"10101011100", -- "10111100" +D28.5+ [444]
"00101100010", -- "10111101" +D29.5- [445]
"00101100001", -- "10111110" +D30.5- [446]
"00101001010", -- "10111111" +D31.5- [447]
"00110000110", -- "11000000" +D00.6- [448]
"00110010001", -- "11000001" +D01.6- [449]
"00110010010", -- "11000010" +D02.6- [450]
"10110100011", -- "11000011" +D03.6+ [451]
"00110010100", -- "11000100" +D04.6- [452]
"10110100101", -- "11000101" +D05.6+ [453]
"10110100110", -- "11000110" +D06.6+ [454]
"10110111000", -- "11000111" +D07.6+ [455]
"00110011000", -- "11001000" +D08.6- [456]
"10110101001", -- "11001001" +D09.6+ [457]
"10110101010", -- "11001010" +D10.6+ [458]
"10110001011", -- "11001011" +D11.6+ [459]
"10110101100", -- "11001100" +D12.6+ [460]
"10110001101", -- "11001101" +D13.6+ [461]
"10110001110", -- "11001110" +D14.6+ [462]
"00110000101", -- "11001111" +D15.6- [463]
"00110001001", -- "11010000" +D16.6- [464]
"10110110001", -- "11010001" +D17.6+ [465]
"10110110010", -- "11010010" +D18.6+ [466]
"10110010011", -- "11010011" +D19.6+ [467]
"10110110100", -- "11010100" +D20.6+ [468]
"10110010101", -- "11010101" +D21.6+ [469]
"10110010110", -- "11010110" +D22.6+ [470]
"00110101000", -- "11010111" +D23.6- [471]
"00110001100", -- "11011000" +D24.6- [472]
"10110011001", -- "11011001" +D25.6+ [473]
"10110011010", -- "11011010" +D26.6+ [474]
"00110100100", -- "11011011" +D27.6- [475]
"10110011100", -- "11011100" +D28.6+ [476]
"00110100010", -- "11011101" +D29.6- [477]
"00110100001", -- "11011110" +D30.6- [478]
"00110001010", -- "11011111" +D31.6- [479]
"10111000110", -- "11100000" +D00.7+ [480]
"10111010001", -- "11100001" +D01.7+ [481]
"10111010010", -- "11100010" +D02.7+ [482]
"01000100011", -- "11100011" +D03.7- [483]
"10111010100", -- "11100100" +D04.7+ [484]
"01000100101", -- "11100101" +D05.7- [485]
"01000100110", -- "11100110" +D06.7- [486]
"01000111000", -- "11100111" +D07.7- [487]
"10111011000", -- "11101000" +D08.7+ [488]
"01000101001", -- "11101001" +D09.7- [489]
"01000101010", -- "11101010" +D10.7- [490]
"00001001011", -- "11101011" +D11.7- [491]
"01000101100", -- "11101100" +D12.7- [492]
"00001001101", -- "11101101" +D13.7- [493]
"00001001110", -- "11101110" +D14.7- [494]
"10111000101", -- "11101111" +D15.7+ [495]
"10111001001", -- "11110000" +D16.7+ [496]
"01000110001", -- "11110001" +D17.7- [497]
"01000110010", -- "11110010" +D18.7- [498]
"01000010011", -- "11110011" +D19.7- [499]
"01000110100", -- "11110100" +D20.7- [500]
"01000010101", -- "11110101" +D21.7- [501]
"01000010110", -- "11110110" +D22.7- [502]
"10111101000", -- "11110111" +D23.7+ [503]
"10111001100", -- "11111000" +D24.7+ [504]
"01000011001", -- "11111001" +D25.7- [505]
"01000011010", -- "11111010" +D26.7- [506]
"10111100100", -- "11111011" +D27.7+ [507]
"01000011100", -- "11111100" +D28.7- [508]
"10111100010", -- "11111101" +D29.7+ [509]
"10111100001", -- "11111110" +D30.7+ [510]
"10111001010", -- "11111111" +D31.7+ [511]
"00010111001", -- "00000000" -K00.0- [512]
"00010101110", -- "00000001" -K01.0- [513]
"00010101101", -- "00000010" -K02.0- [514]
"11101100011", -- "00000011" -K03.0+ [515]
"00010101011", -- "00000100" -K04.0- [516]
"11101100101", -- "00000101" -K05.0+ [517]
"11101100110", -- "00000110" -K06.0+ [518]
"11101000111", -- "00000111" -K07.0+ [519]
"00010100111", -- "00001000" -K08.0- [520]
"11101101001", -- "00001001" -K09.0+ [521]
"11101101010", -- "00001010" -K10.0+ [522]
"11101001011", -- "00001011" -K11.0+ [523]
"11101101100", -- "00001100" -K12.0+ [524]
"11101001101", -- "00001101" -K13.0+ [525]
"11101001110", -- "00001110" -K14.0+ [526]
"00010111010", -- "00001111" -K15.0- [527]
"00010110110", -- "00010000" -K16.0- [528]
"11101110001", -- "00010001" -K17.0+ [529]
"11101110010", -- "00010010" -K18.0+ [530]
"11101010011", -- "00010011" -K19.0+ [531]
"11101110100", -- "00010100" -K20.0+ [532]
"11101010101", -- "00010101" -K21.0+ [533]
"11101010110", -- "00010110" -K22.0+ [534]
"00010010111", -- "00010111" -K23.0- [535]
"00010110011", -- "00011000" -K24.0- [536]
"11101011001", -- "00011001" -K25.0+ [537]
"11101011010", -- "00011010" -K26.0+ [538]
"00010011011", -- "00011011" -K27.0- [539]
"00010111100", -- "00011100" -K28.0- [540]
"00010011101", -- "00011101" -K29.0- [541]
"00010011110", -- "00011110" -K30.0- [542]
"00010110101", -- "00011111" -K31.0- [543]
"11001111001", -- "00100000" -K00.1+ [544]
"11001101110", -- "00100001" -K01.1+ [545]
"11001101101", -- "00100010" -K02.1+ [546]
"00110100011", -- "00100011" -K03.1- [547]
"11001101011", -- "00100100" -K04.1+ [548]
"00110100101", -- "00100101" -K05.1- [549]
"00110100110", -- "00100110" -K06.1- [550]
"00110000111", -- "00100111" -K07.1- [551]
"11001100111", -- "00101000" -K08.1+ [552]
"00110101001", -- "00101001" -K09.1- [553]
"00110101010", -- "00101010" -K10.1- [554]
"00110001011", -- "00101011" -K11.1- [555]
"00110101100", -- "00101100" -K12.1- [556]
"00110001101", -- "00101101" -K13.1- [557]
"00110001110", -- "00101110" -K14.1- [558]
"11001111010", -- "00101111" -K15.1+ [559]
"11001110110", -- "00110000" -K16.1+ [560]
"00110110001", -- "00110001" -K17.1- [561]
"00110110010", -- "00110010" -K18.1- [562]
"00110010011", -- "00110011" -K19.1- [563]
"00110110100", -- "00110100" -K20.1- [564]
"00110010101", -- "00110101" -K21.1- [565]
"00110010110", -- "00110110" -K22.1- [566]
"11001010111", -- "00110111" -K23.1+ [567]
"11001110011", -- "00111000" -K24.1+ [568]
"00110011001", -- "00111001" -K25.1- [569]
"00110011010", -- "00111010" -K26.1- [570]
"11001011011", -- "00111011" -K27.1+ [571]
"11001111100", -- "00111100" -K28.1+ [572]
"11001011101", -- "00111101" -K29.1+ [573]
"11001011110", -- "00111110" -K30.1+ [574]
"11001110101", -- "00111111" -K31.1+ [575]
"11010111001", -- "01000000" -K00.2+ [576]
"11010101110", -- "01000001" -K01.2+ [577]
"11010101101", -- "01000010" -K02.2+ [578]
"00101100011", -- "01000011" -K03.2- [579]
"11010101011", -- "01000100" -K04.2+ [580]
"00101100101", -- "01000101" -K05.2- [581]
"00101100110", -- "01000110" -K06.2- [582]
"00101000111", -- "01000111" -K07.2- [583]
"11010100111", -- "01001000" -K08.2+ [584]
"00101101001", -- "01001001" -K09.2- [585]
"00101101010", -- "01001010" -K10.2- [586]
"00101001011", -- "01001011" -K11.2- [587]
"00101101100", -- "01001100" -K12.2- [588]
"00101001101", -- "01001101" -K13.2- [589]
"00101001110", -- "01001110" -K14.2- [590]
"11010111010", -- "01001111" -K15.2+ [591]
"11010110110", -- "01010000" -K16.2+ [592]
"00101110001", -- "01010001" -K17.2- [593]
"00101110010", -- "01010010" -K18.2- [594]
"00101010011", -- "01010011" -K19.2- [595]
"00101110100", -- "01010100" -K20.2- [596]
"00101010101", -- "01010101" -K21.2- [597]
"00101010110", -- "01010110" -K22.2- [598]
"11010010111", -- "01010111" -K23.2+ [599]
"11010110011", -- "01011000" -K24.2+ [600]
"00101011001", -- "01011001" -K25.2- [601]
"00101011010", -- "01011010" -K26.2- [602]
"11010011011", -- "01011011" -K27.2+ [603]
"11010111100", -- "01011100" -K28.2+ [604]
"11010011101", -- "01011101" -K29.2+ [605]
"11010011110", -- "01011110" -K30.2+ [606]
"11010110101", -- "01011111" -K31.2+ [607]
"11100111001", -- "01100000" -K00.3+ [608]
"11100101110", -- "01100001" -K01.3+ [609]
"11100101101", -- "01100010" -K02.3+ [610]
"00011100011", -- "01100011" -K03.3- [611]
"11100101011", -- "01100100" -K04.3+ [612]
"00011100101", -- "01100101" -K05.3- [613]
"00011100110", -- "01100110" -K06.3- [614]
"00011000111", -- "01100111" -K07.3- [615]
"11100100111", -- "01101000" -K08.3+ [616]
"00011101001", -- "01101001" -K09.3- [617]
"00011101010", -- "01101010" -K10.3- [618]
"00011001011", -- "01101011" -K11.3- [619]
"00011101100", -- "01101100" -K12.3- [620]
"00011001101", -- "01101101" -K13.3- [621]
"00011001110", -- "01101110" -K14.3- [622]
"11100111010", -- "01101111" -K15.3+ [623]
"11100110110", -- "01110000" -K16.3+ [624]
"00011110001", -- "01110001" -K17.3- [625]
"00011110010", -- "01110010" -K18.3- [626]
"00011010011", -- "01110011" -K19.3- [627]
"00011110100", -- "01110100" -K20.3- [628]
"00011010101", -- "01110101" -K21.3- [629]
"00011010110", -- "01110110" -K22.3- [630]
"11100010111", -- "01110111" -K23.3+ [631]
"11100110011", -- "01111000" -K24.3+ [632]
"00011011001", -- "01111001" -K25.3- [633]
"00011011010", -- "01111010" -K26.3- [634]
"11100011011", -- "01111011" -K27.3+ [635]
"11100111100", -- "01111100" -K28.3+ [636]
"11100011101", -- "01111101" -K29.3+ [637]
"11100011110", -- "01111110" -K30.3+ [638]
"11100110101", -- "01111111" -K31.3+ [639]
"00100111001", -- "10000000" -K00.4- [640]
"00100101110", -- "10000001" -K01.4- [641]
"00100101101", -- "10000010" -K02.4- [642]
"11011100011", -- "10000011" -K03.4+ [643]
"00100101011", -- "10000100" -K04.4- [644]
"11011100101", -- "10000101" -K05.4+ [645]
"11011100110", -- "10000110" -K06.4+ [646]
"11011000111", -- "10000111" -K07.4+ [647]
"00100100111", -- "10001000" -K08.4- [648]
"11011101001", -- "10001001" -K09.4+ [649]
"11011101010", -- "10001010" -K10.4+ [650]
"11011001011", -- "10001011" -K11.4+ [651]
"11011101100", -- "10001100" -K12.4+ [652]
"11011001101", -- "10001101" -K13.4+ [653]
"11011001110", -- "10001110" -K14.4+ [654]
"00100111010", -- "10001111" -K15.4- [655]
"00100110110", -- "10010000" -K16.4- [656]
"11011110001", -- "10010001" -K17.4+ [657]
"11011110010", -- "10010010" -K18.4+ [658]
"11011010011", -- "10010011" -K19.4+ [659]
"11011110100", -- "10010100" -K20.4+ [660]
"11011010101", -- "10010101" -K21.4+ [661]
"11011010110", -- "10010110" -K22.4+ [662]
"00100010111", -- "10010111" -K23.4- [663]
"00100110011", -- "10011000" -K24.4- [664]
"11011011001", -- "10011001" -K25.4+ [665]
"11011011010", -- "10011010" -K26.4+ [666]
"00100011011", -- "10011011" -K27.4- [667]
"00100111100", -- "10011100" -K28.4- [668]
"00100011101", -- "10011101" -K29.4- [669]
"00100011110", -- "10011110" -K30.4- [670]
"00100110101", -- "10011111" -K31.4- [671]
"10101111001", -- "10100000" -K00.5+ [672]
"10101101110", -- "10100001" -K01.5+ [673]
"10101101101", -- "10100010" -K02.5+ [674]
"01010100011", -- "10100011" -K03.5- [675]
"10101101011", -- "10100100" -K04.5+ [676]
"01010100101", -- "10100101" -K05.5- [677]
"01010100110", -- "10100110" -K06.5- [678]
"01010000111", -- "10100111" -K07.5- [679]
"10101100111", -- "10101000" -K08.5+ [680]
"01010101001", -- "10101001" -K09.5- [681]
"01010101010", -- "10101010" -K10.5- [682]
"01010001011", -- "10101011" -K11.5- [683]
"01010101100", -- "10101100" -K12.5- [684]
"01010001101", -- "10101101" -K13.5- [685]
"01010001110", -- "10101110" -K14.5- [686]
"10101111010", -- "10101111" -K15.5+ [687]
"10101110110", -- "10110000" -K16.5+ [688]
"01010110001", -- "10110001" -K17.5- [689]
"01010110010", -- "10110010" -K18.5- [690]
"01010010011", -- "10110011" -K19.5- [691]
"01010110100", -- "10110100" -K20.5- [692]
"01010010101", -- "10110101" -K21.5- [693]
"01010010110", -- "10110110" -K22.5- [694]
"10101010111", -- "10110111" -K23.5+ [695]
"10101110011", -- "10111000" -K24.5+ [696]
"01010011001", -- "10111001" -K25.5- [697]
"01010011010", -- "10111010" -K26.5- [698]
"10101011011", -- "10111011" -K27.5+ [699]
"10101111100", -- "10111100" -K28.5+ [700]
"10101011101", -- "10111101" -K29.5+ [701]
"10101011110", -- "10111110" -K30.5+ [702]
"10101110101", -- "10111111" -K31.5+ [703]
"10110111001", -- "11000000" -K00.6+ [704]
"10110101110", -- "11000001" -K01.6+ [705]
"10110101101", -- "11000010" -K02.6+ [706]
"01001100011", -- "11000011" -K03.6- [707]
"10110101011", -- "11000100" -K04.6+ [708]
"01001100101", -- "11000101" -K05.6- [709]
"01001100110", -- "11000110" -K06.6- [710]
"01001000111", -- "11000111" -K07.6- [711]
"10110100111", -- "11001000" -K08.6+ [712]
"01001101001", -- "11001001" -K09.6- [713]
"01001101010", -- "11001010" -K10.6- [714]
"01001001011", -- "11001011" -K11.6- [715]
"01001101100", -- "11001100" -K12.6- [716]
"01001001101", -- "11001101" -K13.6- [717]
"01001001110", -- "11001110" -K14.6- [718]
"10110111010", -- "11001111" -K15.6+ [719]
"10110110110", -- "11010000" -K16.6+ [720]
"01001110001", -- "11010001" -K17.6- [721]
"01001110010", -- "11010010" -K18.6- [722]
"01001010011", -- "11010011" -K19.6- [723]
"01001110100", -- "11010100" -K20.6- [724]
"01001010101", -- "11010101" -K21.6- [725]
"01001010110", -- "11010110" -K22.6- [726]
"10110010111", -- "11010111" -K23.6+ [727]
"10110110011", -- "11011000" -K24.6+ [728]
"01001011001", -- "11011001" -K25.6- [729]
"01001011010", -- "11011010" -K26.6- [730]
"10110011011", -- "11011011" -K27.6+ [731]
"10110111100", -- "11011100" -K28.6+ [732]
"10110011101", -- "11011101" -K29.6+ [733]
"10110011110", -- "11011110" -K30.6+ [734]
"10110110101", -- "11011111" -K31.6+ [735]
"00001111001", -- "11100000" -K00.7- [736]
"00001101110", -- "11100001" -K01.7- [737]
"00001101101", -- "11100010" -K02.7- [738]
"11110100011", -- "11100011" -K03.7+ [739]
"00001101011", -- "11100100" -K04.7- [740]
"11110100101", -- "11100101" -K05.7+ [741]
"11110100110", -- "11100110" -K06.7+ [742]
"11110000111", -- "11100111" -K07.7+ [743]
"00001100111", -- "11101000" -K08.7- [744]
"11110101001", -- "11101001" -K09.7+ [745]
"11110101010", -- "11101010" -K10.7+ [746]
"11110001011", -- "11101011" -K11.7+ [747]
"11110101100", -- "11101100" -K12.7+ [748]
"11110001101", -- "11101101" -K13.7+ [749]
"11110001110", -- "11101110" -K14.7+ [750]
"00001111010", -- "11101111" -K15.7- [751]
"00001110110", -- "11110000" -K16.7- [752]
"11110110001", -- "11110001" -K17.7+ [753]
"11110110010", -- "11110010" -K18.7+ [754]
"11110010011", -- "11110011" -K19.7+ [755]
"11110110100", -- "11110100" -K20.7+ [756]
"11110010101", -- "11110101" -K21.7+ [757]
"11110010110", -- "11110110" -K22.7+ [758]
"00001010111", -- "11110111" -K23.7- [759]
"00001110011", -- "11111000" -K24.7- [760]
"11110011001", -- "11111001" -K25.7+ [761]
"11110011010", -- "11111010" -K26.7+ [762]
"00001011011", -- "11111011" -K27.7- [763]
"00001111100", -- "11111100" -K28.7- [764]
"00001011101", -- "11111101" -K29.7- [765]
"00001011110", -- "11111110" -K30.7- [766]
"00001110101", -- "11111111" -K31.7- [767]
"11101000110", -- "00000000" +K00.0+ [768]
"11101010001", -- "00000001" +K01.0+ [769]
"11101010010", -- "00000010" +K02.0+ [770]
"00010100011", -- "00000011" +K03.0- [771]
"11101010100", -- "00000100" +K04.0+ [772]
"00010100101", -- "00000101" +K05.0- [773]
"00010100110", -- "00000110" +K06.0- [774]
"00010111000", -- "00000111" +K07.0- [775]
"11101011000", -- "00001000" +K08.0+ [776]
"00010101001", -- "00001001" +K09.0- [777]
"00010101010", -- "00001010" +K10.0- [778]
"00010001011", -- "00001011" +K11.0- [779]
"00010101100", -- "00001100" +K12.0- [780]
"00010001101", -- "00001101" +K13.0- [781]
"00010001110", -- "00001110" +K14.0- [782]
"11101000101", -- "00001111" +K15.0+ [783]
"11101001001", -- "00010000" +K16.0+ [784]
"00010110001", -- "00010001" +K17.0- [785]
"00010110010", -- "00010010" +K18.0- [786]
"00010010011", -- "00010011" +K19.0- [787]
"00010110100", -- "00010100" +K20.0- [788]
"00010010101", -- "00010101" +K21.0- [789]
"00010010110", -- "00010110" +K22.0- [790]
"11101101000", -- "00010111" +K23.0+ [791]
"11101001100", -- "00011000" +K24.0+ [792]
"00010011001", -- "00011001" +K25.0- [793]
"00010011010", -- "00011010" +K26.0- [794]
"11101100100", -- "00011011" +K27.0+ [795]
"11101000011", -- "00011100" +K28.0+ [796]
"11101100010", -- "00011101" +K29.0+ [797]
"11101100001", -- "00011110" +K30.0+ [798]
"11101001010", -- "00011111" +K31.0+ [799]
"00110000110", -- "00100000" +K00.1- [800]
"00110010001", -- "00100001" +K01.1- [801]
"00110010010", -- "00100010" +K02.1- [802]
"11001100011", -- "00100011" +K03.1+ [803]
"00110010100", -- "00100100" +K04.1- [804]
"11001100101", -- "00100101" +K05.1+ [805]
"11001100110", -- "00100110" +K06.1+ [806]
"11001111000", -- "00100111" +K07.1+ [807]
"00110011000", -- "00101000" +K08.1- [808]
"11001101001", -- "00101001" +K09.1+ [809]
"11001101010", -- "00101010" +K10.1+ [810]
"11001001011", -- "00101011" +K11.1+ [811]
"11001101100", -- "00101100" +K12.1+ [812]
"11001001101", -- "00101101" +K13.1+ [813]
"11001001110", -- "00101110" +K14.1+ [814]
"00110000101", -- "00101111" +K15.1- [815]
"00110001001", -- "00110000" +K16.1- [816]
"11001110001", -- "00110001" +K17.1+ [817]
"11001110010", -- "00110010" +K18.1+ [818]
"11001010011", -- "00110011" +K19.1+ [819]
"11001110100", -- "00110100" +K20.1+ [820]
"11001010101", -- "00110101" +K21.1+ [821]
"11001010110", -- "00110110" +K22.1+ [822]
"00110101000", -- "00110111" +K23.1- [823]
"00110001100", -- "00111000" +K24.1- [824]
"11001011001", -- "00111001" +K25.1+ [825]
"11001011010", -- "00111010" +K26.1+ [826]
"00110100100", -- "00111011" +K27.1- [827]
"00110000011", -- "00111100" +K28.1- [828]
"00110100010", -- "00111101" +K29.1- [829]
"00110100001", -- "00111110" +K30.1- [830]
"00110001010", -- "00111111" +K31.1- [831]
"00101000110", -- "01000000" +K00.2- [832]
"00101010001", -- "01000001" +K01.2- [833]
"00101010010", -- "01000010" +K02.2- [834]
"11010100011", -- "01000011" +K03.2+ [835]
"00101010100", -- "01000100" +K04.2- [836]
"11010100101", -- "01000101" +K05.2+ [837]
"11010100110", -- "01000110" +K06.2+ [838]
"11010111000", -- "01000111" +K07.2+ [839]
"00101011000", -- "01001000" +K08.2- [840]
"11010101001", -- "01001001" +K09.2+ [841]
"11010101010", -- "01001010" +K10.2+ [842]
"11010001011", -- "01001011" +K11.2+ [843]
"11010101100", -- "01001100" +K12.2+ [844]
"11010001101", -- "01001101" +K13.2+ [845]
"11010001110", -- "01001110" +K14.2+ [846]
"00101000101", -- "01001111" +K15.2- [847]
"00101001001", -- "01010000" +K16.2- [848]
"11010110001", -- "01010001" +K17.2+ [849]
"11010110010", -- "01010010" +K18.2+ [850]
"11010010011", -- "01010011" +K19.2+ [851]
"11010110100", -- "01010100" +K20.2+ [852]
"11010010101", -- "01010101" +K21.2+ [853]
"11010010110", -- "01010110" +K22.2+ [854]
"00101101000", -- "01010111" +K23.2- [855]
"00101001100", -- "01011000" +K24.2- [856]
"11010011001", -- "01011001" +K25.2+ [857]
"11010011010", -- "01011010" +K26.2+ [858]
"00101100100", -- "01011011" +K27.2- [859]
"00101000011", -- "01011100" +K28.2- [860]
"00101100010", -- "01011101" +K29.2- [861]
"00101100001", -- "01011110" +K30.2- [862]
"00101001010", -- "01011111" +K31.2- [863]
"00011000110", -- "01100000" +K00.3- [864]
"00011010001", -- "01100001" +K01.3- [865]
"00011010010", -- "01100010" +K02.3- [866]
"11100100011", -- "01100011" +K03.3+ [867]
"00011010100", -- "01100100" +K04.3- [868]
"11100100101", -- "01100101" +K05.3+ [869]
"11100100110", -- "01100110" +K06.3+ [870]
"11100111000", -- "01100111" +K07.3+ [871]
"00011011000", -- "01101000" +K08.3- [872]
"11100101001", -- "01101001" +K09.3+ [873]
"11100101010", -- "01101010" +K10.3+ [874]
"11100001011", -- "01101011" +K11.3+ [875]
"11100101100", -- "01101100" +K12.3+ [876]
"11100001101", -- "01101101" +K13.3+ [877]
"11100001110", -- "01101110" +K14.3+ [878]
"00011000101", -- "01101111" +K15.3- [879]
"00011001001", -- "01110000" +K16.3- [880]
"11100110001", -- "01110001" +K17.3+ [881]
"11100110010", -- "01110010" +K18.3+ [882]
"11100010011", -- "01110011" +K19.3+ [883]
"11100110100", -- "01110100" +K20.3+ [884]
"11100010101", -- "01110101" +K21.3+ [885]
"11100010110", -- "01110110" +K22.3+ [886]
"00011101000", -- "01110111" +K23.3- [887]
"00011001100", -- "01111000" +K24.3- [888]
"11100011001", -- "01111001" +K25.3+ [889]
"11100011010", -- "01111010" +K26.3+ [890]
"00011100100", -- "01111011" +K27.3- [891]
"00011000011", -- "01111100" +K28.3- [892]
"00011100010", -- "01111101" +K29.3- [893]
"00011100001", -- "01111110" +K30.3- [894]
"00011001010", -- "01111111" +K31.3- [895]
"11011000110", -- "10000000" +K00.4+ [896]
"11011010001", -- "10000001" +K01.4+ [897]
"11011010010", -- "10000010" +K02.4+ [898]
"00100100011", -- "10000011" +K03.4- [899]
"11011010100", -- "10000100" +K04.4+ [900]
"00100100101", -- "10000101" +K05.4- [901]
"00100100110", -- "10000110" +K06.4- [902]
"00100111000", -- "10000111" +K07.4- [903]
"11011011000", -- "10001000" +K08.4+ [904]
"00100101001", -- "10001001" +K09.4- [905]
"00100101010", -- "10001010" +K10.4- [906]
"00100001011", -- "10001011" +K11.4- [907]
"00100101100", -- "10001100" +K12.4- [908]
"00100001101", -- "10001101" +K13.4- [909]
"00100001110", -- "10001110" +K14.4- [910]
"11011000101", -- "10001111" +K15.4+ [911]
"11011001001", -- "10010000" +K16.4+ [912]
"00100110001", -- "10010001" +K17.4- [913]
"00100110010", -- "10010010" +K18.4- [914]
"00100010011", -- "10010011" +K19.4- [915]
"00100110100", -- "10010100" +K20.4- [916]
"00100010101", -- "10010101" +K21.4- [917]
"00100010110", -- "10010110" +K22.4- [918]
"11011101000", -- "10010111" +K23.4+ [919]
"11011001100", -- "10011000" +K24.4+ [920]
"00100011001", -- "10011001" +K25.4- [921]
"00100011010", -- "10011010" +K26.4- [922]
"11011100100", -- "10011011" +K27.4+ [923]
"11011000011", -- "10011100" +K28.4+ [924]
"11011100010", -- "10011101" +K29.4+ [925]
"11011100001", -- "10011110" +K30.4+ [926]
"11011001010", -- "10011111" +K31.4+ [927]
"01010000110", -- "10100000" +K00.5- [928]
"01010010001", -- "10100001" +K01.5- [929]
"01010010010", -- "10100010" +K02.5- [930]
"10101100011", -- "10100011" +K03.5+ [931]
"01010010100", -- "10100100" +K04.5- [932]
"10101100101", -- "10100101" +K05.5+ [933]
"10101100110", -- "10100110" +K06.5+ [934]
"10101111000", -- "10100111" +K07.5+ [935]
"01010011000", -- "10101000" +K08.5- [936]
"10101101001", -- "10101001" +K09.5+ [937]
"10101101010", -- "10101010" +K10.5+ [938]
"10101001011", -- "10101011" +K11.5+ [939]
"10101101100", -- "10101100" +K12.5+ [940]
"10101001101", -- "10101101" +K13.5+ [941]
"10101001110", -- "10101110" +K14.5+ [942]
"01010000101", -- "10101111" +K15.5- [943]
"01010001001", -- "10110000" +K16.5- [944]
"10101110001", -- "10110001" +K17.5+ [945]
"10101110010", -- "10110010" +K18.5+ [946]
"10101010011", -- "10110011" +K19.5+ [947]
"10101110100", -- "10110100" +K20.5+ [948]
"10101010101", -- "10110101" +K21.5+ [949]
"10101010110", -- "10110110" +K22.5+ [950]
"01010101000", -- "10110111" +K23.5- [951]
"01010001100", -- "10111000" +K24.5- [952]
"10101011001", -- "10111001" +K25.5+ [953]
"10101011010", -- "10111010" +K26.5+ [954]
"01010100100", -- "10111011" +K27.5- [955]
"01010000011", -- "10111100" +K28.5- [956]
"01010100010", -- "10111101" +K29.5- [957]
"01010100001", -- "10111110" +K30.5- [958]
"01010001010", -- "10111111" +K31.5- [959]
"01001000110", -- "11000000" +K00.6- [960]
"01001010001", -- "11000001" +K01.6- [961]
"01001010010", -- "11000010" +K02.6- [962]
"10110100011", -- "11000011" +K03.6+ [963]
"01001010100", -- "11000100" +K04.6- [964]
"10110100101", -- "11000101" +K05.6+ [965]
"10110100110", -- "11000110" +K06.6+ [966]
"10110111000", -- "11000111" +K07.6+ [967]
"01001011000", -- "11001000" +K08.6- [968]
"10110101001", -- "11001001" +K09.6+ [969]
"10110101010", -- "11001010" +K10.6+ [970]
"10110001011", -- "11001011" +K11.6+ [971]
"10110101100", -- "11001100" +K12.6+ [972]
"10110001101", -- "11001101" +K13.6+ [973]
"10110001110", -- "11001110" +K14.6+ [974]
"01001000101", -- "11001111" +K15.6- [975]
"01001001001", -- "11010000" +K16.6- [976]
"10110110001", -- "11010001" +K17.6+ [977]
"10110110010", -- "11010010" +K18.6+ [978]
"10110010011", -- "11010011" +K19.6+ [979]
"10110110100", -- "11010100" +K20.6+ [980]
"10110010101", -- "11010101" +K21.6+ [981]
"10110010110", -- "11010110" +K22.6+ [982]
"01001101000", -- "11010111" +K23.6- [983]
"01001001100", -- "11011000" +K24.6- [984]
"10110011001", -- "11011001" +K25.6+ [985]
"10110011010", -- "11011010" +K26.6+ [986]
"01001100100", -- "11011011" +K27.6- [987]
"01001000011", -- "11011100" +K28.6- [988]
"01001100010", -- "11011101" +K29.6- [989]
"01001100001", -- "11011110" +K30.6- [990]
"01001001010", -- "11011111" +K31.6- [991]
"11110000110", -- "11100000" +K00.7+ [992]
"11110010001", -- "11100001" +K01.7+ [993]
"11110010010", -- "11100010" +K02.7+ [994]
"00001100011", -- "11100011" +K03.7- [995]
"11110010100", -- "11100100" +K04.7+ [996]
"00001100101", -- "11100101" +K05.7- [997]
"00001100110", -- "11100110" +K06.7- [998]
"00001111000", -- "11100111" +K07.7- [999]
"11110011000", -- "11101000" +K08.7+ [1000]
"00001101001", -- "11101001" +K09.7- [1001]
"00001101010", -- "11101010" +K10.7- [1002]
"00001001011", -- "11101011" +K11.7- [1003]
"00001101100", -- "11101100" +K12.7- [1004]
"00001001101", -- "11101101" +K13.7- [1005]
"00001001110", -- "11101110" +K14.7- [1006]
"11110000101", -- "11101111" +K15.7+ [1007]
"11110001001", -- "11110000" +K16.7+ [1008]
"00001110001", -- "11110001" +K17.7- [1009]
"00001110010", -- "11110010" +K18.7- [1010]
"00001010011", -- "11110011" +K19.7- [1011]
"00001110100", -- "11110100" +K20.7- [1012]
"00001010101", -- "11110101" +K21.7- [1013]
"00001010110", -- "11110110" +K22.7- [1014]
"11110101000", -- "11110111" +K23.7+ [1015]
"11110001100", -- "11111000" +K24.7+ [1016]
"00001011001", -- "11111001" +K25.7- [1017]
"00001011010", -- "11111010" +K26.7- [1018]
"11110100100", -- "11111011" +K27.7+ [1019]
"11110000011", -- "11111100" +K28.7+ [1020]
"11110100010", -- "11111101" +K29.7+ [1021]
"11110100001", -- "11111110" +K30.7+ [1022]
"11110001010" -- "11111111" +K31.7+ [1023]
);
 
constant ENC_K28D0R0 : std_logic_vector := "00010111100"; -- -1 + K28.0 => -1
constant ENC_K28D1R0 : std_logic_vector := "11001111100"; -- -1 + K28.1 => 1
constant ENC_K28D2R0 : std_logic_vector := "11010111100"; -- -1 + K28.2 => 1
constant ENC_K28D3R0 : std_logic_vector := "11100111100"; -- -1 + K28.3 => 1
constant ENC_K28D4R0 : std_logic_vector := "00100111100"; -- -1 + K28.4 => -1
constant ENC_K28D5R0 : std_logic_vector := "10101111100"; -- -1 + K28.5 => 1
 
constant ENC_K28D6R0 : std_logic_vector := "10110111100"; -- -1 + K28.6 => 1
constant ENC_K28D7R0 : std_logic_vector := "00001111100"; -- -1 + K28.7 => -1
constant ENC_K23D7R0 : std_logic_vector := "00001010111"; -- -1 + K23.7 => -1
constant ENC_K27D7R0 : std_logic_vector := "00001011011"; -- -1 + K27.7 => -1
constant ENC_K29D7R0 : std_logic_vector := "00001011101"; -- -1 + K29.7 => -1
constant ENC_K30D7R0 : std_logic_vector := "00001011110"; -- -1 + K30.7 => -1
constant ENC_K28D0R1 : std_logic_vector := "11101000011"; -- 1 + K28.0 => 1
constant ENC_K28D1R1 : std_logic_vector := "00110000011"; -- 1 + K28.1 => -1
constant ENC_K28D2R1 : std_logic_vector := "00101000011"; -- 1 + K28.2 => -1
constant ENC_K28D3R1 : std_logic_vector := "00011000011"; -- 1 + K28.3 => -1
constant ENC_K28D4R1 : std_logic_vector := "11011000011"; -- 1 + K28.4 => 1
constant ENC_K28D5R1 : std_logic_vector := "01010000011"; -- 1 + K28.5 => -1
constant ENC_K28D6R1 : std_logic_vector := "01001000011"; -- 1 + K28.6 => -1
constant ENC_K28D7R1 : std_logic_vector := "11110000011"; -- 1 + K28.7 => 1
constant ENC_K23D7R1 : std_logic_vector := "11110101000"; -- 1 + K23.7 => 1
constant ENC_K27D7R1 : std_logic_vector := "11110100100"; -- 1 + K27.7 => 1
constant ENC_K29D7R1 : std_logic_vector := "11110100010"; -- 1 + K29.7 => 1
constant ENC_K30D7R1 : std_logic_vector := "11110100001"; -- 1 + K30.7 => 1
constant DEC_K28D0 : std_logic_vector := "00011100"; -- K28.0
constant DEC_K28D1 : std_logic_vector := "00111100"; -- K28.1
constant DEC_K28D2 : std_logic_vector := "01011100"; -- K28.2
constant DEC_K28D3 : std_logic_vector := "01111100"; -- K28.3
constant DEC_K28D4 : std_logic_vector := "10011100"; -- K28.4
constant DEC_K28D5 : std_logic_vector := "10111100"; -- K28.5
constant DEC_K28D6 : std_logic_vector := "11011100"; -- K28.6
constant DEC_K28D7 : std_logic_vector := "11111100"; -- K28.7
constant DEC_K23D7 : std_logic_vector := "11110111"; -- K23.7
constant DEC_K27D7 : std_logic_vector := "11111011"; -- K27.7
constant DEC_K29D7 : std_logic_vector := "11111101"; -- K29.7
constant DEC_K30D7 : std_logic_vector := "11111110"; -- K30.7
 
 
 
signal ENCODE : std_logic_vector (10 downto 0);
begin
 
RUNDP_OUT <= ENCODE(10);
ENCODE_OUT <= ENCODE(9 downto 0);
process (CLK_IN)
begin
if (CLK_IN='1' and CLK_IN'event)
then
ENCODE <= TBL_ENC8b10b(conv_integer(CTRL_IN & ((not RUNDP_RESET_IN) and ENCODE(10)) & DATA_IN));
--ENCODE <=ENC_K28D5R0;
--ENCODE <= '0' & CTRL_IN & ENCODE(10) & DATA_IN;
end if;
end process;
end RTL;
 
/trunk/Dec8B10B.vhd
0,0 → 1,1084
----------------------------------------------------------------------------------
-- Company : OCST Co.,Ltd.
-- Engineer : RyuShinHyung
--
-- Create Date : 02/23/2005
-- Design Name :
-- Module Name : DEC8B10B - RTL
-- Project Name : DSP Application
--
-- Revision
-- Revision 0.01 - File Created
-- Comments : General DEC8B10B
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
use work.vect_pack.ALL;
 
entity DEC8B10B is
port
(
CLK_IN : IN STD_LOGIC;
ENCODE_IN : in STD_LOGIC_VECTOR(9 downto 0);
CTRL_OUT : out STD_LOGIC;
DATA_OUT : out STD_LOGIC_VECTOR(7 downto 0)
);
--attribute FAST : string;
--attribute SLOW : string;
--attribute FAST of DEC8B10B : entity is "TRUE";
--attribute SLOW of DEC8B10B : entity is "FALSE";
end DEC8B10B;
 
architecture RTL of DEC8B10B is
 
constant DEC8b10bERR : std_logic_vector := "100000000";
type TYPE_DEC8b10b is array (0 to 1023) of std_logic_vector (8 downto 0); -- Ctrl & Value
signal TBL_DEC8b10b : TYPE_DEC8b10b:=
(
DEC8b10bERR, -- "0000000000"
DEC8b10bERR, -- "0000000001"
DEC8b10bERR, -- "0000000010"
DEC8b10bERR, -- "0000000011"
DEC8b10bERR, -- "0000000100"
DEC8b10bERR, -- "0000000101"
DEC8b10bERR, -- "0000000110"
DEC8b10bERR, -- "0000000111"
DEC8b10bERR, -- "0000001000"
DEC8b10bERR, -- "0000001001"
DEC8b10bERR, -- "0000001010"
DEC8b10bERR, -- "0000001011"
DEC8b10bERR, -- "0000001100"
DEC8b10bERR, -- "0000001101"
DEC8b10bERR, -- "0000001110"
DEC8b10bERR, -- "0000001111"
DEC8b10bERR, -- "0000010000"
DEC8b10bERR, -- "0000010001"
DEC8b10bERR, -- "0000010010"
DEC8b10bERR, -- "0000010011"
DEC8b10bERR, -- "0000010100"
DEC8b10bERR, -- "0000010101"
DEC8b10bERR, -- "0000010110"
DEC8b10bERR, -- "0000010111"
DEC8b10bERR, -- "0000011000"
DEC8b10bERR, -- "0000011001"
DEC8b10bERR, -- "0000011010"
DEC8b10bERR, -- "0000011011"
DEC8b10bERR, -- "0000011100"
DEC8b10bERR, -- "0000011101"
DEC8b10bERR, -- "0000011110"
DEC8b10bERR, -- "0000011111"
DEC8b10bERR, -- "0000100000"
DEC8b10bERR, -- "0000100001"
DEC8b10bERR, -- "0000100010"
DEC8b10bERR, -- "0000100011"
DEC8b10bERR, -- "0000100100"
DEC8b10bERR, -- "0000100101"
DEC8b10bERR, -- "0000100110"
DEC8b10bERR, -- "0000100111"
DEC8b10bERR, -- "0000101000"
DEC8b10bERR, -- "0000101001"
DEC8b10bERR, -- "0000101010"
DEC8b10bERR, -- "0000101011"
DEC8b10bERR, -- "0000101100"
DEC8b10bERR, -- "0000101101"
DEC8b10bERR, -- "0000101110"
DEC8b10bERR, -- "0000101111"
DEC8b10bERR, -- "0000110000"
DEC8b10bERR, -- "0000110001"
DEC8b10bERR, -- "0000110010"
DEC8b10bERR, -- "0000110011"
DEC8b10bERR, -- "0000110100"
DEC8b10bERR, -- "0000110101"
DEC8b10bERR, -- "0000110110"
DEC8b10bERR, -- "0000110111"
DEC8b10bERR, -- "0000111000"
DEC8b10bERR, -- "0000111001"
DEC8b10bERR, -- "0000111010"
DEC8b10bERR, -- "0000111011"
DEC8b10bERR, -- "0000111100"
DEC8b10bERR, -- "0000111101"
DEC8b10bERR, -- "0000111110"
DEC8b10bERR, -- "0000111111"
DEC8b10bERR, -- "0001000000"
DEC8b10bERR, -- "0001000001"
DEC8b10bERR, -- "0001000010"
DEC8b10bERR, -- "0001000011"
DEC8b10bERR, -- "0001000100"
DEC8b10bERR, -- "0001000101"
DEC8b10bERR, -- "0001000110"
DEC8b10bERR, -- "0001000111"
DEC8b10bERR, -- "0001001000"
DEC8b10bERR, -- "0001001001"
DEC8b10bERR, -- "0001001010"
"011101011", -- "0001001011", -D11.7+, [1,1]
DEC8b10bERR, -- "0001001100"
"011101101", -- "0001001101", -D13.7+, [2,2]
"011101110", -- "0001001110", -D14.7+, [3,3]
DEC8b10bERR, -- "0001001111"
DEC8b10bERR, -- "0001010000"
DEC8b10bERR, -- "0001010001"
DEC8b10bERR, -- "0001010010"
"111110011", -- "0001010011", -K19.7+, [4,1]
DEC8b10bERR, -- "0001010100"
"111110101", -- "0001010101", -K21.7+, [5,2]
"111110110", -- "0001010110", -K22.7+, [6,3]
"111110111", -- "0001010111", +K23.7+, [7,4]
DEC8b10bERR, -- "0001011000"
"111111001", -- "0001011001", -K25.7+, [8,5]
"111111010", -- "0001011010", -K26.7+, [9,6]
"111111011", -- "0001011011", +K27.7+, [10,7]
DEC8b10bERR, -- "0001011100"
"111111101", -- "0001011101", +K29.7+, [11,8]
"111111110", -- "0001011110", +K30.7+, [12,9]
DEC8b10bERR, -- "0001011111"
DEC8b10bERR, -- "0001100000"
DEC8b10bERR, -- "0001100001"
DEC8b10bERR, -- "0001100010"
"111100011", -- "0001100011", -K3.7+, [13,10]
DEC8b10bERR, -- "0001100100"
"111100101", -- "0001100101", -K5.7+, [14,11]
"111100110", -- "0001100110", -K6.7+, [15,12]
"111101000", -- "0001100111", +K8.7+, [16,13]
DEC8b10bERR, -- "0001101000"
"111101001", -- "0001101001", -K9.7+, [17,14]
"111101010", -- "0001101010", -K10.7+, [18,15]
"111100100", -- "0001101011", +K4.7+, [19,16]
"111101100", -- "0001101100", -K12.7+, [20,17]
"111100010", -- "0001101101", +K2.7+, [21,18]
"111100001", -- "0001101110", +K1.7+, [22,19]
DEC8b10bERR, -- "0001101111"
DEC8b10bERR, -- "0001110000"
"111110001", -- "0001110001", -K17.7+, [23,20]
"111110010", -- "0001110010", -K18.7+, [24,21]
"111111000", -- "0001110011", +K24.7+, [25,22]
"111110100", -- "0001110100", -K20.7+, [26,23]
"111111111", -- "0001110101", +K31.7+, [27,24]
"111110000", -- "0001110110", +K16.7+, [28,25]
DEC8b10bERR, -- "0001110111"
"111100111", -- "0001111000", -K7.7+, [29,26]
"111100000", -- "0001111001", +K0.7+, [30,27]
"111101111", -- "0001111010", +K15.7+, [31,28]
DEC8b10bERR, -- "0001111011"
"111111100", -- "0001111100", +K28.7+, [32,29]
DEC8b10bERR, -- "0001111101"
DEC8b10bERR, -- "0001111110"
DEC8b10bERR, -- "0001111111"
DEC8b10bERR, -- "0010000000"
DEC8b10bERR, -- "0010000001"
DEC8b10bERR, -- "0010000010"
DEC8b10bERR, -- "0010000011"
DEC8b10bERR, -- "0010000100"
DEC8b10bERR, -- "0010000101"
DEC8b10bERR, -- "0010000110"
DEC8b10bERR, -- "0010000111"
DEC8b10bERR, -- "0010001000"
DEC8b10bERR, -- "0010001001"
DEC8b10bERR, -- "0010001010"
"000001011", -- "0010001011", -D11.0+, [33,4]
DEC8b10bERR, -- "0010001100"
"000001101", -- "0010001101", -D13.0+, [34,5]
"000001110", -- "0010001110", -D14.0+, [35,6]
DEC8b10bERR, -- "0010001111"
DEC8b10bERR, -- "0010010000"
DEC8b10bERR, -- "0010010001"
DEC8b10bERR, -- "0010010010"
"000010011", -- "0010010011", -D19.0+, [36,7]
DEC8b10bERR, -- "0010010100"
"000010101", -- "0010010101", -D21.0+, [37,8]
"000010110", -- "0010010110", -D22.0+, [38,9]
"000010111", -- "0010010111", +D23.0+, [39,10]
DEC8b10bERR, -- "0010011000"
"000011001", -- "0010011001", -D25.0+, [40,11]
"000011010", -- "0010011010", -D26.0+, [41,12]
"000011011", -- "0010011011", +D27.0+, [42,13]
"000011100", -- "0010011100", -D28.0+, [43,14]
"000011101", -- "0010011101", +D29.0+, [44,15]
"000011110", -- "0010011110", +D30.0+, [45,16]
DEC8b10bERR, -- "0010011111"
DEC8b10bERR, -- "0010100000"
DEC8b10bERR, -- "0010100001"
DEC8b10bERR, -- "0010100010"
"000000011", -- "0010100011", -D3.0+, [46,17]
DEC8b10bERR, -- "0010100100"
"000000101", -- "0010100101", -D5.0+, [47,18]
"000000110", -- "0010100110", -D6.0+, [48,19]
"000001000", -- "0010100111", +D8.0+, [49,20]
DEC8b10bERR, -- "0010101000"
"000001001", -- "0010101001", -D9.0+, [50,21]
"000001010", -- "0010101010", -D10.0+, [51,22]
"000000100", -- "0010101011", +D4.0+, [52,23]
"000001100", -- "0010101100", -D12.0+, [53,24]
"000000010", -- "0010101101", +D2.0+, [54,25]
"000000001", -- "0010101110", +D1.0+, [55,26]
DEC8b10bERR, -- "0010101111"
DEC8b10bERR, -- "0010110000"
"000010001", -- "0010110001", -D17.0+, [56,27]
"000010010", -- "0010110010", -D18.0+, [57,28]
"000011000", -- "0010110011", +D24.0+, [58,29]
"000010100", -- "0010110100", -D20.0+, [59,30]
"000011111", -- "0010110101", +D31.0+, [60,31]
"000010000", -- "0010110110", +D16.0+, [61,32]
DEC8b10bERR, -- "0010110111"
"000000111", -- "0010111000", -D7.0+, [62,33]
"000000000", -- "0010111001", +D0.0+, [63,34]
"000001111", -- "0010111010", +D15.0+, [64,35]
DEC8b10bERR, -- "0010111011"
"100011100", -- "0010111100", +K28.0+, [65,30]
DEC8b10bERR, -- "0010111101"
DEC8b10bERR, -- "0010111110"
DEC8b10bERR, -- "0010111111"
DEC8b10bERR, -- "0011000000"
DEC8b10bERR, -- "0011000001"
DEC8b10bERR, -- "0011000010"
"101111100", -- "0011000011", -K28.3+, [66,31]
DEC8b10bERR, -- "0011000100"
"001101111", -- "0011000101", -D15.3+, [67,36]
"001100000", -- "0011000110", -D0.3+, [68,37]
"001100111", -- "0011000111", +D7.3+, [69,38]
DEC8b10bERR, -- "0011001000"
"001110000", -- "0011001001", -D16.3+, [70,39]
"001111111", -- "0011001010", -D31.3+, [71,40]
"001101011", -- "0011001011", +D11.3+, [72,41]
"001111000", -- "0011001100", -D24.3+, [73,42]
"001101101", -- "0011001101", +D13.3+, [74,43]
"001101110", -- "0011001110", +D14.3+, [75,44]
DEC8b10bERR, -- "0011001111"
DEC8b10bERR, -- "0011010000"
"001100001", -- "0011010001", -D1.3+, [76,45]
"001100010", -- "0011010010", -D2.3+, [77,46]
"001110011", -- "0011010011", +D19.3+, [78,47]
"001100100", -- "0011010100", -D4.3+, [79,48]
"001110101", -- "0011010101", +D21.3+, [80,49]
"001110110", -- "0011010110", +D22.3+, [81,50]
DEC8b10bERR, -- "0011010111"
"001101000", -- "0011011000", -D8.3+, [82,51]
"001111001", -- "0011011001", +D25.3+, [83,52]
"001111010", -- "0011011010", +D26.3+, [84,53]
DEC8b10bERR, -- "0011011011"
"001111100", -- "0011011100", +D28.3+, [85,54]
DEC8b10bERR, -- "0011011101"
DEC8b10bERR, -- "0011011110"
DEC8b10bERR, -- "0011011111"
DEC8b10bERR, -- "0011100000"
"001111110", -- "0011100001", -D30.3+, [86,55]
"001111101", -- "0011100010", -D29.3+, [87,56]
"001100011", -- "0011100011", +D3.3+, [88,57]
"001111011", -- "0011100100", -D27.3+, [89,58]
"001100101", -- "0011100101", +D5.3+, [90,59]
"001100110", -- "0011100110", +D6.3+, [91,60]
DEC8b10bERR, -- "0011100111"
"001110111", -- "0011101000", -D23.3+, [92,61]
"001101001", -- "0011101001", +D9.3+, [93,62]
"001101010", -- "0011101010", +D10.3+, [94,63]
DEC8b10bERR, -- "0011101011"
"001101100", -- "0011101100", +D12.3+, [95,64]
DEC8b10bERR, -- "0011101101"
DEC8b10bERR, -- "0011101110"
DEC8b10bERR, -- "0011101111"
DEC8b10bERR, -- "0011110000"
"001110001", -- "0011110001", +D17.3+, [96,65]
"001110010", -- "0011110010", +D18.3+, [97,66]
DEC8b10bERR, -- "0011110011"
"001110100", -- "0011110100", +D20.3+, [98,67]
DEC8b10bERR, -- "0011110101"
DEC8b10bERR, -- "0011110110"
DEC8b10bERR, -- "0011110111"
DEC8b10bERR, -- "0011111000"
DEC8b10bERR, -- "0011111001"
DEC8b10bERR, -- "0011111010"
DEC8b10bERR, -- "0011111011"
DEC8b10bERR, -- "0011111100"
DEC8b10bERR, -- "0011111101"
DEC8b10bERR, -- "0011111110"
DEC8b10bERR, -- "0011111111"
DEC8b10bERR, -- "0100000000"
DEC8b10bERR, -- "0100000001"
DEC8b10bERR, -- "0100000010"
DEC8b10bERR, -- "0100000011"
DEC8b10bERR, -- "0100000100"
DEC8b10bERR, -- "0100000101"
DEC8b10bERR, -- "0100000110"
DEC8b10bERR, -- "0100000111"
DEC8b10bERR, -- "0100001000"
DEC8b10bERR, -- "0100001001"
DEC8b10bERR, -- "0100001010"
"010001011", -- "0100001011", -D11.4+, [99,68]
DEC8b10bERR, -- "0100001100"
"010001101", -- "0100001101", -D13.4+, [100,69]
"010001110", -- "0100001110", -D14.4+, [101,70]
DEC8b10bERR, -- "0100001111"
DEC8b10bERR, -- "0100010000"
DEC8b10bERR, -- "0100010001"
DEC8b10bERR, -- "0100010010"
"010010011", -- "0100010011", -D19.4+, [102,71]
DEC8b10bERR, -- "0100010100"
"010010101", -- "0100010101", -D21.4+, [103,72]
"010010110", -- "0100010110", -D22.4+, [104,73]
"010010111", -- "0100010111", +D23.4+, [105,74]
DEC8b10bERR, -- "0100011000"
"010011001", -- "0100011001", -D25.4+, [106,75]
"010011010", -- "0100011010", -D26.4+, [107,76]
"010011011", -- "0100011011", +D27.4+, [108,77]
"010011100", -- "0100011100", -D28.4+, [109,78]
"010011101", -- "0100011101", +D29.4+, [110,79]
"010011110", -- "0100011110", +D30.4+, [111,80]
DEC8b10bERR, -- "0100011111"
DEC8b10bERR, -- "0100100000"
DEC8b10bERR, -- "0100100001"
DEC8b10bERR, -- "0100100010"
"010000011", -- "0100100011", -D3.4+, [112,81]
DEC8b10bERR, -- "0100100100"
"010000101", -- "0100100101", -D5.4+, [113,82]
"010000110", -- "0100100110", -D6.4+, [114,83]
"010001000", -- "0100100111", +D8.4+, [115,84]
DEC8b10bERR, -- "0100101000"
"010001001", -- "0100101001", -D9.4+, [116,85]
"010001010", -- "0100101010", -D10.4+, [117,86]
"010000100", -- "0100101011", +D4.4+, [118,87]
"010001100", -- "0100101100", -D12.4+, [119,88]
"010000010", -- "0100101101", +D2.4+, [120,89]
"010000001", -- "0100101110", +D1.4+, [121,90]
DEC8b10bERR, -- "0100101111"
DEC8b10bERR, -- "0100110000"
"010010001", -- "0100110001", -D17.4+, [122,91]
"010010010", -- "0100110010", -D18.4+, [123,92]
"010011000", -- "0100110011", +D24.4+, [124,93]
"010010100", -- "0100110100", -D20.4+, [125,94]
"010011111", -- "0100110101", +D31.4+, [126,95]
"010010000", -- "0100110110", +D16.4+, [127,96]
DEC8b10bERR, -- "0100110111"
"010000111", -- "0100111000", -D7.4+, [128,97]
"010000000", -- "0100111001", +D0.4+, [129,98]
"010001111", -- "0100111010", +D15.4+, [130,99]
DEC8b10bERR, -- "0100111011"
"110011100", -- "0100111100", +K28.4+, [131,32]
DEC8b10bERR, -- "0100111101"
DEC8b10bERR, -- "0100111110"
DEC8b10bERR, -- "0100111111"
DEC8b10bERR, -- "0101000000"
DEC8b10bERR, -- "0101000001"
DEC8b10bERR, -- "0101000010"
"101011100", -- "0101000011", -K28.2+, [132,33]
DEC8b10bERR, -- "0101000100"
"010101111", -- "0101000101", -D15.5+, [133,100]
"010100000", -- "0101000110", -D0.5+, [134,101]
"010100111", -- "0101000111", +D7.5+, [135,102]
DEC8b10bERR, -- "0101001000"
"010110000", -- "0101001001", -D16.5+, [136,103]
"010111111", -- "0101001010", -D31.5+, [137,104]
"010101011", -- "0101001011", +D11.5+, [138,105]
"010111000", -- "0101001100", -D24.5+, [139,106]
"010101101", -- "0101001101", +D13.5+, [140,107]
"010101110", -- "0101001110", +D14.5+, [141,108]
DEC8b10bERR, -- "0101001111"
DEC8b10bERR, -- "0101010000"
"010100001", -- "0101010001", -D1.5+, [142,109]
"010100010", -- "0101010010", -D2.5+, [143,110]
"010110011", -- "0101010011", +D19.5+, [144,111]
"010100100", -- "0101010100", -D4.5+, [145,112]
"010110101", -- "0101010101", +D21.5+, [146,113]
"010110110", -- "0101010110", +D22.5+, [147,114]
"010110111", -- "0101010111", +D23.5-, [148,115]
"010101000", -- "0101011000", -D8.5+, [149,116]
"010111001", -- "0101011001", +D25.5+, [150,117]
"010111010", -- "0101011010", +D26.5+, [151,118]
"010111011", -- "0101011011", +D27.5-, [152,119]
"010111100", -- "0101011100", +D28.5+, [153,120]
"010111101", -- "0101011101", +D29.5-, [154,121]
"010111110", -- "0101011110", +D30.5-, [155,122]
DEC8b10bERR, -- "0101011111"
DEC8b10bERR, -- "0101100000"
"010111110", -- "0101100001", -D30.5+, [156,123]
"010111101", -- "0101100010", -D29.5+, [157,124]
"010100011", -- "0101100011", +D3.5+, [158,125]
"010111011", -- "0101100100", -D27.5+, [159,126]
"010100101", -- "0101100101", +D5.5+, [160,127]
"010100110", -- "0101100110", +D6.5+, [161,128]
"010101000", -- "0101100111", +D8.5-, [162,129]
"010110111", -- "0101101000", -D23.5+, [163,130]
"010101001", -- "0101101001", +D9.5+, [164,131]
"010101010", -- "0101101010", +D10.5+, [165,132]
"010100100", -- "0101101011", +D4.5-, [166,133]
"010101100", -- "0101101100", +D12.5+, [167,134]
"010100010", -- "0101101101", +D2.5-, [168,135]
"010100001", -- "0101101110", +D1.5-, [169,136]
DEC8b10bERR, -- "0101101111"
DEC8b10bERR, -- "0101110000"
"010110001", -- "0101110001", +D17.5+, [170,137]
"010110010", -- "0101110010", +D18.5+, [171,138]
"010111000", -- "0101110011", +D24.5-, [172,139]
"010110100", -- "0101110100", +D20.5+, [173,140]
"010111111", -- "0101110101", +D31.5-, [174,141]
"010110000", -- "0101110110", +D16.5-, [175,142]
DEC8b10bERR, -- "0101110111"
"010100111", -- "0101111000", -D7.5-, [176,143]
"010100000", -- "0101111001", +D0.5-, [177,144]
"010101111", -- "0101111010", +D15.5-, [178,145]
DEC8b10bERR, -- "0101111011"
"110111100", -- "0101111100", +K28.5-, [179,34]
DEC8b10bERR, -- "0101111101"
DEC8b10bERR, -- "0101111110"
DEC8b10bERR, -- "0101111111"
DEC8b10bERR, -- "0110000000"
DEC8b10bERR, -- "0110000001"
DEC8b10bERR, -- "0110000010"
"100111100", -- "0110000011", -K28.1+, [180,35]
DEC8b10bERR, -- "0110000100"
"011001111", -- "0110000101", -D15.6+, [181,146]
"011000000", -- "0110000110", -D0.6+, [182,147]
"011000111", -- "0110000111", +D7.6+, [183,148]
DEC8b10bERR, -- "0110001000"
"011010000", -- "0110001001", -D16.6+, [184,149]
"011011111", -- "0110001010", -D31.6+, [185,150]
"011001011", -- "0110001011", +D11.6+, [186,151]
"011011000", -- "0110001100", -D24.6+, [187,152]
"011001101", -- "0110001101", +D13.6+, [188,153]
"011001110", -- "0110001110", +D14.6+, [189,154]
DEC8b10bERR, -- "0110001111"
DEC8b10bERR, -- "0110010000"
"011000001", -- "0110010001", -D1.6+, [190,155]
"011000010", -- "0110010010", -D2.6+, [191,156]
"011010011", -- "0110010011", +D19.6+, [192,157]
"011000100", -- "0110010100", -D4.6+, [193,158]
"011010101", -- "0110010101", +D21.6+, [194,159]
"011010110", -- "0110010110", +D22.6+, [195,160]
"011010111", -- "0110010111", +D23.6-, [196,161]
"011001000", -- "0110011000", -D8.6+, [197,162]
"011011001", -- "0110011001", +D25.6+, [198,163]
"011011010", -- "0110011010", +D26.6+, [199,164]
"011011011", -- "0110011011", +D27.6-, [200,165]
"011011100", -- "0110011100", +D28.6+, [201,166]
"011011101", -- "0110011101", +D29.6-, [202,167]
"011011110", -- "0110011110", +D30.6-, [203,168]
DEC8b10bERR, -- "0110011111"
DEC8b10bERR, -- "0110100000"
"011011110", -- "0110100001", -D30.6+, [204,169]
"011011101", -- "0110100010", -D29.6+, [205,170]
"011000011", -- "0110100011", +D3.6+, [206,171]
"011011011", -- "0110100100", -D27.6+, [207,172]
"011000101", -- "0110100101", +D5.6+, [208,173]
"011000110", -- "0110100110", +D6.6+, [209,174]
"011001000", -- "0110100111", +D8.6-, [210,175]
"011010111", -- "0110101000", -D23.6+, [211,176]
"011001001", -- "0110101001", +D9.6+, [212,177]
"011001010", -- "0110101010", +D10.6+, [213,178]
"011000100", -- "0110101011", +D4.6-, [214,179]
"011001100", -- "0110101100", +D12.6+, [215,180]
"011000010", -- "0110101101", +D2.6-, [216,181]
"011000001", -- "0110101110", +D1.6-, [217,182]
DEC8b10bERR, -- "0110101111"
DEC8b10bERR, -- "0110110000"
"011010001", -- "0110110001", +D17.6+, [218,183]
"011010010", -- "0110110010", +D18.6+, [219,184]
"011011000", -- "0110110011", +D24.6-, [220,185]
"011010100", -- "0110110100", +D20.6+, [221,186]
"011011111", -- "0110110101", +D31.6-, [222,187]
"011010000", -- "0110110110", +D16.6-, [223,188]
DEC8b10bERR, -- "0110110111"
"011000111", -- "0110111000", -D7.6-, [224,189]
"011000000", -- "0110111001", +D0.6-, [225,190]
"011001111", -- "0110111010", +D15.6-, [226,191]
DEC8b10bERR, -- "0110111011"
"111011100", -- "0110111100", +K28.6-, [227,36]
DEC8b10bERR, -- "0110111101"
DEC8b10bERR, -- "0110111110"
DEC8b10bERR, -- "0110111111"
DEC8b10bERR, -- "0111000000"
DEC8b10bERR, -- "0111000001"
DEC8b10bERR, -- "0111000010"
DEC8b10bERR, -- "0111000011"
DEC8b10bERR, -- "0111000100"
"011101111", -- "0111000101", -D15.7-, [228,192]
"011100000", -- "0111000110", -D0.7-, [229,193]
"011100111", -- "0111000111", +D7.7-, [230,194]
DEC8b10bERR, -- "0111001000"
"011110000", -- "0111001001", -D16.7-, [231,195]
"011111111", -- "0111001010", -D31.7-, [232,196]
"011101011", -- "0111001011", +D11.7-, [233,197]
"011111000", -- "0111001100", -D24.7-, [234,198]
"011101101", -- "0111001101", +D13.7-, [235,199]
"011101110", -- "0111001110", +D14.7-, [236,200]
DEC8b10bERR, -- "0111001111"
DEC8b10bERR, -- "0111010000"
"011100001", -- "0111010001", -D1.7-, [237,201]
"011100010", -- "0111010010", -D2.7-, [238,202]
"011110011", -- "0111010011", +D19.7-, [239,203]
"011100100", -- "0111010100", -D4.7-, [240,204]
"011110101", -- "0111010101", +D21.7-, [241,205]
"011110110", -- "0111010110", +D22.7-, [242,206]
DEC8b10bERR, -- "0111010111"
"011101000", -- "0111011000", -D8.7-, [243,207]
"011111001", -- "0111011001", +D25.7-, [244,208]
"011111010", -- "0111011010", +D26.7-, [245,209]
DEC8b10bERR, -- "0111011011"
"011111100", -- "0111011100", +D28.7-, [246,210]
DEC8b10bERR, -- "0111011101"
DEC8b10bERR, -- "0111011110"
DEC8b10bERR, -- "0111011111"
DEC8b10bERR, -- "0111100000"
"011111110", -- "0111100001", -D30.7-, [247,211]
"011111101", -- "0111100010", -D29.7-, [248,212]
"011100011", -- "0111100011", +D3.7-, [249,213]
"011111011", -- "0111100100", -D27.7-, [250,214]
"011100101", -- "0111100101", +D5.7-, [251,215]
"011100110", -- "0111100110", +D6.7-, [252,216]
DEC8b10bERR, -- "0111100111"
"011110111", -- "0111101000", -D23.7-, [253,217]
"011101001", -- "0111101001", +D9.7-, [254,218]
"011101010", -- "0111101010", +D10.7-, [255,219]
DEC8b10bERR, -- "0111101011"
"011101100", -- "0111101100", +D12.7-, [256,220]
DEC8b10bERR, -- "0111101101"
DEC8b10bERR, -- "0111101110"
DEC8b10bERR, -- "0111101111"
DEC8b10bERR, -- "0111110000"
DEC8b10bERR, -- "0111110001"
DEC8b10bERR, -- "0111110010"
DEC8b10bERR, -- "0111110011"
DEC8b10bERR, -- "0111110100"
DEC8b10bERR, -- "0111110101"
DEC8b10bERR, -- "0111110110"
DEC8b10bERR, -- "0111110111"
DEC8b10bERR, -- "0111111000"
DEC8b10bERR, -- "0111111001"
DEC8b10bERR, -- "0111111010"
DEC8b10bERR, -- "0111111011"
DEC8b10bERR, -- "0111111100"
DEC8b10bERR, -- "0111111101"
DEC8b10bERR, -- "0111111110"
DEC8b10bERR, -- "0111111111"
DEC8b10bERR, -- "1000000000"
DEC8b10bERR, -- "1000000001"
DEC8b10bERR, -- "1000000010"
DEC8b10bERR, -- "1000000011"
DEC8b10bERR, -- "1000000100"
DEC8b10bERR, -- "1000000101"
DEC8b10bERR, -- "1000000110"
DEC8b10bERR, -- "1000000111"
DEC8b10bERR, -- "1000001000"
DEC8b10bERR, -- "1000001001"
DEC8b10bERR, -- "1000001010"
DEC8b10bERR, -- "1000001011"
DEC8b10bERR, -- "1000001100"
DEC8b10bERR, -- "1000001101"
DEC8b10bERR, -- "1000001110"
DEC8b10bERR, -- "1000001111"
DEC8b10bERR, -- "1000010000"
DEC8b10bERR, -- "1000010001"
DEC8b10bERR, -- "1000010010"
"011110011", -- "1000010011", -D19.7+, [257,221]
DEC8b10bERR, -- "1000010100"
"011110101", -- "1000010101", -D21.7+, [258,222]
"011110110", -- "1000010110", -D22.7+, [259,223]
"011110111", -- "1000010111", +D23.7+, [260,224]
DEC8b10bERR, -- "1000011000"
"011111001", -- "1000011001", -D25.7+, [261,225]
"011111010", -- "1000011010", -D26.7+, [262,226]
"011111011", -- "1000011011", +D27.7+, [263,227]
"011111100", -- "1000011100", -D28.7+, [264,228]
"011111101", -- "1000011101", +D29.7+, [265,229]
"011111110", -- "1000011110", +D30.7+, [266,230]
DEC8b10bERR, -- "1000011111"
DEC8b10bERR, -- "1000100000"
DEC8b10bERR, -- "1000100001"
DEC8b10bERR, -- "1000100010"
"011100011", -- "1000100011", -D3.7+, [267,231]
DEC8b10bERR, -- "1000100100"
"011100101", -- "1000100101", -D5.7+, [268,232]
"011100110", -- "1000100110", -D6.7+, [269,233]
"011101000", -- "1000100111", +D8.7+, [270,234]
DEC8b10bERR, -- "1000101000"
"011101001", -- "1000101001", -D9.7+, [271,235]
"011101010", -- "1000101010", -D10.7+, [272,236]
"011100100", -- "1000101011", +D4.7+, [273,237]
"011101100", -- "1000101100", -D12.7+, [274,238]
"011100010", -- "1000101101", +D2.7+, [275,239]
"011100001", -- "1000101110", +D1.7+, [276,240]
DEC8b10bERR, -- "1000101111"
DEC8b10bERR, -- "1000110000"
"011110001", -- "1000110001", -D17.7+, [277,241]
"011110010", -- "1000110010", -D18.7+, [278,242]
"011111000", -- "1000110011", +D24.7+, [279,243]
"011110100", -- "1000110100", -D20.7+, [280,244]
"011111111", -- "1000110101", +D31.7+, [281,245]
"011110000", -- "1000110110", +D16.7+, [282,246]
DEC8b10bERR, -- "1000110111"
"011100111", -- "1000111000", -D7.7+, [283,247]
"011100000", -- "1000111001", +D0.7+, [284,248]
"011101111", -- "1000111010", +D15.7+, [285,249]
DEC8b10bERR, -- "1000111011"
DEC8b10bERR, -- "1000111100"
DEC8b10bERR, -- "1000111101"
DEC8b10bERR, -- "1000111110"
DEC8b10bERR, -- "1000111111"
DEC8b10bERR, -- "1001000000"
DEC8b10bERR, -- "1001000001"
DEC8b10bERR, -- "1001000010"
"111011100", -- "1001000011", -K28.6+, [286,37]
DEC8b10bERR, -- "1001000100"
"000101111", -- "1001000101", -D15.1+, [287,250]
"000100000", -- "1001000110", -D0.1+, [288,251]
"000100111", -- "1001000111", +D7.1+, [289,252]
DEC8b10bERR, -- "1001001000"
"000110000", -- "1001001001", -D16.1+, [290,253]
"000111111", -- "1001001010", -D31.1+, [291,254]
"000101011", -- "1001001011", +D11.1+, [292,255]
"000111000", -- "1001001100", -D24.1+, [293,256]
"000101101", -- "1001001101", +D13.1+, [294,257]
"000101110", -- "1001001110", +D14.1+, [295,258]
DEC8b10bERR, -- "1001001111"
DEC8b10bERR, -- "1001010000"
"000100001", -- "1001010001", -D1.1+, [296,259]
"000100010", -- "1001010010", -D2.1+, [297,260]
"000110011", -- "1001010011", +D19.1+, [298,261]
"000100100", -- "1001010100", -D4.1+, [299,262]
"000110101", -- "1001010101", +D21.1+, [300,263]
"000110110", -- "1001010110", +D22.1+, [301,264]
"000110111", -- "1001010111", +D23.1-, [302,265]
"000101000", -- "1001011000", -D8.1+, [303,266]
"000111001", -- "1001011001", +D25.1+, [304,267]
"000111010", -- "1001011010", +D26.1+, [305,268]
"000111011", -- "1001011011", +D27.1-, [306,269]
"000111100", -- "1001011100", +D28.1+, [307,270]
"000111101", -- "1001011101", +D29.1-, [308,271]
"000111110", -- "1001011110", +D30.1-, [309,272]
DEC8b10bERR, -- "1001011111"
DEC8b10bERR, -- "1001100000"
"000111110", -- "1001100001", -D30.1+, [310,273]
"000111101", -- "1001100010", -D29.1+, [311,274]
"000100011", -- "1001100011", +D3.1+, [312,275]
"000111011", -- "1001100100", -D27.1+, [313,276]
"000100101", -- "1001100101", +D5.1+, [314,277]
"000100110", -- "1001100110", +D6.1+, [315,278]
"000101000", -- "1001100111", +D8.1-, [316,279]
"000110111", -- "1001101000", -D23.1+, [317,280]
"000101001", -- "1001101001", +D9.1+, [318,281]
"000101010", -- "1001101010", +D10.1+, [319,282]
"000100100", -- "1001101011", +D4.1-, [320,283]
"000101100", -- "1001101100", +D12.1+, [321,284]
"000100010", -- "1001101101", +D2.1-, [322,285]
"000100001", -- "1001101110", +D1.1-, [323,286]
DEC8b10bERR, -- "1001101111"
DEC8b10bERR, -- "1001110000"
"000110001", -- "1001110001", +D17.1+, [324,287]
"000110010", -- "1001110010", +D18.1+, [325,288]
"000111000", -- "1001110011", +D24.1-, [326,289]
"000110100", -- "1001110100", +D20.1+, [327,290]
"000111111", -- "1001110101", +D31.1-, [328,291]
"000110000", -- "1001110110", +D16.1-, [329,292]
DEC8b10bERR, -- "1001110111"
"000100111", -- "1001111000", -D7.1-, [330,293]
"000100000", -- "1001111001", +D0.1-, [331,294]
"000101111", -- "1001111010", +D15.1-, [332,295]
DEC8b10bERR, -- "1001111011"
"100111100", -- "1001111100", +K28.1-, [333,38]
DEC8b10bERR, -- "1001111101"
DEC8b10bERR, -- "1001111110"
DEC8b10bERR, -- "1001111111"
DEC8b10bERR, -- "1010000000"
DEC8b10bERR, -- "1010000001"
DEC8b10bERR, -- "1010000010"
"110111100", -- "1010000011", -K28.5+, [334,39]
DEC8b10bERR, -- "1010000100"
"001001111", -- "1010000101", -D15.2+, [335,296]
"001000000", -- "1010000110", -D0.2+, [336,297]
"001000111", -- "1010000111", +D7.2+, [337,298]
DEC8b10bERR, -- "1010001000"
"001010000", -- "1010001001", -D16.2+, [338,299]
"001011111", -- "1010001010", -D31.2+, [339,300]
"001001011", -- "1010001011", +D11.2+, [340,301]
"001011000", -- "1010001100", -D24.2+, [341,302]
"001001101", -- "1010001101", +D13.2+, [342,303]
"001001110", -- "1010001110", +D14.2+, [343,304]
DEC8b10bERR, -- "1010001111"
DEC8b10bERR, -- "1010010000"
"001000001", -- "1010010001", -D1.2+, [344,305]
"001000010", -- "1010010010", -D2.2+, [345,306]
"001010011", -- "1010010011", +D19.2+, [346,307]
"001000100", -- "1010010100", -D4.2+, [347,308]
"001010101", -- "1010010101", +D21.2+, [348,309]
"001010110", -- "1010010110", +D22.2+, [349,310]
"001010111", -- "1010010111", +D23.2-, [350,311]
"001001000", -- "1010011000", -D8.2+, [351,312]
"001011001", -- "1010011001", +D25.2+, [352,313]
"001011010", -- "1010011010", +D26.2+, [353,314]
"001011011", -- "1010011011", +D27.2-, [354,315]
"001011100", -- "1010011100", +D28.2+, [355,316]
"001011101", -- "1010011101", +D29.2-, [356,317]
"001011110", -- "1010011110", +D30.2-, [357,318]
DEC8b10bERR, -- "1010011111"
DEC8b10bERR, -- "1010100000"
"001011110", -- "1010100001", -D30.2+, [358,319]
"001011101", -- "1010100010", -D29.2+, [359,320]
"001000011", -- "1010100011", +D3.2+, [360,321]
"001011011", -- "1010100100", -D27.2+, [361,322]
"001000101", -- "1010100101", +D5.2+, [362,323]
"001000110", -- "1010100110", +D6.2+, [363,324]
"001001000", -- "1010100111", +D8.2-, [364,325]
"001010111", -- "1010101000", -D23.2+, [365,326]
"001001001", -- "1010101001", +D9.2+, [366,327]
"001001010", -- "1010101010", +D10.2+, [367,328]
"001000100", -- "1010101011", +D4.2-, [368,329]
"001001100", -- "1010101100", +D12.2+, [369,330]
"001000010", -- "1010101101", +D2.2-, [370,331]
"001000001", -- "1010101110", +D1.2-, [371,332]
DEC8b10bERR, -- "1010101111"
DEC8b10bERR, -- "1010110000"
"001010001", -- "1010110001", +D17.2+, [372,333]
"001010010", -- "1010110010", +D18.2+, [373,334]
"001011000", -- "1010110011", +D24.2-, [374,335]
"001010100", -- "1010110100", +D20.2+, [375,336]
"001011111", -- "1010110101", +D31.2-, [376,337]
"001010000", -- "1010110110", +D16.2-, [377,338]
DEC8b10bERR, -- "1010110111"
"001000111", -- "1010111000", -D7.2-, [378,339]
"001000000", -- "1010111001", +D0.2-, [379,340]
"001001111", -- "1010111010", +D15.2-, [380,341]
DEC8b10bERR, -- "1010111011"
"101011100", -- "1010111100", +K28.2-, [381,40]
DEC8b10bERR, -- "1010111101"
DEC8b10bERR, -- "1010111110"
DEC8b10bERR, -- "1010111111"
DEC8b10bERR, -- "1011000000"
DEC8b10bERR, -- "1011000001"
DEC8b10bERR, -- "1011000010"
"110011100", -- "1011000011", -K28.4-, [382,41]
DEC8b10bERR, -- "1011000100"
"010001111", -- "1011000101", -D15.4-, [383,342]
"010000000", -- "1011000110", -D0.4-, [384,343]
"010000111", -- "1011000111", +D7.4-, [385,344]
DEC8b10bERR, -- "1011001000"
"010010000", -- "1011001001", -D16.4-, [386,345]
"010011111", -- "1011001010", -D31.4-, [387,346]
"010001011", -- "1011001011", +D11.4-, [388,347]
"010011000", -- "1011001100", -D24.4-, [389,348]
"010001101", -- "1011001101", +D13.4-, [390,349]
"010001110", -- "1011001110", +D14.4-, [391,350]
DEC8b10bERR, -- "1011001111"
DEC8b10bERR, -- "1011010000"
"010000001", -- "1011010001", -D1.4-, [392,351]
"010000010", -- "1011010010", -D2.4-, [393,352]
"010010011", -- "1011010011", +D19.4-, [394,353]
"010000100", -- "1011010100", -D4.4-, [395,354]
"010010101", -- "1011010101", +D21.4-, [396,355]
"010010110", -- "1011010110", +D22.4-, [397,356]
DEC8b10bERR, -- "1011010111"
"010001000", -- "1011011000", -D8.4-, [398,357]
"010011001", -- "1011011001", +D25.4-, [399,358]
"010011010", -- "1011011010", +D26.4-, [400,359]
DEC8b10bERR, -- "1011011011"
"010011100", -- "1011011100", +D28.4-, [401,360]
DEC8b10bERR, -- "1011011101"
DEC8b10bERR, -- "1011011110"
DEC8b10bERR, -- "1011011111"
DEC8b10bERR, -- "1011100000"
"010011110", -- "1011100001", -D30.4-, [402,361]
"010011101", -- "1011100010", -D29.4-, [403,362]
"010000011", -- "1011100011", +D3.4-, [404,363]
"010011011", -- "1011100100", -D27.4-, [405,364]
"010000101", -- "1011100101", +D5.4-, [406,365]
"010000110", -- "1011100110", +D6.4-, [407,366]
DEC8b10bERR, -- "1011100111"
"010010111", -- "1011101000", -D23.4-, [408,367]
"010001001", -- "1011101001", +D9.4-, [409,368]
"010001010", -- "1011101010", +D10.4-, [410,369]
DEC8b10bERR, -- "1011101011"
"010001100", -- "1011101100", +D12.4-, [411,370]
DEC8b10bERR, -- "1011101101"
DEC8b10bERR, -- "1011101110"
DEC8b10bERR, -- "1011101111"
DEC8b10bERR, -- "1011110000"
"010010001", -- "1011110001", +D17.4-, [412,371]
"010010010", -- "1011110010", +D18.4-, [413,372]
DEC8b10bERR, -- "1011110011"
"010010100", -- "1011110100", +D20.4-, [414,373]
DEC8b10bERR, -- "1011110101"
DEC8b10bERR, -- "1011110110"
DEC8b10bERR, -- "1011110111"
DEC8b10bERR, -- "1011111000"
DEC8b10bERR, -- "1011111001"
DEC8b10bERR, -- "1011111010"
DEC8b10bERR, -- "1011111011"
DEC8b10bERR, -- "1011111100"
DEC8b10bERR, -- "1011111101"
DEC8b10bERR, -- "1011111110"
DEC8b10bERR, -- "1011111111"
DEC8b10bERR, -- "1100000000"
DEC8b10bERR, -- "1100000001"
DEC8b10bERR, -- "1100000010"
DEC8b10bERR, -- "1100000011"
DEC8b10bERR, -- "1100000100"
DEC8b10bERR, -- "1100000101"
DEC8b10bERR, -- "1100000110"
DEC8b10bERR, -- "1100000111"
DEC8b10bERR, -- "1100001000"
DEC8b10bERR, -- "1100001001"
DEC8b10bERR, -- "1100001010"
"001101011", -- "1100001011", -D11.3-, [415,374]
DEC8b10bERR, -- "1100001100"
"001101101", -- "1100001101", -D13.3-, [416,375]
"001101110", -- "1100001110", -D14.3-, [417,376]
DEC8b10bERR, -- "1100001111"
DEC8b10bERR, -- "1100010000"
DEC8b10bERR, -- "1100010001"
DEC8b10bERR, -- "1100010010"
"001110011", -- "1100010011", -D19.3-, [418,377]
DEC8b10bERR, -- "1100010100"
"001110101", -- "1100010101", -D21.3-, [419,378]
"001110110", -- "1100010110", -D22.3-, [420,379]
"001110111", -- "1100010111", +D23.3-, [421,380]
DEC8b10bERR, -- "1100011000"
"001111001", -- "1100011001", -D25.3-, [422,381]
"001111010", -- "1100011010", -D26.3-, [423,382]
"001111011", -- "1100011011", +D27.3-, [424,383]
"001111100", -- "1100011100", -D28.3-, [425,384]
"001111101", -- "1100011101", +D29.3-, [426,385]
"001111110", -- "1100011110", +D30.3-, [427,386]
DEC8b10bERR, -- "1100011111"
DEC8b10bERR, -- "1100100000"
DEC8b10bERR, -- "1100100001"
DEC8b10bERR, -- "1100100010"
"001100011", -- "1100100011", -D3.3-, [428,387]
DEC8b10bERR, -- "1100100100"
"001100101", -- "1100100101", -D5.3-, [429,388]
"001100110", -- "1100100110", -D6.3-, [430,389]
"001101000", -- "1100100111", +D8.3-, [431,390]
DEC8b10bERR, -- "1100101000"
"001101001", -- "1100101001", -D9.3-, [432,391]
"001101010", -- "1100101010", -D10.3-, [433,392]
"001100100", -- "1100101011", +D4.3-, [434,393]
"001101100", -- "1100101100", -D12.3-, [435,394]
"001100010", -- "1100101101", +D2.3-, [436,395]
"001100001", -- "1100101110", +D1.3-, [437,396]
DEC8b10bERR, -- "1100101111"
DEC8b10bERR, -- "1100110000"
"001110001", -- "1100110001", -D17.3-, [438,397]
"001110010", -- "1100110010", -D18.3-, [439,398]
"001111000", -- "1100110011", +D24.3-, [440,399]
"001110100", -- "1100110100", -D20.3-, [441,400]
"001111111", -- "1100110101", +D31.3-, [442,401]
"001110000", -- "1100110110", +D16.3-, [443,402]
DEC8b10bERR, -- "1100110111"
"001100111", -- "1100111000", -D7.3-, [444,403]
"001100000", -- "1100111001", +D0.3-, [445,404]
"001101111", -- "1100111010", +D15.3-, [446,405]
DEC8b10bERR, -- "1100111011"
"101111100", -- "1100111100", +K28.3-, [447,42]
DEC8b10bERR, -- "1100111101"
DEC8b10bERR, -- "1100111110"
DEC8b10bERR, -- "1100111111"
DEC8b10bERR, -- "1101000000"
DEC8b10bERR, -- "1101000001"
DEC8b10bERR, -- "1101000010"
"100011100", -- "1101000011", -K28.0-, [448,43]
DEC8b10bERR, -- "1101000100"
"000001111", -- "1101000101", -D15.0-, [449,406]
"000000000", -- "1101000110", -D0.0-, [450,407]
"000000111", -- "1101000111", +D7.0-, [451,408]
DEC8b10bERR, -- "1101001000"
"000010000", -- "1101001001", -D16.0-, [452,409]
"000011111", -- "1101001010", -D31.0-, [453,410]
"000001011", -- "1101001011", +D11.0-, [454,411]
"000011000", -- "1101001100", -D24.0-, [455,412]
"000001101", -- "1101001101", +D13.0-, [456,413]
"000001110", -- "1101001110", +D14.0-, [457,414]
DEC8b10bERR, -- "1101001111"
DEC8b10bERR, -- "1101010000"
"000000001", -- "1101010001", -D1.0-, [458,415]
"000000010", -- "1101010010", -D2.0-, [459,416]
"000010011", -- "1101010011", +D19.0-, [460,417]
"000000100", -- "1101010100", -D4.0-, [461,418]
"000010101", -- "1101010101", +D21.0-, [462,419]
"000010110", -- "1101010110", +D22.0-, [463,420]
DEC8b10bERR, -- "1101010111"
"000001000", -- "1101011000", -D8.0-, [464,421]
"000011001", -- "1101011001", +D25.0-, [465,422]
"000011010", -- "1101011010", +D26.0-, [466,423]
DEC8b10bERR, -- "1101011011"
"000011100", -- "1101011100", +D28.0-, [467,424]
DEC8b10bERR, -- "1101011101"
DEC8b10bERR, -- "1101011110"
DEC8b10bERR, -- "1101011111"
DEC8b10bERR, -- "1101100000"
"000011110", -- "1101100001", -D30.0-, [468,425]
"000011101", -- "1101100010", -D29.0-, [469,426]
"000000011", -- "1101100011", +D3.0-, [470,427]
"000011011", -- "1101100100", -D27.0-, [471,428]
"000000101", -- "1101100101", +D5.0-, [472,429]
"000000110", -- "1101100110", +D6.0-, [473,430]
DEC8b10bERR, -- "1101100111"
"000010111", -- "1101101000", -D23.0-, [474,431]
"000001001", -- "1101101001", +D9.0-, [475,432]
"000001010", -- "1101101010", +D10.0-, [476,433]
DEC8b10bERR, -- "1101101011"
"000001100", -- "1101101100", +D12.0-, [477,434]
DEC8b10bERR, -- "1101101101"
DEC8b10bERR, -- "1101101110"
DEC8b10bERR, -- "1101101111"
DEC8b10bERR, -- "1101110000"
"000010001", -- "1101110001", +D17.0-, [478,435]
"000010010", -- "1101110010", +D18.0-, [479,436]
DEC8b10bERR, -- "1101110011"
"000010100", -- "1101110100", +D20.0-, [480,437]
DEC8b10bERR, -- "1101110101"
DEC8b10bERR, -- "1101110110"
DEC8b10bERR, -- "1101110111"
DEC8b10bERR, -- "1101111000"
DEC8b10bERR, -- "1101111001"
DEC8b10bERR, -- "1101111010"
DEC8b10bERR, -- "1101111011"
DEC8b10bERR, -- "1101111100"
DEC8b10bERR, -- "1101111101"
DEC8b10bERR, -- "1101111110"
DEC8b10bERR, -- "1101111111"
DEC8b10bERR, -- "1110000000"
DEC8b10bERR, -- "1110000001"
DEC8b10bERR, -- "1110000010"
"111111100", -- "1110000011", -K28.7-, [481,44]
DEC8b10bERR, -- "1110000100"
"111101111", -- "1110000101", -K15.7-, [482,45]
"111100000", -- "1110000110", -K0.7-, [483,46]
"111100111", -- "1110000111", +K7.7-, [484,47]
DEC8b10bERR, -- "1110001000"
"111110000", -- "1110001001", -K16.7-, [485,48]
"111111111", -- "1110001010", -K31.7-, [486,49]
"111101011", -- "1110001011", +K11.7-, [487,50]
"111111000", -- "1110001100", -K24.7-, [488,51]
"111101101", -- "1110001101", +K13.7-, [489,52]
"111101110", -- "1110001110", +K14.7-, [490,53]
DEC8b10bERR, -- "1110001111"
DEC8b10bERR, -- "1110010000"
"111100001", -- "1110010001", -K1.7-, [491,54]
"111100010", -- "1110010010", -K2.7-, [492,55]
"111110011", -- "1110010011", +K19.7-, [493,56]
"111100100", -- "1110010100", -K4.7-, [494,57]
"111110101", -- "1110010101", +K21.7-, [495,58]
"111110110", -- "1110010110", +K22.7-, [496,59]
DEC8b10bERR, -- "1110010111"
"111101000", -- "1110011000", -K8.7-, [497,60]
"111111001", -- "1110011001", +K25.7-, [498,61]
"111111010", -- "1110011010", +K26.7-, [499,62]
DEC8b10bERR, -- "1110011011"
DEC8b10bERR, -- "1110011100"
DEC8b10bERR, -- "1110011101"
DEC8b10bERR, -- "1110011110"
DEC8b10bERR, -- "1110011111"
DEC8b10bERR, -- "1110100000"
"111111110", -- "1110100001", -K30.7-, [500,63]
"111111101", -- "1110100010", -K29.7-, [501,64]
"111100011", -- "1110100011", +K3.7-, [502,65]
"111111011", -- "1110100100", -K27.7-, [503,66]
"111100101", -- "1110100101", +K5.7-, [504,67]
"111100110", -- "1110100110", +K6.7-, [505,68]
DEC8b10bERR, -- "1110100111"
"111110111", -- "1110101000", -K23.7-, [506,69]
"111101001", -- "1110101001", +K9.7-, [507,70]
"111101010", -- "1110101010", +K10.7-, [508,71]
DEC8b10bERR, -- "1110101011"
"111101100", -- "1110101100", +K12.7-, [509,72]
DEC8b10bERR, -- "1110101101"
DEC8b10bERR, -- "1110101110"
DEC8b10bERR, -- "1110101111"
DEC8b10bERR, -- "1110110000"
"011110001", -- "1110110001", +D17.7-, [510,438]
"011110010", -- "1110110010", +D18.7-, [511,439]
DEC8b10bERR, -- "1110110011"
"011110100", -- "1110110100", +D20.7-, [512,440]
DEC8b10bERR, -- "1110110101"
DEC8b10bERR, -- "1110110110"
DEC8b10bERR, -- "1110110111"
DEC8b10bERR, -- "1110111000"
DEC8b10bERR, -- "1110111001"
DEC8b10bERR, -- "1110111010"
DEC8b10bERR, -- "1110111011"
DEC8b10bERR, -- "1110111100"
DEC8b10bERR, -- "1110111101"
DEC8b10bERR, -- "1110111110"
DEC8b10bERR, -- "1110111111"
DEC8b10bERR, -- "1111000000"
DEC8b10bERR, -- "1111000001"
DEC8b10bERR, -- "1111000010"
DEC8b10bERR, -- "1111000011"
DEC8b10bERR, -- "1111000100"
DEC8b10bERR, -- "1111000101"
DEC8b10bERR, -- "1111000110"
DEC8b10bERR, -- "1111000111"
DEC8b10bERR, -- "1111001000"
DEC8b10bERR, -- "1111001001"
DEC8b10bERR, -- "1111001010"
DEC8b10bERR, -- "1111001011"
DEC8b10bERR, -- "1111001100"
DEC8b10bERR, -- "1111001101"
DEC8b10bERR, -- "1111001110"
DEC8b10bERR, -- "1111001111"
DEC8b10bERR, -- "1111010000"
DEC8b10bERR, -- "1111010001"
DEC8b10bERR, -- "1111010010"
DEC8b10bERR, -- "1111010011"
DEC8b10bERR, -- "1111010100"
DEC8b10bERR, -- "1111010101"
DEC8b10bERR, -- "1111010110"
DEC8b10bERR, -- "1111010111"
DEC8b10bERR, -- "1111011000"
DEC8b10bERR, -- "1111011001"
DEC8b10bERR, -- "1111011010"
DEC8b10bERR, -- "1111011011"
DEC8b10bERR, -- "1111011100"
DEC8b10bERR, -- "1111011101"
DEC8b10bERR, -- "1111011110"
DEC8b10bERR, -- "1111011111"
DEC8b10bERR, -- "1111100000"
DEC8b10bERR, -- "1111100001"
DEC8b10bERR, -- "1111100010"
DEC8b10bERR, -- "1111100011"
DEC8b10bERR, -- "1111100100"
DEC8b10bERR, -- "1111100101"
DEC8b10bERR, -- "1111100110"
DEC8b10bERR, -- "1111100111"
DEC8b10bERR, -- "1111101000"
DEC8b10bERR, -- "1111101001"
DEC8b10bERR, -- "1111101010"
DEC8b10bERR, -- "1111101011"
DEC8b10bERR, -- "1111101100"
DEC8b10bERR, -- "1111101101"
DEC8b10bERR, -- "1111101110"
DEC8b10bERR, -- "1111101111"
DEC8b10bERR, -- "1111110000"
DEC8b10bERR, -- "1111110001"
DEC8b10bERR, -- "1111110010"
DEC8b10bERR, -- "1111110011"
DEC8b10bERR, -- "1111110100"
DEC8b10bERR, -- "1111110101"
DEC8b10bERR, -- "1111110110"
DEC8b10bERR, -- "1111110111"
DEC8b10bERR, -- "1111111000"
DEC8b10bERR, -- "1111111001"
DEC8b10bERR, -- "1111111010"
DEC8b10bERR, -- "1111111011"
DEC8b10bERR, -- "1111111100"
DEC8b10bERR, -- "1111111101"
DEC8b10bERR, -- "1111111110"
DEC8b10bERR -- "1111111111"
);
 
 
signal DECODE : std_logic_vector (8 downto 0);
 
begin
 
CTRL_OUT <= DECODE(8);
DATA_OUT <= DECODE(7 downto 0);
process (CLK_IN)
begin
if(CLK_IN = '1' and CLK_IN'event)
then
DECODE <= TBL_DEC8B10B(conv_integer(ENCODE_IN));
end if;
end process;
 
end RTL;
 
/trunk/VECTLIB.vhd
0,0 → 1,228
----------------------------------------------------------------------------------
-- Company : OCST Co.,Ltd.
-- Engineer : RyuShinHyung
--
-- Create Date : 07/04/2008
-- Design Name :
-- Module Name : Vector package
-- Project Name : Railway Control
--
-- Revision
-- Revision 0.01 - File Created
-- Comments : Vector handle utility
--
----------------------------------------------------------------------------------
library IEEE;
use IEEE.std_logic_1164.all;
 
-- declare VECTLIB package prototype
package vect_pack is
 
-- equvalent to conv_integer in Xilinx XST
function vect_to_int(a : STD_LOGIC_VECTOR)
return integer;
 
function vect_from(size : integer; val : integer)
return STD_LOGIC_VECTOR;
 
function vect8_from_char(ch : character)
return STD_LOGIC_VECTOR;
 
 
function vect_fill_one(size : integer)
return STD_LOGIC_VECTOR;
 
function vect_fill_zero(size : integer)
return STD_LOGIC_VECTOR;
 
function vect_test_allzero(a : STD_LOGIC_VECTOR)
return boolean;
 
function vect_test_anyzero(a : STD_LOGIC_VECTOR)
return boolean;
 
function vect_test_allone(a : STD_LOGIC_VECTOR)
return boolean;
 
function vect_test_anyone(a : STD_LOGIC_VECTOR)
return boolean;
 
function vect_each_or(a : STD_LOGIC_VECTOR)
return STD_LOGIC;
 
 
 
function log2_ceil(N : natural)
return positive;
 
function vect_gray(CODE : STD_LOGIC_VECTOR)
return STD_LOGIC_VECTOR;
 
function vect_invgray(CODE : STD_LOGIC_VECTOR)
return STD_LOGIC_VECTOR;
 
end vect_pack;
 
 
-- declare VECTLIB package body
package body vect_pack is
 
function vect_to_int(a : STD_LOGIC_VECTOR) return integer is
variable result : integer := 0;
begin
if a'length = 0 then return result;
end if;
for i in a'reverse_range loop
if a(i)='1' then result := result+2**i;
end if;
end loop;
return result;
end vect_to_int;
 
 
function vect_from(size : integer; val : integer) return STD_LOGIC_VECTOR is
variable result : STD_LOGIC_VECTOR(size-1 downto 0);
variable tmp : integer;
begin
tmp := val;
for i in 0 to size-1 loop
if tmp mod 2 = 1
then result(i) := '1';
else result(i) := '0';
end if;
tmp := tmp / 2;
end loop;
return result;
end vect_from;
 
function vect8_from_char(ch : character) return STD_LOGIC_VECTOR is
variable vect : std_logic_vector(7 downto 0);
begin
vect := vect_from(8, character'pos(ch));
return vect;
end vect8_from_char;
 
-- return the vector have all '1'
function vect_fill_one(size : integer) return STD_LOGIC_VECTOR is
variable result : STD_LOGIC_VECTOR(size-1 downto 0);
begin
for i in 0 to size-1 loop
result(i) := '1';
end loop;
return result;
end vect_fill_one;
 
-- return the vector have all '0'
function vect_fill_zero(size : integer) return STD_LOGIC_VECTOR is
variable result : STD_LOGIC_VECTOR(size-1 downto 0);
begin
for i in 0 to size-1 loop
result(i) := '0';
end loop;
return result;
end vect_fill_zero;
 
 
function vect_test_allzero(a : STD_LOGIC_VECTOR) return boolean is
variable result : boolean := true;
begin
for i in a'range loop
if(a(i) = '1')
then
result := false;
end if;
end loop;
return result;
end vect_test_allzero;
 
 
 
function vect_test_anyzero(a : STD_LOGIC_VECTOR) return boolean is
variable result : boolean := false;
begin
for i in a'range loop
if(a(i) = '0')
then
result := true;
end if;
end loop;
return result;
end vect_test_anyzero;
 
 
function vect_test_allone(a : STD_LOGIC_VECTOR) return boolean is
variable result : boolean := true;
begin
for i in a'range loop
if(a(i) = '0')
then
result := false;
end if;
end loop;
return result;
end vect_test_allone;
 
 
function vect_test_anyone(a : STD_LOGIC_VECTOR) return boolean is
variable result : boolean := false;
begin
for i in a'range loop
if(a(i) = '1')
then
result := true;
end if;
end loop;
return result;
end vect_test_anyone;
 
 
function vect_each_or(a : STD_LOGIC_VECTOR) return STD_LOGIC is
variable result : STD_LOGIC := '0';
begin
for i in a'range loop
result := result or a(i);
end loop;
return result;
end vect_each_or;
 
-- find minimum number of bits required to
-- represent N as an unsigned binary number
function log2_ceil(N : natural) return positive is
begin
if(N < 2)
then
return 1;
else
return 1 + log2_ceil(N/2);
end if;
end log2_ceil;
 
 
-- return the gray value of given binary number
function vect_gray(CODE : STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is
begin
return ("0" & CODE(CODE'length-1 downto 1)) xor CODE(CODE'length-1 downto 0);
end vect_gray;
--function vect2gray(vect : std_logic_vector) return std_logic_vector IS
--variable x : unsigned(vect'range) := unsigned(vect);
--begin
-- x := x xor shift_right(x,1);
--return std_logic_vector(x);
--end function vect2gray;
 
 
-- return the inverse gray value of given binary number
function vect_invgray(CODE : STD_LOGIC_VECTOR) return STD_LOGIC_VECTOR is
variable result : STD_LOGIC_VECTOR(CODE'length-1 downto 0);
variable gray : STD_LOGIC;
begin
gray := '0';
for i in CODE'length-1 downto 0 loop
result(i) := CODE(i) xor gray;
gray := result(i);
end loop;
return result;
end vect_invgray;
 
 
end vect_pack;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.