trunk/src/tools/jedutil.c
| r29231 | r29232 | |
| 119 | 119 | CONSTANTS |
| 120 | 120 | ***************************************************************************/ |
| 121 | 121 | |
| 122 | | #define ARRAY_LEN(_array) (sizeof(_array) / sizeof(_array[0])) |
| 123 | | |
| 124 | 122 | #define NO_OUTPUT_ENABLE_FUSE_ROW 0xFFFF |
| 125 | 123 | |
| 126 | 124 | /* Output pin flags */ |
| r29231 | r29232 | |
| 1873 | 1871 | |
| 1874 | 1872 | static pal_data paldata[] = { |
| 1875 | 1873 | {"PAL10L8", 320, |
| 1876 | | pal10l8pinfuserows, ARRAY_LEN(pal10l8pinfuserows), |
| 1877 | | pal10l8pinfusecolumns, ARRAY_LEN(pal10l8pinfusecolumns), |
| 1874 | pal10l8pinfuserows, ARRAY_LENGTH(pal10l8pinfuserows), |
| 1875 | pal10l8pinfusecolumns, ARRAY_LENGTH(pal10l8pinfusecolumns), |
| 1878 | 1876 | print_pal10l8_product_terms, |
| 1879 | 1877 | config_pal10l8_pins, |
| 1880 | 1878 | NULL, |
| 1881 | 1879 | NULL}, |
| 1882 | 1880 | {"PAL10H8", 320, |
| 1883 | | pal10h8pinfuserows, ARRAY_LEN(pal10h8pinfuserows), |
| 1884 | | pal10h8pinfusecolumns, ARRAY_LEN(pal10h8pinfusecolumns), |
| 1881 | pal10h8pinfuserows, ARRAY_LENGTH(pal10h8pinfuserows), |
| 1882 | pal10h8pinfusecolumns, ARRAY_LENGTH(pal10h8pinfusecolumns), |
| 1885 | 1883 | print_pal10h8_product_terms, |
| 1886 | 1884 | config_pal10h8_pins, |
| 1887 | 1885 | NULL, |
| 1888 | 1886 | NULL}, |
| 1889 | 1887 | {"PAL12H6", 384, |
| 1890 | | pal12h6pinfuserows, ARRAY_LEN(pal12h6pinfuserows), |
| 1891 | | pal12h6pinfusecolumns, ARRAY_LEN(pal12h6pinfusecolumns), |
| 1888 | pal12h6pinfuserows, ARRAY_LENGTH(pal12h6pinfuserows), |
| 1889 | pal12h6pinfusecolumns, ARRAY_LENGTH(pal12h6pinfusecolumns), |
| 1892 | 1890 | print_pal12h6_product_terms, |
| 1893 | 1891 | config_pal12h6_pins, |
| 1894 | 1892 | NULL, |
| 1895 | 1893 | NULL}, |
| 1896 | 1894 | {"PAL14H4", 448, |
| 1897 | | pal14h4pinfuserows, ARRAY_LEN(pal14h4pinfuserows), |
| 1898 | | pal14h4pinfusecolumns, ARRAY_LEN(pal14h4pinfusecolumns), |
| 1895 | pal14h4pinfuserows, ARRAY_LENGTH(pal14h4pinfuserows), |
| 1896 | pal14h4pinfusecolumns, ARRAY_LENGTH(pal14h4pinfusecolumns), |
| 1899 | 1897 | print_pal14h4_product_terms, |
| 1900 | 1898 | config_pal14h4_pins, |
| 1901 | 1899 | NULL, |
| 1902 | 1900 | NULL}, |
| 1903 | 1901 | {"PAL16H2", 512, |
| 1904 | | pal16h2pinfuserows, ARRAY_LEN(pal16h2pinfuserows), |
| 1905 | | pal16h2pinfusecolumns, ARRAY_LEN(pal16h2pinfusecolumns), |
| 1902 | pal16h2pinfuserows, ARRAY_LENGTH(pal16h2pinfuserows), |
| 1903 | pal16h2pinfusecolumns, ARRAY_LENGTH(pal16h2pinfusecolumns), |
| 1906 | 1904 | print_pal16h2_product_terms, |
| 1907 | 1905 | config_pal16h2_pins, |
| 1908 | 1906 | NULL, |
| 1909 | 1907 | NULL}, |
| 1910 | 1908 | {"PAL16C1", 512, |
| 1911 | | pal16c1pinfuserows, ARRAY_LEN(pal16c1pinfuserows), |
| 1912 | | pal16c1pinfusecolumns, ARRAY_LEN(pal16c1pinfusecolumns), |
| 1909 | pal16c1pinfuserows, ARRAY_LENGTH(pal16c1pinfuserows), |
| 1910 | pal16c1pinfusecolumns, ARRAY_LENGTH(pal16c1pinfusecolumns), |
| 1913 | 1911 | print_pal16c1_product_terms, |
| 1914 | 1912 | config_pal16c1_pins, |
| 1915 | 1913 | NULL, |
| 1916 | 1914 | NULL}, |
| 1917 | 1915 | {"PAL12L6", 384, |
| 1918 | | pal12l6pinfuserows, ARRAY_LEN(pal12l6pinfuserows), |
| 1919 | | pal12l6pinfusecolumns, ARRAY_LEN(pal12l6pinfusecolumns), |
| 1916 | pal12l6pinfuserows, ARRAY_LENGTH(pal12l6pinfuserows), |
| 1917 | pal12l6pinfusecolumns, ARRAY_LENGTH(pal12l6pinfusecolumns), |
| 1920 | 1918 | print_pal12l6_product_terms, |
| 1921 | 1919 | config_pal12l6_pins, |
| 1922 | 1920 | NULL, |
| 1923 | 1921 | NULL}, |
| 1924 | 1922 | {"PAL14L4", 448, |
| 1925 | | pal14l4pinfuserows, ARRAY_LEN(pal14l4pinfuserows), |
| 1926 | | pal14l4pinfusecolumns, ARRAY_LEN(pal14l4pinfusecolumns), |
| 1923 | pal14l4pinfuserows, ARRAY_LENGTH(pal14l4pinfuserows), |
| 1924 | pal14l4pinfusecolumns, ARRAY_LENGTH(pal14l4pinfusecolumns), |
| 1927 | 1925 | print_pal14l4_product_terms, |
| 1928 | 1926 | config_pal14l4_pins, |
| 1929 | 1927 | NULL, |
| 1930 | 1928 | NULL}, |
| 1931 | 1929 | {"PAL16L2", 512, |
| 1932 | | pal16l2pinfuserows, ARRAY_LEN(pal16l2pinfuserows), |
| 1933 | | pal16l2pinfusecolumns, ARRAY_LEN(pal16l2pinfusecolumns), |
| 1930 | pal16l2pinfuserows, ARRAY_LENGTH(pal16l2pinfuserows), |
| 1931 | pal16l2pinfusecolumns, ARRAY_LENGTH(pal16l2pinfusecolumns), |
| 1934 | 1932 | print_pal16l2_product_terms, |
| 1935 | 1933 | config_pal16l2_pins, |
| 1936 | 1934 | NULL, |
| 1937 | 1935 | NULL}, |
| 1938 | 1936 | /*{"15S8", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/ |
| 1939 | 1937 | {"PAL16L8", 2048, |
| 1940 | | pal16l8pinfuserows, ARRAY_LEN(pal16l8pinfuserows), |
| 1941 | | pal16l8pinfusecolumns, ARRAY_LEN(pal16l8pinfusecolumns), |
| 1938 | pal16l8pinfuserows, ARRAY_LENGTH(pal16l8pinfuserows), |
| 1939 | pal16l8pinfusecolumns, ARRAY_LENGTH(pal16l8pinfusecolumns), |
| 1942 | 1940 | print_pal16l8_product_terms, |
| 1943 | 1941 | config_pal16l8_pins, |
| 1944 | 1942 | NULL, |
| 1945 | 1943 | NULL}, |
| 1946 | 1944 | {"PAL16R4", 2048, |
| 1947 | | pal16r4pinfuserows, ARRAY_LEN(pal16r4pinfuserows), |
| 1948 | | pal16r4pinfusecolumns, ARRAY_LEN(pal16r4pinfusecolumns), |
| 1945 | pal16r4pinfuserows, ARRAY_LENGTH(pal16r4pinfuserows), |
| 1946 | pal16r4pinfusecolumns, ARRAY_LENGTH(pal16r4pinfusecolumns), |
| 1949 | 1947 | print_pal16r4_product_terms, |
| 1950 | 1948 | config_pal16r4_pins, |
| 1951 | 1949 | NULL, |
| 1952 | 1950 | NULL}, |
| 1953 | 1951 | {"PAL16R6", 2048, |
| 1954 | | pal16r6pinfuserows, ARRAY_LEN(pal16r6pinfuserows), |
| 1955 | | pal16r6pinfusecolumns, ARRAY_LEN(pal16r6pinfusecolumns), |
| 1952 | pal16r6pinfuserows, ARRAY_LENGTH(pal16r6pinfuserows), |
| 1953 | pal16r6pinfusecolumns, ARRAY_LENGTH(pal16r6pinfusecolumns), |
| 1956 | 1954 | print_pal16r6_product_terms, |
| 1957 | 1955 | config_pal16r6_pins, |
| 1958 | 1956 | NULL, |
| 1959 | 1957 | NULL}, |
| 1960 | 1958 | {"PAL16R8", 2048, |
| 1961 | | pal16r8pinfuserows, ARRAY_LEN(pal16r8pinfuserows), |
| 1962 | | pal16r8pinfusecolumns, ARRAY_LEN(pal16r8pinfusecolumns), |
| 1959 | pal16r8pinfuserows, ARRAY_LENGTH(pal16r8pinfuserows), |
| 1960 | pal16r8pinfusecolumns, ARRAY_LENGTH(pal16r8pinfusecolumns), |
| 1963 | 1961 | print_pal16r8_product_terms, |
| 1964 | 1962 | config_pal16r8_pins, |
| 1965 | 1963 | NULL, |
| r29231 | r29232 | |
| 1967 | 1965 | /*{"PAL16RA8", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL}, |
| 1968 | 1966 | {"PAL16V8R", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/ |
| 1969 | 1967 | {"PALCE16V8", 2194, |
| 1970 | | palce16v8pinfuserows, ARRAY_LEN(palce16v8pinfuserows), |
| 1971 | | palce16v8pinfusecolumns, ARRAY_LEN(palce16v8pinfusecolumns), |
| 1968 | palce16v8pinfuserows, ARRAY_LENGTH(palce16v8pinfuserows), |
| 1969 | palce16v8pinfusecolumns, ARRAY_LENGTH(palce16v8pinfusecolumns), |
| 1972 | 1970 | print_palce16v8_product_terms, |
| 1973 | 1971 | config_palce16v8_pins, |
| 1974 | 1972 | NULL, |
| 1975 | 1973 | NULL}, |
| 1976 | 1974 | {"GAL16V8", 2194, |
| 1977 | | gal16v8pinfuserows, ARRAY_LEN(gal16v8pinfuserows), |
| 1978 | | gal16v8pinfusecolumns, ARRAY_LEN(gal16v8pinfusecolumns), |
| 1975 | gal16v8pinfuserows, ARRAY_LENGTH(gal16v8pinfuserows), |
| 1976 | gal16v8pinfusecolumns, ARRAY_LENGTH(gal16v8pinfusecolumns), |
| 1979 | 1977 | print_gal16v8_product_terms, |
| 1980 | 1978 | config_gal16v8_pins, |
| 1981 | 1979 | is_gal16v8_product_term_enabled, |
| 1982 | 1980 | NULL}, |
| 1983 | 1981 | {"18CV8", 2696, |
| 1984 | | peel18cv8pinfuserows, ARRAY_LEN(peel18cv8pinfuserows), |
| 1985 | | peel18cv8pinfusecolumns, ARRAY_LEN(peel18cv8pinfusecolumns), |
| 1982 | peel18cv8pinfuserows, ARRAY_LENGTH(peel18cv8pinfuserows), |
| 1983 | peel18cv8pinfusecolumns, ARRAY_LENGTH(peel18cv8pinfusecolumns), |
| 1986 | 1984 | print_peel18cv8_product_terms, |
| 1987 | 1985 | config_peel18cv8_pins, |
| 1988 | 1986 | NULL, |
| 1989 | 1987 | get_peel18cv8_pin_fuse_state}, |
| 1990 | 1988 | {"GAL18V10", 3540, |
| 1991 | | gal18v10pinfuserows, ARRAY_LEN(gal18v10pinfuserows), |
| 1992 | | gal18v10pinfusecolumns, ARRAY_LEN(gal18v10pinfusecolumns), |
| 1989 | gal18v10pinfuserows, ARRAY_LENGTH(gal18v10pinfuserows), |
| 1990 | gal18v10pinfusecolumns, ARRAY_LENGTH(gal18v10pinfusecolumns), |
| 1993 | 1991 | print_gal18v10_product_terms, |
| 1994 | 1992 | config_gal18v10_pins, |
| 1995 | 1993 | NULL, |
| 1996 | 1994 | NULL}, |
| 1997 | 1995 | {"PAL20L8", 2560, |
| 1998 | | pal20l8pinfuserows, ARRAY_LEN(pal20l8pinfuserows), |
| 1999 | | pal20l8pinfusecolumns, ARRAY_LEN(pal20l8pinfusecolumns), |
| 1996 | pal20l8pinfuserows, ARRAY_LENGTH(pal20l8pinfuserows), |
| 1997 | pal20l8pinfusecolumns, ARRAY_LENGTH(pal20l8pinfusecolumns), |
| 2000 | 1998 | print_pal20l8_product_terms, |
| 2001 | 1999 | config_pal20l8_pins, |
| 2002 | 2000 | NULL, |
| 2003 | 2001 | NULL}, |
| 2004 | 2002 | {"PAL20L10", 1600, |
| 2005 | | pal20l10pinfuserows, ARRAY_LEN(pal20l10pinfuserows), |
| 2006 | | pal20l10pinfusecolumns, ARRAY_LEN(pal20l10pinfusecolumns), |
| 2003 | pal20l10pinfuserows, ARRAY_LENGTH(pal20l10pinfuserows), |
| 2004 | pal20l10pinfusecolumns, ARRAY_LENGTH(pal20l10pinfusecolumns), |
| 2007 | 2005 | print_pal20l10_product_terms, |
| 2008 | 2006 | config_pal20l10_pins, |
| 2009 | 2007 | NULL, |
| 2010 | 2008 | NULL}, |
| 2011 | 2009 | {"PAL20R4", 2560, |
| 2012 | | pal20r4pinfuserows, ARRAY_LEN(pal20r4pinfuserows), |
| 2013 | | pal20r4pinfusecolumns, ARRAY_LEN(pal20r4pinfusecolumns), |
| 2010 | pal20r4pinfuserows, ARRAY_LENGTH(pal20r4pinfuserows), |
| 2011 | pal20r4pinfusecolumns, ARRAY_LENGTH(pal20r4pinfusecolumns), |
| 2014 | 2012 | print_pal20r4_product_terms, |
| 2015 | 2013 | config_pal20r4_pins, |
| 2016 | 2014 | NULL, |
| 2017 | 2015 | NULL}, |
| 2018 | 2016 | {"PAL20R6", 2560, |
| 2019 | | pal20r6pinfuserows, ARRAY_LEN(pal20r6pinfuserows), |
| 2020 | | pal20r6pinfusecolumns, ARRAY_LEN(pal20r6pinfusecolumns), |
| 2017 | pal20r6pinfuserows, ARRAY_LENGTH(pal20r6pinfuserows), |
| 2018 | pal20r6pinfusecolumns, ARRAY_LENGTH(pal20r6pinfusecolumns), |
| 2021 | 2019 | print_pal20r6_product_terms, |
| 2022 | 2020 | config_pal20r6_pins, |
| 2023 | 2021 | NULL, |
| 2024 | 2022 | NULL}, |
| 2025 | 2023 | {"PAL20R8", 2560, |
| 2026 | | pal20r8pinfuserows, ARRAY_LEN(pal20r8pinfuserows), |
| 2027 | | pal20r8pinfusecolumns, ARRAY_LEN(pal20r8pinfusecolumns), |
| 2024 | pal20r8pinfuserows, ARRAY_LENGTH(pal20r8pinfuserows), |
| 2025 | pal20r8pinfusecolumns, ARRAY_LENGTH(pal20r8pinfusecolumns), |
| 2028 | 2026 | print_pal20r8_product_terms, |
| 2029 | 2027 | config_pal20r8_pins, |
| 2030 | 2028 | NULL, |
| 2031 | 2029 | NULL}, |
| 2032 | 2030 | {"PAL20X4", 1600, |
| 2033 | | pal20x4pinfuserows, ARRAY_LEN(pal20x4pinfuserows), |
| 2034 | | pal20x4pinfusecolumns, ARRAY_LEN(pal20x4pinfusecolumns), |
| 2031 | pal20x4pinfuserows, ARRAY_LENGTH(pal20x4pinfuserows), |
| 2032 | pal20x4pinfusecolumns, ARRAY_LENGTH(pal20x4pinfusecolumns), |
| 2035 | 2033 | print_pal20x4_product_terms, |
| 2036 | 2034 | config_pal20x4_pins, |
| 2037 | 2035 | NULL, |
| 2038 | 2036 | NULL}, |
| 2039 | 2037 | {"PAL20X8", 1600, |
| 2040 | | pal20x8pinfuserows, ARRAY_LEN(pal20x8pinfuserows), |
| 2041 | | pal20x8pinfusecolumns, ARRAY_LEN(pal20x8pinfusecolumns), |
| 2038 | pal20x8pinfuserows, ARRAY_LENGTH(pal20x8pinfuserows), |
| 2039 | pal20x8pinfusecolumns, ARRAY_LENGTH(pal20x8pinfusecolumns), |
| 2042 | 2040 | print_pal20x8_product_terms, |
| 2043 | 2041 | config_pal20x8_pins, |
| 2044 | 2042 | NULL, |
| 2045 | 2043 | NULL}, |
| 2046 | 2044 | {"PAL20X10", 1600, |
| 2047 | | pal20x10pinfuserows, ARRAY_LEN(pal20x10pinfuserows), |
| 2048 | | pal20x10pinfusecolumns, ARRAY_LEN(pal20x10pinfusecolumns), |
| 2045 | pal20x10pinfuserows, ARRAY_LENGTH(pal20x10pinfuserows), |
| 2046 | pal20x10pinfusecolumns, ARRAY_LENGTH(pal20x10pinfusecolumns), |
| 2049 | 2047 | print_pal20x10_product_terms, |
| 2050 | 2048 | config_pal20x10_pins, |
| 2051 | 2049 | NULL, |
| r29231 | r29232 | |
| 2055 | 2053 | {"GAL22V10", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL}, |
| 2056 | 2054 | {"PLS100", 0, NULL, 0, NULL, 0, NULL, NULL, NULL, NULL},*/ |
| 2057 | 2055 | {"82S153", 1842, |
| 2058 | | _82s153_pls153pinfuserows, ARRAY_LEN(_82s153_pls153pinfuserows), |
| 2059 | | _82s153_pls153pinfusecolumns, ARRAY_LEN(_82s153_pls153pinfusecolumns), |
| 2056 | _82s153_pls153pinfuserows, ARRAY_LENGTH(_82s153_pls153pinfuserows), |
| 2057 | _82s153_pls153pinfusecolumns, ARRAY_LENGTH(_82s153_pls153pinfusecolumns), |
| 2060 | 2058 | print_82s153_pls153_product_terms, |
| 2061 | 2059 | config_82s153_pls153_pins, |
| 2062 | 2060 | NULL, |
| 2063 | 2061 | NULL}, |
| 2064 | 2062 | {"PLS153", 1842, |
| 2065 | | _82s153_pls153pinfuserows, ARRAY_LEN(_82s153_pls153pinfuserows), |
| 2066 | | _82s153_pls153pinfusecolumns, ARRAY_LEN(_82s153_pls153pinfusecolumns), |
| 2063 | _82s153_pls153pinfuserows, ARRAY_LENGTH(_82s153_pls153pinfuserows), |
| 2064 | _82s153_pls153pinfusecolumns, ARRAY_LENGTH(_82s153_pls153pinfusecolumns), |
| 2067 | 2065 | print_82s153_pls153_product_terms, |
| 2068 | 2066 | config_82s153_pls153_pins, |
| 2069 | 2067 | NULL, |
| 2070 | 2068 | NULL}, |
| 2071 | 2069 | {"CK2605", 1106, |
| 2072 | | ck2605pinfuserows, ARRAY_LEN(ck2605pinfuserows), |
| 2073 | | ck2605pinfusecolumns, ARRAY_LEN(ck2605pinfusecolumns), |
| 2070 | ck2605pinfuserows, ARRAY_LENGTH(ck2605pinfuserows), |
| 2071 | ck2605pinfusecolumns, ARRAY_LENGTH(ck2605pinfusecolumns), |
| 2074 | 2072 | print_ck2605_product_terms, |
| 2075 | 2073 | config_ck2605_pins, |
| 2076 | 2074 | NULL, |
| 2077 | 2075 | NULL}, |
| 2078 | 2076 | #if defined(ricoh_pals) |
| 2079 | 2077 | {"EPL10P8", 664, |
| 2080 | | epl10p8pinfuserows, ARRAY_LEN(epl10p8pinfuserows), |
| 2081 | | epl10p8pinfusecolumns, ARRAY_LEN(epl10p8pinfusecolumns), |
| 2078 | epl10p8pinfuserows, ARRAY_LENGTH(epl10p8pinfuserows), |
| 2079 | epl10p8pinfusecolumns, ARRAY_LENGTH(epl10p8pinfusecolumns), |
| 2082 | 2080 | print_epl10p8_product_terms, |
| 2083 | 2081 | config_epl10p8_pins, |
| 2084 | 2082 | NULL, |
| 2085 | 2083 | NULL}, |
| 2086 | 2084 | {"EPL12P6", 786, |
| 2087 | | epl12p6pinfuserows, ARRAY_LEN(epl12p6pinfuserows), |
| 2088 | | epl12p6pinfusecolumns, ARRAY_LEN(epl12p6pinfusecolumns), |
| 2085 | epl12p6pinfuserows, ARRAY_LENGTH(epl12p6pinfuserows), |
| 2086 | epl12p6pinfusecolumns, ARRAY_LENGTH(epl12p6pinfusecolumns), |
| 2089 | 2087 | print_epl12p6_product_terms, |
| 2090 | 2088 | config_epl12p6_pins, |
| 2091 | 2089 | NULL, |
| 2092 | 2090 | NULL}, |
| 2093 | 2091 | {"EPL14P4", 908, |
| 2094 | | epl14p4pinfuserows, ARRAY_LEN(epl14p4pinfuserows), |
| 2095 | | epl14p4pinfusecolumns, ARRAY_LEN(epl14p4pinfusecolumns), |
| 2092 | epl14p4pinfuserows, ARRAY_LENGTH(epl14p4pinfuserows), |
| 2093 | epl14p4pinfusecolumns, ARRAY_LENGTH(epl14p4pinfusecolumns), |
| 2096 | 2094 | print_epl14p4_product_terms, |
| 2097 | 2095 | config_epl14p4_pins, |
| 2098 | 2096 | NULL, |
| 2099 | 2097 | NULL}, |
| 2100 | 2098 | {"EPL16P2", 1030, |
| 2101 | | epl16p2pinfuserows, ARRAY_LEN(epl16p2pinfuserows), |
| 2102 | | epl16p2pinfusecolumns, ARRAY_LEN(epl16p2pinfusecolumns), |
| 2099 | epl16p2pinfuserows, ARRAY_LENGTH(epl16p2pinfuserows), |
| 2100 | epl16p2pinfusecolumns, ARRAY_LENGTH(epl16p2pinfusecolumns), |
| 2103 | 2101 | print_epl16p2_product_terms, |
| 2104 | 2102 | config_epl16p2_pins, |
| 2105 | 2103 | NULL, |
| 2106 | 2104 | NULL}, |
| 2107 | 2105 | {"EPL16P8", 2072, |
| 2108 | | epl16p8pinfuserows, ARRAY_LEN(epl16p8pinfuserows), |
| 2109 | | epl16p8pinfusecolumns, ARRAY_LEN(epl16p8pinfusecolumns), |
| 2106 | epl16p8pinfuserows, ARRAY_LENGTH(epl16p8pinfuserows), |
| 2107 | epl16p8pinfusecolumns, ARRAY_LENGTH(epl16p8pinfusecolumns), |
| 2110 | 2108 | print_epl16p8_product_terms, |
| 2111 | 2109 | config_epl16p8_pins, |
| 2112 | 2110 | NULL, |
| 2113 | 2111 | NULL}, |
| 2114 | 2112 | {"EPL16RP8", 2072, |
| 2115 | | epl16rp8pinfuserows, ARRAY_LEN(epl16rp8pinfuserows), |
| 2116 | | epl16rp8pinfusecolumns, ARRAY_LEN(epl16rp8pinfusecolumns), |
| 2113 | epl16rp8pinfuserows, ARRAY_LENGTH(epl16rp8pinfuserows), |
| 2114 | epl16rp8pinfusecolumns, ARRAY_LENGTH(epl16rp8pinfusecolumns), |
| 2117 | 2115 | print_epl16rp8_product_terms, |
| 2118 | 2116 | config_epl16rp8_pins, |
| 2119 | 2117 | NULL, |
| 2120 | 2118 | NULL}, |
| 2121 | 2119 | {"EPL16RP6", 2072, |
| 2122 | | epl16rp6pinfuserows, ARRAY_LEN(epl16rp6pinfuserows), |
| 2123 | | epl16rp6pinfusecolumns, ARRAY_LEN(epl16rp6pinfusecolumns), |
| 2120 | epl16rp6pinfuserows, ARRAY_LENGTH(epl16rp6pinfuserows), |
| 2121 | epl16rp6pinfusecolumns, ARRAY_LENGTH(epl16rp6pinfusecolumns), |
| 2124 | 2122 | print_epl16rp6_product_terms, |
| 2125 | 2123 | config_epl16rp6_pins, |
| 2126 | 2124 | NULL, |
| 2127 | 2125 | NULL}, |
| 2128 | 2126 | {"EPL16RP4", 2072, |
| 2129 | | epl16rp4pinfuserows, ARRAY_LEN(epl16rp4pinfuserows), |
| 2130 | | epl16rp4pinfusecolumns, ARRAY_LEN(epl16rp4pinfusecolumns), |
| 2127 | epl16rp4pinfuserows, ARRAY_LENGTH(epl16rp4pinfuserows), |
| 2128 | epl16rp4pinfusecolumns, ARRAY_LENGTH(epl16rp4pinfusecolumns), |
| 2131 | 2129 | print_epl16rp4_product_terms, |
| 2132 | 2130 | config_epl16rp4_pins, |
| 2133 | 2131 | NULL, |
| 2134 | 2132 | NULL}, |
| 2135 | 2133 | #endif |
| 2136 | 2134 | {"PAL10P8", 328, |
| 2137 | | pal10p8pinfuserows, ARRAY_LEN(pal10p8pinfuserows), |
| 2138 | | pal10p8pinfusecolumns, ARRAY_LEN(pal10p8pinfusecolumns), |
| 2135 | pal10p8pinfuserows, ARRAY_LENGTH(pal10p8pinfuserows), |
| 2136 | pal10p8pinfusecolumns, ARRAY_LENGTH(pal10p8pinfusecolumns), |
| 2139 | 2137 | print_pal10p8_product_terms, |
| 2140 | 2138 | config_pal10p8_pins, |
| 2141 | 2139 | NULL, |
| 2142 | 2140 | NULL}, |
| 2143 | 2141 | {"PAL12P6", 390, |
| 2144 | | pal12p6pinfuserows, ARRAY_LEN(pal12p6pinfuserows), |
| 2145 | | pal12p6pinfusecolumns, ARRAY_LEN(pal12p6pinfusecolumns), |
| 2142 | pal12p6pinfuserows, ARRAY_LENGTH(pal12p6pinfuserows), |
| 2143 | pal12p6pinfusecolumns, ARRAY_LENGTH(pal12p6pinfusecolumns), |
| 2146 | 2144 | print_pal12p6_product_terms, |
| 2147 | 2145 | config_pal12p6_pins, |
| 2148 | 2146 | NULL, |
| 2149 | 2147 | NULL}, |
| 2150 | 2148 | {"PAL14P4", 452, |
| 2151 | | pal14p4pinfuserows, ARRAY_LEN(pal14p4pinfuserows), |
| 2152 | | pal14p4pinfusecolumns, ARRAY_LEN(pal14p4pinfusecolumns), |
| 2149 | pal14p4pinfuserows, ARRAY_LENGTH(pal14p4pinfuserows), |
| 2150 | pal14p4pinfusecolumns, ARRAY_LENGTH(pal14p4pinfusecolumns), |
| 2153 | 2151 | print_pal14p4_product_terms, |
| 2154 | 2152 | config_pal14p4_pins, |
| 2155 | 2153 | NULL, |
| 2156 | 2154 | NULL}, |
| 2157 | 2155 | {"PAL16P2", 514, |
| 2158 | | pal16p2pinfuserows, ARRAY_LEN(pal16p2pinfuserows), |
| 2159 | | pal16p2pinfusecolumns, ARRAY_LEN(pal16p2pinfusecolumns), |
| 2156 | pal16p2pinfuserows, ARRAY_LENGTH(pal16p2pinfuserows), |
| 2157 | pal16p2pinfusecolumns, ARRAY_LENGTH(pal16p2pinfusecolumns), |
| 2160 | 2158 | print_pal16p2_product_terms, |
| 2161 | 2159 | config_pal16p2_pins, |
| 2162 | 2160 | NULL, |
| 2163 | 2161 | NULL}, |
| 2164 | 2162 | {"PAL16P8", 2056, |
| 2165 | | pal16p8pinfuserows, ARRAY_LEN(pal16p8pinfuserows), |
| 2166 | | pal16p8pinfusecolumns, ARRAY_LEN(pal16p8pinfusecolumns), |
| 2163 | pal16p8pinfuserows, ARRAY_LENGTH(pal16p8pinfuserows), |
| 2164 | pal16p8pinfusecolumns, ARRAY_LENGTH(pal16p8pinfusecolumns), |
| 2167 | 2165 | print_pal16p8_product_terms, |
| 2168 | 2166 | config_pal16p8_pins, |
| 2169 | 2167 | NULL, |
| 2170 | 2168 | NULL}, |
| 2171 | 2169 | {"PAL16RP4", 2056, |
| 2172 | | pal16rp4pinfuserows, ARRAY_LEN(pal16rp4pinfuserows), |
| 2173 | | pal16rp4pinfusecolumns, ARRAY_LEN(pal16rp4pinfusecolumns), |
| 2170 | pal16rp4pinfuserows, ARRAY_LENGTH(pal16rp4pinfuserows), |
| 2171 | pal16rp4pinfusecolumns, ARRAY_LENGTH(pal16rp4pinfusecolumns), |
| 2174 | 2172 | print_pal16rp4_product_terms, |
| 2175 | 2173 | config_pal16rp4_pins, |
| 2176 | 2174 | NULL, |
| 2177 | 2175 | NULL}, |
| 2178 | 2176 | {"PAL16RP6", 2056, |
| 2179 | | pal16rp6pinfuserows, ARRAY_LEN(pal16rp6pinfuserows), |
| 2180 | | pal16rp6pinfusecolumns, ARRAY_LEN(pal16rp6pinfusecolumns), |
| 2177 | pal16rp6pinfuserows, ARRAY_LENGTH(pal16rp6pinfuserows), |
| 2178 | pal16rp6pinfusecolumns, ARRAY_LENGTH(pal16rp6pinfusecolumns), |
| 2181 | 2179 | print_pal16rp6_product_terms, |
| 2182 | 2180 | config_pal16rp6_pins, |
| 2183 | 2181 | NULL, |
| 2184 | 2182 | NULL}, |
| 2185 | 2183 | {"PAL16RP8", 2056, |
| 2186 | | pal16rp8pinfuserows, ARRAY_LEN(pal16rp8pinfuserows), |
| 2187 | | pal16rp8pinfusecolumns, ARRAY_LEN(pal16rp8pinfusecolumns), |
| 2184 | pal16rp8pinfuserows, ARRAY_LENGTH(pal16rp8pinfuserows), |
| 2185 | pal16rp8pinfusecolumns, ARRAY_LENGTH(pal16rp8pinfusecolumns), |
| 2188 | 2186 | print_pal16rp8_product_terms, |
| 2189 | 2187 | config_pal16rp8_pins, |
| 2190 | 2188 | NULL, |
| 2191 | 2189 | NULL}, |
| 2192 | 2190 | {"PAL6L16", 192, |
| 2193 | | pal6l16pinfuserows, ARRAY_LEN(pal6l16pinfuserows), |
| 2194 | | pal6l16pinfusecolumns, ARRAY_LEN(pal6l16pinfusecolumns), |
| 2191 | pal6l16pinfuserows, ARRAY_LENGTH(pal6l16pinfuserows), |
| 2192 | pal6l16pinfusecolumns, ARRAY_LENGTH(pal6l16pinfusecolumns), |
| 2195 | 2193 | print_pal6l16_product_terms, |
| 2196 | 2194 | config_pal6l16_pins, |
| 2197 | 2195 | NULL, |
| 2198 | 2196 | NULL}, |
| 2199 | 2197 | {"PAL8L14", 224, |
| 2200 | | pal8l14pinfuserows, ARRAY_LEN(pal8l14pinfuserows), |
| 2201 | | pal8l14pinfusecolumns, ARRAY_LEN(pal8l14pinfusecolumns), |
| 2198 | pal8l14pinfuserows, ARRAY_LENGTH(pal8l14pinfuserows), |
| 2199 | pal8l14pinfusecolumns, ARRAY_LENGTH(pal8l14pinfusecolumns), |
| 2202 | 2200 | print_pal8l14_product_terms, |
| 2203 | 2201 | config_pal8l14_pins, |
| 2204 | 2202 | NULL, |
| 2205 | 2203 | NULL}, |
| 2206 | 2204 | {"PAL12H10", 480, |
| 2207 | | pal12h10pinfuserows, ARRAY_LEN(pal12h10pinfuserows), |
| 2208 | | pal12h10pinfusecolumns, ARRAY_LEN(pal12h10pinfusecolumns), |
| 2205 | pal12h10pinfuserows, ARRAY_LENGTH(pal12h10pinfuserows), |
| 2206 | pal12h10pinfusecolumns, ARRAY_LENGTH(pal12h10pinfusecolumns), |
| 2209 | 2207 | print_pal12h10_product_terms, |
| 2210 | 2208 | config_pal12h10_pins, |
| 2211 | 2209 | NULL, |
| 2212 | 2210 | NULL}, |
| 2213 | 2211 | {"PAL12L10", 480, |
| 2214 | | pal12l10pinfuserows, ARRAY_LEN(pal12l10pinfuserows), |
| 2215 | | pal12l10pinfusecolumns, ARRAY_LEN(pal12l10pinfusecolumns), |
| 2212 | pal12l10pinfuserows, ARRAY_LENGTH(pal12l10pinfuserows), |
| 2213 | pal12l10pinfusecolumns, ARRAY_LENGTH(pal12l10pinfusecolumns), |
| 2216 | 2214 | print_pal12l10_product_terms, |
| 2217 | 2215 | config_pal12l10_pins, |
| 2218 | 2216 | NULL, |
| 2219 | 2217 | NULL}, |
| 2220 | 2218 | {"PAL14H8", 560, |
| 2221 | | pal14h8pinfuserows, ARRAY_LEN(pal14h8pinfuserows), |
| 2222 | | pal14h8pinfusecolumns, ARRAY_LEN(pal14h8pinfusecolumns), |
| 2219 | pal14h8pinfuserows, ARRAY_LENGTH(pal14h8pinfuserows), |
| 2220 | pal14h8pinfusecolumns, ARRAY_LENGTH(pal14h8pinfusecolumns), |
| 2223 | 2221 | print_pal14h8_product_terms, |
| 2224 | 2222 | config_pal14h8_pins, |
| 2225 | 2223 | NULL, |
| 2226 | 2224 | NULL}, |
| 2227 | 2225 | {"PAL14L8", 560, |
| 2228 | | pal14l8pinfuserows, ARRAY_LEN(pal14l8pinfuserows), |
| 2229 | | pal14l8pinfusecolumns, ARRAY_LEN(pal14l8pinfusecolumns), |
| 2226 | pal14l8pinfuserows, ARRAY_LENGTH(pal14l8pinfuserows), |
| 2227 | pal14l8pinfusecolumns, ARRAY_LENGTH(pal14l8pinfusecolumns), |
| 2230 | 2228 | print_pal14l8_product_terms, |
| 2231 | 2229 | config_pal14l8_pins, |
| 2232 | 2230 | NULL, |
| 2233 | 2231 | NULL}, |
| 2234 | 2232 | {"PAL16H6", 640, |
| 2235 | | pal16h6pinfuserows, ARRAY_LEN(pal16h6pinfuserows), |
| 2236 | | pal16h6pinfusecolumns, ARRAY_LEN(pal16h6pinfusecolumns), |
| 2233 | pal16h6pinfuserows, ARRAY_LENGTH(pal16h6pinfuserows), |
| 2234 | pal16h6pinfusecolumns, ARRAY_LENGTH(pal16h6pinfusecolumns), |
| 2237 | 2235 | print_pal16h6_product_terms, |
| 2238 | 2236 | config_pal16h6_pins, |
| 2239 | 2237 | NULL, |
| 2240 | 2238 | NULL}, |
| 2241 | 2239 | {"PAL16L6", 640, |
| 2242 | | pal16l6pinfuserows, ARRAY_LEN(pal16l6pinfuserows), |
| 2243 | | pal16l6pinfusecolumns, ARRAY_LEN(pal16l6pinfusecolumns), |
| 2240 | pal16l6pinfuserows, ARRAY_LENGTH(pal16l6pinfuserows), |
| 2241 | pal16l6pinfusecolumns, ARRAY_LENGTH(pal16l6pinfusecolumns), |
| 2244 | 2242 | print_pal16l6_product_terms, |
| 2245 | 2243 | config_pal16l6_pins, |
| 2246 | 2244 | NULL, |
| 2247 | 2245 | NULL}, |
| 2248 | 2246 | {"PAL18H4", 720, |
| 2249 | | pal18h4pinfuserows, ARRAY_LEN(pal18h4pinfuserows), |
| 2250 | | pal18h4pinfusecolumns, ARRAY_LEN(pal18h4pinfusecolumns), |
| 2247 | pal18h4pinfuserows, ARRAY_LENGTH(pal18h4pinfuserows), |
| 2248 | pal18h4pinfusecolumns, ARRAY_LENGTH(pal18h4pinfusecolumns), |
| 2251 | 2249 | print_pal18h4_product_terms, |
| 2252 | 2250 | config_pal18h4_pins, |
| 2253 | 2251 | NULL, |
| 2254 | 2252 | NULL}, |
| 2255 | 2253 | {"PAL18L4", 720, |
| 2256 | | pal18l4pinfuserows, ARRAY_LEN(pal18l4pinfuserows), |
| 2257 | | pal18l4pinfusecolumns, ARRAY_LEN(pal18l4pinfusecolumns), |
| 2254 | pal18l4pinfuserows, ARRAY_LENGTH(pal18l4pinfuserows), |
| 2255 | pal18l4pinfusecolumns, ARRAY_LENGTH(pal18l4pinfusecolumns), |
| 2258 | 2256 | print_pal18l4_product_terms, |
| 2259 | 2257 | config_pal18l4_pins, |
| 2260 | 2258 | NULL, |
| 2261 | 2259 | NULL}, |
| 2262 | 2260 | {"PAL20C1", 640, |
| 2263 | | pal20c1pinfuserows, ARRAY_LEN(pal20c1pinfuserows), |
| 2264 | | pal20c1pinfusecolumns, ARRAY_LEN(pal20c1pinfusecolumns), |
| 2261 | pal20c1pinfuserows, ARRAY_LENGTH(pal20c1pinfuserows), |
| 2262 | pal20c1pinfusecolumns, ARRAY_LENGTH(pal20c1pinfusecolumns), |
| 2265 | 2263 | print_pal20c1_product_terms, |
| 2266 | 2264 | config_pal20c1_pins, |
| 2267 | 2265 | NULL, |
| 2268 | 2266 | NULL}, |
| 2269 | 2267 | {"PAL20L2", 640, |
| 2270 | | pal20l2pinfuserows, ARRAY_LEN(pal20l2pinfuserows), |
| 2271 | | pal20l2pinfusecolumns, ARRAY_LEN(pal20l2pinfusecolumns), |
| 2268 | pal20l2pinfuserows, ARRAY_LENGTH(pal20l2pinfuserows), |
| 2269 | pal20l2pinfusecolumns, ARRAY_LENGTH(pal20l2pinfusecolumns), |
| 2272 | 2270 | print_pal20l2_product_terms, |
| 2273 | 2271 | config_pal20l2_pins, |
| 2274 | 2272 | NULL, |
| r29231 | r29232 | |
| 2327 | 2325 | { |
| 2328 | 2326 | int index; |
| 2329 | 2327 | |
| 2330 | | for (index = 0; index < ARRAY_LEN(paldata); ++index) |
| 2328 | for (index = 0; index < ARRAY_LENGTH(paldata); ++index) |
| 2331 | 2329 | { |
| 2332 | 2330 | if (!core_stricmp(name, paldata[index].name)) |
| 2333 | 2331 | { |
| r29231 | r29232 | |
| 2987 | 2985 | {19, 0, 32, 224}}; |
| 2988 | 2986 | UINT16 index; |
| 2989 | 2987 | |
| 2990 | | for (index = 0; index < ARRAY_LEN(pinfuserows); ++index) |
| 2988 | for (index = 0; index < ARRAY_LENGTH(pinfuserows); ++index) |
| 2991 | 2989 | { |
| 2992 | 2990 | if (pinfuserows[index].pin == pin) |
| 2993 | 2991 | { |
| r29231 | r29232 | |
| 3021 | 3019 | {19, NO_OUTPUT_ENABLE_FUSE_ROW, 0, 224}}; |
| 3022 | 3020 | UINT16 index; |
| 3023 | 3021 | |
| 3024 | | for (index = 0; index < ARRAY_LEN(pinfuserows); ++index) |
| 3022 | for (index = 0; index < ARRAY_LENGTH(pinfuserows); ++index) |
| 3025 | 3023 | { |
| 3026 | 3024 | if (pinfuserows[index].pin == pin) |
| 3027 | 3025 | { |
| r29231 | r29232 | |
| 3787 | 3785 | |
| 3788 | 3786 | printf("Equations:\n\n"); |
| 3789 | 3787 | |
| 3790 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 3788 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 3791 | 3789 | { |
| 3792 | 3790 | flags = outputpins[index].flags; |
| 3793 | 3791 | |
| r29231 | r29232 | |
| 4246 | 4244 | {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4247 | 4245 | {19, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4248 | 4246 | |
| 4249 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4250 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4247 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4248 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4251 | 4249 | } |
| 4252 | 4250 | |
| 4253 | 4251 | |
| r29231 | r29232 | |
| 4270 | 4268 | {18, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4271 | 4269 | {19, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4272 | 4270 | |
| 4273 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4274 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4271 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4272 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4275 | 4273 | } |
| 4276 | 4274 | |
| 4277 | 4275 | |
| r29231 | r29232 | |
| 4292 | 4290 | {17, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4293 | 4291 | {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4294 | 4292 | |
| 4295 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4296 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4293 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4294 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4297 | 4295 | } |
| 4298 | 4296 | |
| 4299 | 4297 | |
| r29231 | r29232 | |
| 4314 | 4312 | {17, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4315 | 4313 | {18, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4316 | 4314 | |
| 4317 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4318 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4315 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4316 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4319 | 4317 | } |
| 4320 | 4318 | |
| 4321 | 4319 | |
| r29231 | r29232 | |
| 4334 | 4332 | {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4335 | 4333 | {17, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4336 | 4334 | |
| 4337 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4338 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4335 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4336 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4339 | 4337 | } |
| 4340 | 4338 | |
| 4341 | 4339 | |
| r29231 | r29232 | |
| 4354 | 4352 | {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4355 | 4353 | {17, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4356 | 4354 | |
| 4357 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4358 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4355 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4356 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4359 | 4357 | } |
| 4360 | 4358 | |
| 4361 | 4359 | |
| r29231 | r29232 | |
| 4372 | 4370 | {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4373 | 4371 | {16, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4374 | 4372 | |
| 4375 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4376 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4373 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4374 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4377 | 4375 | } |
| 4378 | 4376 | |
| 4379 | 4377 | |
| r29231 | r29232 | |
| 4390 | 4388 | {15, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4391 | 4389 | {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4392 | 4390 | |
| 4393 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4394 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4391 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4392 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4395 | 4393 | } |
| 4396 | 4394 | |
| 4397 | 4395 | |
| r29231 | r29232 | |
| 4408 | 4406 | {15, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 4409 | 4407 | {16, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 4410 | 4408 | |
| 4411 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4412 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4409 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4410 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4413 | 4411 | } |
| 4414 | 4412 | |
| 4415 | 4413 | |
| r29231 | r29232 | |
| 4438 | 4436 | } |
| 4439 | 4437 | } |
| 4440 | 4438 | |
| 4441 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4439 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4442 | 4440 | set_output_pins(output_pins, output_pin_count); |
| 4443 | 4441 | } |
| 4444 | 4442 | |
| r29231 | r29232 | |
| 4474 | 4472 | ++output_pin_count; |
| 4475 | 4473 | } |
| 4476 | 4474 | |
| 4477 | | for (index = 0; index < ARRAY_LEN(registered_pins); ++index) |
| 4475 | for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) |
| 4478 | 4476 | { |
| 4479 | 4477 | output_pins[output_pin_count].pin = registered_pins[index]; |
| 4480 | 4478 | output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; |
| r29231 | r29232 | |
| 4498 | 4496 | ++output_pin_count; |
| 4499 | 4497 | } |
| 4500 | 4498 | |
| 4501 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4499 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4502 | 4500 | set_output_pins(output_pins, output_pin_count); |
| 4503 | 4501 | } |
| 4504 | 4502 | |
| r29231 | r29232 | |
| 4526 | 4524 | ++output_pin_count; |
| 4527 | 4525 | } |
| 4528 | 4526 | |
| 4529 | | for (index = 0; index < ARRAY_LEN(registered_pins); ++index) |
| 4527 | for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) |
| 4530 | 4528 | { |
| 4531 | 4529 | output_pins[output_pin_count].pin = registered_pins[index]; |
| 4532 | 4530 | output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; |
| r29231 | r29232 | |
| 4542 | 4540 | ++output_pin_count; |
| 4543 | 4541 | } |
| 4544 | 4542 | |
| 4545 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4543 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4546 | 4544 | set_output_pins(output_pins, output_pin_count); |
| 4547 | 4545 | } |
| 4548 | 4546 | |
| r29231 | r29232 | |
| 4566 | 4564 | {18, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, |
| 4567 | 4565 | {19, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; |
| 4568 | 4566 | |
| 4569 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 4570 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 4567 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 4568 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 4571 | 4569 | } |
| 4572 | 4570 | |
| 4573 | 4571 | |
| r29231 | r29232 | |
| 4654 | 4652 | static UINT16 sg0 = 2192; |
| 4655 | 4653 | static UINT16 sg1 = 2193; |
| 4656 | 4654 | UINT16 input_pins[18]; |
| 4657 | | pin_output_config output_pins[ARRAY_LEN(macrocells)]; |
| 4655 | pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; |
| 4658 | 4656 | UINT16 index, input_pin_count, output_pin_count; |
| 4659 | 4657 | |
| 4660 | 4658 | input_pin_count = 0; |
| r29231 | r29232 | |
| 4670 | 4668 | |
| 4671 | 4669 | memcpy(input_pins, input_pins_regs, sizeof(input_pins_regs)); |
| 4672 | 4670 | |
| 4673 | | input_pin_count = ARRAY_LEN(input_pins_regs); |
| 4671 | input_pin_count = ARRAY_LENGTH(input_pins_regs); |
| 4674 | 4672 | |
| 4675 | | for (index = 0; index < ARRAY_LEN(macrocells); ++index) |
| 4673 | for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) |
| 4676 | 4674 | { |
| 4677 | 4675 | if (!jed_get_fuse(jed, macrocells[index].sl0_fuse)) |
| 4678 | 4676 | { |
| r29231 | r29232 | |
| 4744 | 4742 | |
| 4745 | 4743 | memcpy(input_pins, input_pins_io, sizeof(input_pins_io)); |
| 4746 | 4744 | |
| 4747 | | input_pin_count = ARRAY_LEN(input_pins_io); |
| 4745 | input_pin_count = ARRAY_LENGTH(input_pins_io); |
| 4748 | 4746 | |
| 4749 | | for (index = 0; index < ARRAY_LEN(macrocells); ++index) |
| 4747 | for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) |
| 4750 | 4748 | { |
| 4751 | 4749 | if (does_output_enable_fuse_row_allow_output(pal, jed, macrocells[index].fuserowoutputenable)) |
| 4752 | 4750 | { |
| r29231 | r29232 | |
| 4785 | 4783 | |
| 4786 | 4784 | memcpy(input_pins, input_pins_i_or_o, sizeof(input_pins_i_or_o)); |
| 4787 | 4785 | |
| 4788 | | input_pin_count = ARRAY_LEN(input_pins_i_or_o); |
| 4786 | input_pin_count = ARRAY_LENGTH(input_pins_i_or_o); |
| 4789 | 4787 | |
| 4790 | | for (index = 0; index < ARRAY_LEN(macrocells); ++index) |
| 4788 | for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) |
| 4791 | 4789 | { |
| 4792 | 4790 | if (!jed_get_fuse(jed, macrocells[index].sl0_fuse)) |
| 4793 | 4791 | { |
| r29231 | r29232 | |
| 4934 | 4932 | static UINT16 input_pins_registered[] = {2, 3, 4, 5, 6, 7, 8, 9, 12, 13, 14, 15, 16, 17, 18, 19}; |
| 4935 | 4933 | static UINT16 input_pins_combinatorialcomplex[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17, 18}; |
| 4936 | 4934 | static UINT16 input_pins_combinatorialsimple[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 17, 18, 19}; |
| 4937 | | pin_output_config output_pins[ARRAY_LEN(macrocells)]; |
| 4935 | pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; |
| 4938 | 4936 | UINT16 index, output_pin_count; |
| 4939 | 4937 | |
| 4940 | 4938 | output_pin_count = 0; |
| r29231 | r29232 | |
| 4950 | 4948 | { |
| 4951 | 4949 | /* Complex Mode */ |
| 4952 | 4950 | |
| 4953 | | set_input_pins(input_pins_combinatorialcomplex, ARRAY_LEN(input_pins_combinatorialcomplex)); |
| 4951 | set_input_pins(input_pins_combinatorialcomplex, ARRAY_LENGTH(input_pins_combinatorialcomplex)); |
| 4954 | 4952 | |
| 4955 | 4953 | memcpy(gal16v8pinfuserows, pinfuserows_combinatorial, sizeof(pinfuserows_combinatorial)); |
| 4956 | 4954 | memcpy(gal16v8pinfusecolumns, pinfusecolumns_combinatorialcomplex, sizeof(pinfusecolumns_combinatorialcomplex)); |
| 4957 | 4955 | |
| 4958 | | for (index = 0; index < ARRAY_LEN(macrocells); ++index) |
| 4956 | for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) |
| 4959 | 4957 | { |
| 4960 | 4958 | if (is_gal16v8_product_term_enabled(pal, jed, pal->pinfuserows[index].fuserowoutputenable) && |
| 4961 | 4959 | does_output_enable_fuse_row_allow_output(pal, jed, pal->pinfuserows[index].fuserowoutputenable)) |
| r29231 | r29232 | |
| 4990 | 4988 | { |
| 4991 | 4989 | /* Simple Mode */ |
| 4992 | 4990 | |
| 4993 | | set_input_pins(input_pins_combinatorialsimple, ARRAY_LEN(input_pins_combinatorialsimple)); |
| 4991 | set_input_pins(input_pins_combinatorialsimple, ARRAY_LENGTH(input_pins_combinatorialsimple)); |
| 4994 | 4992 | |
| 4995 | 4993 | memcpy(gal16v8pinfuserows, pinfuserows_registered, sizeof(pinfuserows_registered)); |
| 4996 | 4994 | memcpy(gal16v8pinfusecolumns, pinfusecolumns_combinatorialsimple, sizeof(pinfusecolumns_combinatorialsimple)); |
| 4997 | 4995 | |
| 4998 | | for (index = 0; index < ARRAY_LEN(macrocells); ++index) |
| 4996 | for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) |
| 4999 | 4997 | { |
| 5000 | 4998 | if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) |
| 5001 | 4999 | { |
| r29231 | r29232 | |
| 5040 | 5038 | { |
| 5041 | 5039 | /* Registered */ |
| 5042 | 5040 | |
| 5043 | | set_input_pins(input_pins_registered, ARRAY_LEN(input_pins_registered)); |
| 5041 | set_input_pins(input_pins_registered, ARRAY_LENGTH(input_pins_registered)); |
| 5044 | 5042 | |
| 5045 | 5043 | memcpy(gal16v8pinfusecolumns, pinfusecolumns_registered, sizeof(pinfusecolumns_registered)); |
| 5046 | 5044 | |
| 5047 | | for (index = 0; index < ARRAY_LEN(macrocells); ++index) |
| 5045 | for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) |
| 5048 | 5046 | { |
| 5049 | 5047 | if (jed_get_fuse(jed, macrocells[index].ac1_fuse)) |
| 5050 | 5048 | { |
| r29231 | r29232 | |
| 5129 | 5127 | {18, 2668, 2669, 2670, 2671}, |
| 5130 | 5128 | {19, 2664, 2665, 2666, 2667}}; |
| 5131 | 5129 | static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19}; |
| 5132 | | pin_output_config output_pins[ARRAY_LEN(macrocells)]; |
| 5130 | pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; |
| 5133 | 5131 | UINT16 index, output_pin_count; |
| 5134 | 5132 | |
| 5135 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5133 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5136 | 5134 | |
| 5137 | 5135 | output_pin_count = 0; |
| 5138 | 5136 | |
| 5139 | | for (index = 0; index < ARRAY_LEN(macrocells); ++index) |
| 5137 | for (index = 0; index < ARRAY_LENGTH(macrocells); ++index) |
| 5140 | 5138 | { |
| 5141 | 5139 | if (jed_get_fuse(jed, macrocells[index].feedback1_fuse) && |
| 5142 | 5140 | !jed_get_fuse(jed, macrocells[index].feedback2_fuse)) |
| r29231 | r29232 | |
| 5267 | 5265 | {18, 3458, 3459}, |
| 5268 | 5266 | {19, 3456, 3457}}; |
| 5269 | 5267 | static UINT16 input_pins[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19}; |
| 5270 | | pin_output_config output_pins[ARRAY_LEN(macrocells)]; |
| 5268 | pin_output_config output_pins[ARRAY_LENGTH(macrocells)]; |
| 5271 | 5269 | UINT16 index, output_pin_count; |
| 5272 | 5270 | |
| 5273 | 5271 | output_pin_count = 0; |
| 5274 | 5272 | |
| 5275 | | for (index = 0; index < ARRAY_LEN(output_pins); ++index) |
| 5273 | for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) |
| 5276 | 5274 | { |
| 5277 | 5275 | if (jed_get_fuse(jed, macrocells[index].s1_fuse)) |
| 5278 | 5276 | { |
| r29231 | r29232 | |
| 5315 | 5313 | } |
| 5316 | 5314 | } |
| 5317 | 5315 | |
| 5318 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5316 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5319 | 5317 | set_output_pins(output_pins, output_pin_count); |
| 5320 | 5318 | } |
| 5321 | 5319 | |
| r29231 | r29232 | |
| 5355 | 5353 | } |
| 5356 | 5354 | } |
| 5357 | 5355 | |
| 5358 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5356 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5359 | 5357 | set_output_pins(output_pins, output_pin_count); |
| 5360 | 5358 | } |
| 5361 | 5359 | |
| r29231 | r29232 | |
| 5395 | 5393 | } |
| 5396 | 5394 | } |
| 5397 | 5395 | |
| 5398 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5396 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5399 | 5397 | set_output_pins(output_pins, output_pin_count); |
| 5400 | 5398 | } |
| 5401 | 5399 | |
| r29231 | r29232 | |
| 5431 | 5429 | ++output_pin_count; |
| 5432 | 5430 | } |
| 5433 | 5431 | |
| 5434 | | for (index = 0; index < ARRAY_LEN(registered_pins); ++index) |
| 5432 | for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) |
| 5435 | 5433 | { |
| 5436 | 5434 | output_pins[output_pin_count].pin = registered_pins[index]; |
| 5437 | 5435 | output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; |
| r29231 | r29232 | |
| 5455 | 5453 | ++output_pin_count; |
| 5456 | 5454 | } |
| 5457 | 5455 | |
| 5458 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5456 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5459 | 5457 | set_output_pins(output_pins, output_pin_count); |
| 5460 | 5458 | } |
| 5461 | 5459 | |
| r29231 | r29232 | |
| 5483 | 5481 | ++output_pin_count; |
| 5484 | 5482 | } |
| 5485 | 5483 | |
| 5486 | | for (index = 0; index < ARRAY_LEN(registered_pins); ++index) |
| 5484 | for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) |
| 5487 | 5485 | { |
| 5488 | 5486 | output_pins[output_pin_count].pin = registered_pins[index]; |
| 5489 | 5487 | output_pins[output_pin_count].flags = OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; |
| r29231 | r29232 | |
| 5499 | 5497 | ++output_pin_count; |
| 5500 | 5498 | } |
| 5501 | 5499 | |
| 5502 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5500 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5503 | 5501 | set_output_pins(output_pins, output_pin_count); |
| 5504 | 5502 | } |
| 5505 | 5503 | |
| r29231 | r29232 | |
| 5523 | 5521 | {21, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, |
| 5524 | 5522 | {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; |
| 5525 | 5523 | |
| 5526 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5527 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5524 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5525 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5528 | 5526 | } |
| 5529 | 5527 | |
| 5530 | 5528 | |
| r29231 | r29232 | |
| 5549 | 5547 | {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT}, |
| 5550 | 5548 | {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT}}; |
| 5551 | 5549 | |
| 5552 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5553 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5550 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5551 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5554 | 5552 | } |
| 5555 | 5553 | |
| 5556 | 5554 | /*------------------------------------------------- |
| r29231 | r29232 | |
| 5573 | 5571 | {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, |
| 5574 | 5572 | {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_OUTPUT}}; |
| 5575 | 5573 | |
| 5576 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5577 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5574 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5575 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5578 | 5576 | } |
| 5579 | 5577 | |
| 5580 | 5578 | |
| r29231 | r29232 | |
| 5599 | 5597 | {22, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}, |
| 5600 | 5598 | {23, OUTPUT_ACTIVELOW | OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; |
| 5601 | 5599 | |
| 5602 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5603 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5600 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5601 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5604 | 5602 | } |
| 5605 | 5603 | |
| 5606 | 5604 | |
| r29231 | r29232 | |
| 5638 | 5636 | } |
| 5639 | 5637 | } |
| 5640 | 5638 | |
| 5641 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5639 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5642 | 5640 | set_output_pins(output_pins, output_pin_count); |
| 5643 | 5641 | } |
| 5644 | 5642 | |
| r29231 | r29232 | |
| 5677 | 5675 | } |
| 5678 | 5676 | } |
| 5679 | 5677 | |
| 5680 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5678 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5681 | 5679 | set_output_pins(output_pins, output_pin_count); |
| 5682 | 5680 | } |
| 5683 | 5681 | |
| r29231 | r29232 | |
| 5711 | 5709 | pin_output_config output_pins[8]; |
| 5712 | 5710 | UINT16 index; |
| 5713 | 5711 | |
| 5714 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 5712 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 5715 | 5713 | { |
| 5716 | 5714 | output_pins[index].pin = memory_cells[index].pin; |
| 5717 | 5715 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 5726 | 5724 | } |
| 5727 | 5725 | } |
| 5728 | 5726 | |
| 5729 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5730 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5727 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5728 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5731 | 5729 | } |
| 5732 | 5730 | |
| 5733 | 5731 | |
| r29231 | r29232 | |
| 5759 | 5757 | pin_output_config output_pins[8]; |
| 5760 | 5758 | UINT16 index; |
| 5761 | 5759 | |
| 5762 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 5760 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 5763 | 5761 | { |
| 5764 | 5762 | output_pins[index].pin = memory_cells[index].pin; |
| 5765 | 5763 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 5774 | 5772 | } |
| 5775 | 5773 | } |
| 5776 | 5774 | |
| 5777 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5778 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5775 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5776 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5779 | 5777 | } |
| 5780 | 5778 | |
| 5781 | 5779 | |
| r29231 | r29232 | |
| 5805 | 5803 | pin_output_config output_pins[8]; |
| 5806 | 5804 | UINT16 index; |
| 5807 | 5805 | |
| 5808 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 5806 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 5809 | 5807 | { |
| 5810 | 5808 | output_pins[index].pin = memory_cells[index].pin; |
| 5811 | 5809 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 5820 | 5818 | } |
| 5821 | 5819 | } |
| 5822 | 5820 | |
| 5823 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5824 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5821 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5822 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5825 | 5823 | } |
| 5826 | 5824 | |
| 5827 | 5825 | |
| r29231 | r29232 | |
| 5849 | 5847 | pin_output_config output_pins[8]; |
| 5850 | 5848 | UINT16 index; |
| 5851 | 5849 | |
| 5852 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 5850 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 5853 | 5851 | { |
| 5854 | 5852 | output_pins[index].pin = memory_cells[index].pin; |
| 5855 | 5853 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 5864 | 5862 | } |
| 5865 | 5863 | } |
| 5866 | 5864 | |
| 5867 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5868 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5865 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5866 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5869 | 5867 | } |
| 5870 | 5868 | |
| 5871 | 5869 | |
| r29231 | r29232 | |
| 5899 | 5897 | pin_output_config output_pins[8]; |
| 5900 | 5898 | UINT16 index; |
| 5901 | 5899 | |
| 5902 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 5900 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 5903 | 5901 | { |
| 5904 | 5902 | output_pins[index].pin = memory_cells[index].pin; |
| 5905 | 5903 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 5914 | 5912 | } |
| 5915 | 5913 | } |
| 5916 | 5914 | |
| 5917 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5918 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5915 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5916 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5919 | 5917 | } |
| 5920 | 5918 | |
| 5921 | 5919 | |
| r29231 | r29232 | |
| 5949 | 5947 | pin_output_config output_pins[8]; |
| 5950 | 5948 | UINT16 index; |
| 5951 | 5949 | |
| 5952 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 5950 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 5953 | 5951 | { |
| 5954 | 5952 | output_pins[index].pin = memory_cells[index].pin; |
| 5955 | 5953 | output_pins[index].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; |
| r29231 | r29232 | |
| 5964 | 5962 | } |
| 5965 | 5963 | } |
| 5966 | 5964 | |
| 5967 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 5968 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 5965 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 5966 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 5969 | 5967 | } |
| 5970 | 5968 | |
| 5971 | 5969 | |
| r29231 | r29232 | |
| 5999 | 5997 | pin_output_config output_pins[8]; |
| 6000 | 5998 | UINT16 index; |
| 6001 | 5999 | |
| 6002 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 6000 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 6003 | 6001 | { |
| 6004 | 6002 | output_pins[index].pin = memory_cells[index].pin; |
| 6005 | 6003 | |
| r29231 | r29232 | |
| 6024 | 6022 | } |
| 6025 | 6023 | } |
| 6026 | 6024 | |
| 6027 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6028 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6025 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6026 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6029 | 6027 | } |
| 6030 | 6028 | |
| 6031 | 6029 | |
| r29231 | r29232 | |
| 6059 | 6057 | pin_output_config output_pins[8]; |
| 6060 | 6058 | UINT16 index; |
| 6061 | 6059 | |
| 6062 | | for (index = 0; index < ARRAY_LEN(memory_cells); ++index) |
| 6060 | for (index = 0; index < ARRAY_LENGTH(memory_cells); ++index) |
| 6063 | 6061 | { |
| 6064 | 6062 | output_pins[index].pin = memory_cells[index].pin; |
| 6065 | 6063 | |
| r29231 | r29232 | |
| 6083 | 6081 | } |
| 6084 | 6082 | } |
| 6085 | 6083 | |
| 6086 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6087 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6084 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6085 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6088 | 6086 | } |
| 6089 | 6087 | #endif |
| 6090 | 6088 | |
| r29231 | r29232 | |
| 6101 | 6099 | pin_output_config output_pins[8]; |
| 6102 | 6100 | UINT16 index; |
| 6103 | 6101 | |
| 6104 | | for (index = 0; index < ARRAY_LEN(output_pins); ++index) |
| 6102 | for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) |
| 6105 | 6103 | { |
| 6106 | 6104 | output_pins[index].pin = index + 12; |
| 6107 | 6105 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 6116 | 6114 | } |
| 6117 | 6115 | } |
| 6118 | 6116 | |
| 6119 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6120 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6117 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6118 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6121 | 6119 | } |
| 6122 | 6120 | |
| 6123 | 6121 | |
| r29231 | r29232 | |
| 6133 | 6131 | pin_output_config output_pins[6]; |
| 6134 | 6132 | UINT16 index; |
| 6135 | 6133 | |
| 6136 | | for (index = 0; index < ARRAY_LEN(output_pins); ++index) |
| 6134 | for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) |
| 6137 | 6135 | { |
| 6138 | 6136 | output_pins[index].pin = index + 13; |
| 6139 | 6137 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 6148 | 6146 | } |
| 6149 | 6147 | } |
| 6150 | 6148 | |
| 6151 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6152 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6149 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6150 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6153 | 6151 | } |
| 6154 | 6152 | |
| 6155 | 6153 | |
| r29231 | r29232 | |
| 6165 | 6163 | pin_output_config output_pins[4]; |
| 6166 | 6164 | UINT16 index; |
| 6167 | 6165 | |
| 6168 | | for (index = 0; index < ARRAY_LEN(output_pins); ++index) |
| 6166 | for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) |
| 6169 | 6167 | { |
| 6170 | 6168 | output_pins[index].pin = index + 14; |
| 6171 | 6169 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 6180 | 6178 | } |
| 6181 | 6179 | } |
| 6182 | 6180 | |
| 6183 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6184 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6181 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6182 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6185 | 6183 | } |
| 6186 | 6184 | |
| 6187 | 6185 | |
| r29231 | r29232 | |
| 6197 | 6195 | pin_output_config output_pins[2]; |
| 6198 | 6196 | UINT16 index; |
| 6199 | 6197 | |
| 6200 | | for (index = 0; index < ARRAY_LEN(output_pins); ++index) |
| 6198 | for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) |
| 6201 | 6199 | { |
| 6202 | 6200 | output_pins[index].pin = index + 15; |
| 6203 | 6201 | output_pins[index].flags = OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE; |
| r29231 | r29232 | |
| 6212 | 6210 | } |
| 6213 | 6211 | } |
| 6214 | 6212 | |
| 6215 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6216 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6213 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6214 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6217 | 6215 | } |
| 6218 | 6216 | |
| 6219 | 6217 | |
| r29231 | r29232 | |
| 6251 | 6249 | } |
| 6252 | 6250 | } |
| 6253 | 6251 | |
| 6254 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6252 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6255 | 6253 | set_output_pins(output_pins, output_pin_count); |
| 6256 | 6254 | } |
| 6257 | 6255 | |
| r29231 | r29232 | |
| 6305 | 6303 | ++output_pin_count; |
| 6306 | 6304 | } |
| 6307 | 6305 | |
| 6308 | | for (index = 0; index < ARRAY_LEN(registered_pins); ++index) |
| 6306 | for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) |
| 6309 | 6307 | { |
| 6310 | 6308 | output_pins[output_pin_count].pin = registered_pins[index]; |
| 6311 | 6309 | output_pins[output_pin_count].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; |
| r29231 | r29232 | |
| 6356 | 6354 | ++output_pin_count; |
| 6357 | 6355 | } |
| 6358 | 6356 | |
| 6359 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6357 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6360 | 6358 | set_output_pins(output_pins, output_pin_count); |
| 6361 | 6359 | } |
| 6362 | 6360 | |
| r29231 | r29232 | |
| 6393 | 6391 | ++output_pin_count; |
| 6394 | 6392 | } |
| 6395 | 6393 | |
| 6396 | | for (index = 0; index < ARRAY_LEN(registered_pins); ++index) |
| 6394 | for (index = 0; index < ARRAY_LENGTH(registered_pins); ++index) |
| 6397 | 6395 | { |
| 6398 | 6396 | output_pins[output_pin_count].pin = registered_pins[index]; |
| 6399 | 6397 | output_pins[output_pin_count].flags = OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED; |
| r29231 | r29232 | |
| 6427 | 6425 | ++output_pin_count; |
| 6428 | 6426 | } |
| 6429 | 6427 | |
| 6430 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6428 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6431 | 6429 | set_output_pins(output_pins, output_pin_count); |
| 6432 | 6430 | } |
| 6433 | 6431 | |
| r29231 | r29232 | |
| 6452 | 6450 | {19, OUTPUT_REGISTERED | OUTPUT_FEEDBACK_REGISTERED}}; |
| 6453 | 6451 | UINT16 index; |
| 6454 | 6452 | |
| 6455 | | for (index = 0; index < ARRAY_LEN(output_pins); ++index) |
| 6453 | for (index = 0; index < ARRAY_LENGTH(output_pins); ++index) |
| 6456 | 6454 | { |
| 6457 | 6455 | if (!jed_get_fuse(jed, 2055 - index)) |
| 6458 | 6456 | { |
| r29231 | r29232 | |
| 6464 | 6462 | } |
| 6465 | 6463 | } |
| 6466 | 6464 | |
| 6467 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6468 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6465 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6466 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6469 | 6467 | } |
| 6470 | 6468 | |
| 6471 | 6469 | |
| r29231 | r29232 | |
| 6496 | 6494 | {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6497 | 6495 | {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6498 | 6496 | |
| 6499 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6500 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6497 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6498 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6501 | 6499 | } |
| 6502 | 6500 | |
| 6503 | 6501 | |
| r29231 | r29232 | |
| 6526 | 6524 | {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6527 | 6525 | {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6528 | 6526 | |
| 6529 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6530 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6527 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6528 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6531 | 6529 | } |
| 6532 | 6530 | |
| 6533 | 6531 | |
| r29231 | r29232 | |
| 6552 | 6550 | {22, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6553 | 6551 | {23, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6554 | 6552 | |
| 6555 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6556 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6553 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6554 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6557 | 6555 | } |
| 6558 | 6556 | |
| 6559 | 6557 | |
| r29231 | r29232 | |
| 6578 | 6576 | {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6579 | 6577 | {23, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6580 | 6578 | |
| 6581 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6582 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6579 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6580 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6583 | 6581 | } |
| 6584 | 6582 | |
| 6585 | 6583 | |
| r29231 | r29232 | |
| 6602 | 6600 | {21, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6603 | 6601 | {22, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6604 | 6602 | |
| 6605 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6606 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6603 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6604 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6607 | 6605 | } |
| 6608 | 6606 | |
| 6609 | 6607 | |
| r29231 | r29232 | |
| 6626 | 6624 | {21, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6627 | 6625 | {22, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6628 | 6626 | |
| 6629 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6630 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6627 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6628 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6631 | 6629 | } |
| 6632 | 6630 | |
| 6633 | 6631 | |
| r29231 | r29232 | |
| 6648 | 6646 | {20, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6649 | 6647 | {21, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6650 | 6648 | |
| 6651 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6652 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6649 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6650 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6653 | 6651 | } |
| 6654 | 6652 | |
| 6655 | 6653 | |
| r29231 | r29232 | |
| 6670 | 6668 | {20, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6671 | 6669 | {21, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6672 | 6670 | |
| 6673 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6674 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6671 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6672 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6675 | 6673 | } |
| 6676 | 6674 | |
| 6677 | 6675 | |
| r29231 | r29232 | |
| 6690 | 6688 | {19, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6691 | 6689 | {20, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6692 | 6690 | |
| 6693 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6694 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6691 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6692 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6695 | 6693 | } |
| 6696 | 6694 | |
| 6697 | 6695 | |
| r29231 | r29232 | |
| 6710 | 6708 | {19, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6711 | 6709 | {20, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6712 | 6710 | |
| 6713 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6714 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6711 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6712 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6715 | 6713 | } |
| 6716 | 6714 | |
| 6717 | 6715 | |
| r29231 | r29232 | |
| 6728 | 6726 | {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6729 | 6727 | {19, OUTPUT_ACTIVEHIGH | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6730 | 6728 | |
| 6731 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6732 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6729 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6730 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6733 | 6731 | } |
| 6734 | 6732 | |
| 6735 | 6733 | |
| r29231 | r29232 | |
| 6746 | 6744 | {18, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}, |
| 6747 | 6745 | {19, OUTPUT_ACTIVELOW | OUTPUT_COMBINATORIAL | OUTPUT_FEEDBACK_NONE}}; |
| 6748 | 6746 | |
| 6749 | | set_input_pins(input_pins, ARRAY_LEN(input_pins)); |
| 6750 | | set_output_pins(output_pins, ARRAY_LEN(output_pins)); |
| 6747 | set_input_pins(input_pins, ARRAY_LENGTH(input_pins)); |
| 6748 | set_output_pins(output_pins, ARRAY_LENGTH(output_pins)); |
| 6751 | 6749 | } |
| 6752 | 6750 | |
| 6753 | 6751 | |
| r29231 | r29232 | |
| 7213 | 7211 | return print_usage(); |
| 7214 | 7212 | } |
| 7215 | 7213 | |
| 7216 | | for (index = 0; index < ARRAY_LEN(paldata); ++index) |
| 7214 | for (index = 0; index < ARRAY_LENGTH(paldata); ++index) |
| 7217 | 7215 | { |
| 7218 | 7216 | printf("%s\n", paldata[index].name); |
| 7219 | 7217 | } |
| r29231 | r29232 | |
| 7239 | 7237 | return print_usage(); |
| 7240 | 7238 | } |
| 7241 | 7239 | |
| 7242 | | for (index = 0; index < ARRAY_LEN(command_entries); ++index) |
| 7240 | for (index = 0; index < ARRAY_LENGTH(command_entries); ++index) |
| 7243 | 7241 | { |
| 7244 | 7242 | if (!strcmp(argv[1], command_entries[index].command)) |
| 7245 | 7243 | return command_entries[index].command_func(argc - 2, &argv[2]); |