Bus-buffer testing start

This commit is contained in:
waleed-lm 2020-11-09 12:17:50 +05:00
parent 65c83526ed
commit db3d516d19
4 changed files with 56 additions and 71 deletions

View File

@ -2689,7 +2689,7 @@ circuit el2_lsu_bus_buffer :
obuf_wr_timer <= _T_1873 @[el2_lsu_bus_buffer.scala 421:17] obuf_wr_timer <= _T_1873 @[el2_lsu_bus_buffer.scala 421:17]
wire WrPtr0_m : UInt<2> wire WrPtr0_m : UInt<2>
WrPtr0_m <= UInt<1>("h00") WrPtr0_m <= UInt<1>("h00")
node _T_1874 = eq(buf_state[0], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:70] node _T_1874 = eq(buf_state[0], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:65]
node _T_1875 = eq(ibuf_tag, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:30] node _T_1875 = eq(ibuf_tag, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:30]
node _T_1876 = and(ibuf_valid, _T_1875) @[el2_lsu_bus_buffer.scala 425:19] node _T_1876 = and(ibuf_valid, _T_1875) @[el2_lsu_bus_buffer.scala 425:19]
node _T_1877 = eq(WrPtr0_r, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 426:18] node _T_1877 = eq(WrPtr0_r, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 426:18]
@ -2699,8 +2699,8 @@ circuit el2_lsu_bus_buffer :
node _T_1881 = and(io.lsu_busreq_r, _T_1880) @[el2_lsu_bus_buffer.scala 425:58] node _T_1881 = and(io.lsu_busreq_r, _T_1880) @[el2_lsu_bus_buffer.scala 425:58]
node _T_1882 = or(_T_1876, _T_1881) @[el2_lsu_bus_buffer.scala 425:39] node _T_1882 = or(_T_1876, _T_1881) @[el2_lsu_bus_buffer.scala 425:39]
node _T_1883 = eq(_T_1882, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5] node _T_1883 = eq(_T_1882, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5]
node _T_1884 = and(_T_1874, _T_1883) @[el2_lsu_bus_buffer.scala 424:81] node _T_1884 = and(_T_1874, _T_1883) @[el2_lsu_bus_buffer.scala 424:76]
node _T_1885 = eq(buf_state[1], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:70] node _T_1885 = eq(buf_state[1], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:65]
node _T_1886 = eq(ibuf_tag, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 425:30] node _T_1886 = eq(ibuf_tag, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 425:30]
node _T_1887 = and(ibuf_valid, _T_1886) @[el2_lsu_bus_buffer.scala 425:19] node _T_1887 = and(ibuf_valid, _T_1886) @[el2_lsu_bus_buffer.scala 425:19]
node _T_1888 = eq(WrPtr0_r, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 426:18] node _T_1888 = eq(WrPtr0_r, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 426:18]
@ -2710,8 +2710,8 @@ circuit el2_lsu_bus_buffer :
node _T_1892 = and(io.lsu_busreq_r, _T_1891) @[el2_lsu_bus_buffer.scala 425:58] node _T_1892 = and(io.lsu_busreq_r, _T_1891) @[el2_lsu_bus_buffer.scala 425:58]
node _T_1893 = or(_T_1887, _T_1892) @[el2_lsu_bus_buffer.scala 425:39] node _T_1893 = or(_T_1887, _T_1892) @[el2_lsu_bus_buffer.scala 425:39]
node _T_1894 = eq(_T_1893, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5] node _T_1894 = eq(_T_1893, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5]
node _T_1895 = and(_T_1885, _T_1894) @[el2_lsu_bus_buffer.scala 424:81] node _T_1895 = and(_T_1885, _T_1894) @[el2_lsu_bus_buffer.scala 424:76]
node _T_1896 = eq(buf_state[2], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:70] node _T_1896 = eq(buf_state[2], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:65]
node _T_1897 = eq(ibuf_tag, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 425:30] node _T_1897 = eq(ibuf_tag, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 425:30]
node _T_1898 = and(ibuf_valid, _T_1897) @[el2_lsu_bus_buffer.scala 425:19] node _T_1898 = and(ibuf_valid, _T_1897) @[el2_lsu_bus_buffer.scala 425:19]
node _T_1899 = eq(WrPtr0_r, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 426:18] node _T_1899 = eq(WrPtr0_r, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 426:18]
@ -2721,8 +2721,8 @@ circuit el2_lsu_bus_buffer :
node _T_1903 = and(io.lsu_busreq_r, _T_1902) @[el2_lsu_bus_buffer.scala 425:58] node _T_1903 = and(io.lsu_busreq_r, _T_1902) @[el2_lsu_bus_buffer.scala 425:58]
node _T_1904 = or(_T_1898, _T_1903) @[el2_lsu_bus_buffer.scala 425:39] node _T_1904 = or(_T_1898, _T_1903) @[el2_lsu_bus_buffer.scala 425:39]
node _T_1905 = eq(_T_1904, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5] node _T_1905 = eq(_T_1904, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5]
node _T_1906 = and(_T_1896, _T_1905) @[el2_lsu_bus_buffer.scala 424:81] node _T_1906 = and(_T_1896, _T_1905) @[el2_lsu_bus_buffer.scala 424:76]
node _T_1907 = eq(buf_state[3], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:70] node _T_1907 = eq(buf_state[3], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 424:65]
node _T_1908 = eq(ibuf_tag, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 425:30] node _T_1908 = eq(ibuf_tag, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 425:30]
node _T_1909 = and(ibuf_valid, _T_1908) @[el2_lsu_bus_buffer.scala 425:19] node _T_1909 = and(ibuf_valid, _T_1908) @[el2_lsu_bus_buffer.scala 425:19]
node _T_1910 = eq(WrPtr0_r, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 426:18] node _T_1910 = eq(WrPtr0_r, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 426:18]
@ -2732,8 +2732,8 @@ circuit el2_lsu_bus_buffer :
node _T_1914 = and(io.lsu_busreq_r, _T_1913) @[el2_lsu_bus_buffer.scala 425:58] node _T_1914 = and(io.lsu_busreq_r, _T_1913) @[el2_lsu_bus_buffer.scala 425:58]
node _T_1915 = or(_T_1909, _T_1914) @[el2_lsu_bus_buffer.scala 425:39] node _T_1915 = or(_T_1909, _T_1914) @[el2_lsu_bus_buffer.scala 425:39]
node _T_1916 = eq(_T_1915, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5] node _T_1916 = eq(_T_1915, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 425:5]
node _T_1917 = and(_T_1907, _T_1916) @[el2_lsu_bus_buffer.scala 424:81] node _T_1917 = and(_T_1907, _T_1916) @[el2_lsu_bus_buffer.scala 424:76]
node _T_1918 = mux(_T_1917, UInt<2>("h03"), WrPtr0_r) @[Mux.scala 98:16] node _T_1918 = mux(_T_1917, UInt<2>("h03"), UInt<2>("h03")) @[Mux.scala 98:16]
node _T_1919 = mux(_T_1906, UInt<2>("h02"), _T_1918) @[Mux.scala 98:16] node _T_1919 = mux(_T_1906, UInt<2>("h02"), _T_1918) @[Mux.scala 98:16]
node _T_1920 = mux(_T_1895, UInt<1>("h01"), _T_1919) @[Mux.scala 98:16] node _T_1920 = mux(_T_1895, UInt<1>("h01"), _T_1919) @[Mux.scala 98:16]
node _T_1921 = mux(_T_1884, UInt<1>("h00"), _T_1920) @[Mux.scala 98:16] node _T_1921 = mux(_T_1884, UInt<1>("h00"), _T_1920) @[Mux.scala 98:16]
@ -2744,63 +2744,63 @@ circuit el2_lsu_bus_buffer :
io.buf_state <= _T_1924 @[el2_lsu_bus_buffer.scala 427:16] io.buf_state <= _T_1924 @[el2_lsu_bus_buffer.scala 427:16]
wire WrPtr1_m : UInt<2> wire WrPtr1_m : UInt<2>
WrPtr1_m <= UInt<1>("h00") WrPtr1_m <= UInt<1>("h00")
node _T_1925 = eq(buf_state[0], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:70] node _T_1925 = eq(buf_state[0], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:65]
node _T_1926 = eq(ibuf_tag, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:108] node _T_1926 = eq(ibuf_tag, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:103]
node _T_1927 = and(ibuf_valid, _T_1926) @[el2_lsu_bus_buffer.scala 430:97] node _T_1927 = and(ibuf_valid, _T_1926) @[el2_lsu_bus_buffer.scala 430:92]
node _T_1928 = eq(WrPtr0_m, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 431:33] node _T_1928 = eq(WrPtr0_m, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 431:33]
node _T_1929 = and(io.lsu_busreq_m, _T_1928) @[el2_lsu_bus_buffer.scala 431:22] node _T_1929 = and(io.lsu_busreq_m, _T_1928) @[el2_lsu_bus_buffer.scala 431:22]
node _T_1930 = or(_T_1927, _T_1929) @[el2_lsu_bus_buffer.scala 430:117] node _T_1930 = or(_T_1927, _T_1929) @[el2_lsu_bus_buffer.scala 430:112]
node _T_1931 = eq(WrPtr0_r, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 432:36] node _T_1931 = eq(WrPtr0_r, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 432:36]
node _T_1932 = eq(WrPtr1_r, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 433:34] node _T_1932 = eq(WrPtr1_r, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 433:34]
node _T_1933 = and(io.ldst_dual_r, _T_1932) @[el2_lsu_bus_buffer.scala 433:23] node _T_1933 = and(io.ldst_dual_r, _T_1932) @[el2_lsu_bus_buffer.scala 433:23]
node _T_1934 = or(_T_1931, _T_1933) @[el2_lsu_bus_buffer.scala 432:46] node _T_1934 = or(_T_1931, _T_1933) @[el2_lsu_bus_buffer.scala 432:46]
node _T_1935 = and(io.lsu_busreq_r, _T_1934) @[el2_lsu_bus_buffer.scala 432:22] node _T_1935 = and(io.lsu_busreq_r, _T_1934) @[el2_lsu_bus_buffer.scala 432:22]
node _T_1936 = or(_T_1930, _T_1935) @[el2_lsu_bus_buffer.scala 431:42] node _T_1936 = or(_T_1930, _T_1935) @[el2_lsu_bus_buffer.scala 431:42]
node _T_1937 = eq(_T_1936, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:83] node _T_1937 = eq(_T_1936, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:78]
node _T_1938 = and(_T_1925, _T_1937) @[el2_lsu_bus_buffer.scala 430:81] node _T_1938 = and(_T_1925, _T_1937) @[el2_lsu_bus_buffer.scala 430:76]
node _T_1939 = eq(buf_state[1], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:70] node _T_1939 = eq(buf_state[1], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:65]
node _T_1940 = eq(ibuf_tag, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 430:108] node _T_1940 = eq(ibuf_tag, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 430:103]
node _T_1941 = and(ibuf_valid, _T_1940) @[el2_lsu_bus_buffer.scala 430:97] node _T_1941 = and(ibuf_valid, _T_1940) @[el2_lsu_bus_buffer.scala 430:92]
node _T_1942 = eq(WrPtr0_m, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 431:33] node _T_1942 = eq(WrPtr0_m, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 431:33]
node _T_1943 = and(io.lsu_busreq_m, _T_1942) @[el2_lsu_bus_buffer.scala 431:22] node _T_1943 = and(io.lsu_busreq_m, _T_1942) @[el2_lsu_bus_buffer.scala 431:22]
node _T_1944 = or(_T_1941, _T_1943) @[el2_lsu_bus_buffer.scala 430:117] node _T_1944 = or(_T_1941, _T_1943) @[el2_lsu_bus_buffer.scala 430:112]
node _T_1945 = eq(WrPtr0_r, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 432:36] node _T_1945 = eq(WrPtr0_r, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 432:36]
node _T_1946 = eq(WrPtr1_r, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 433:34] node _T_1946 = eq(WrPtr1_r, UInt<1>("h01")) @[el2_lsu_bus_buffer.scala 433:34]
node _T_1947 = and(io.ldst_dual_r, _T_1946) @[el2_lsu_bus_buffer.scala 433:23] node _T_1947 = and(io.ldst_dual_r, _T_1946) @[el2_lsu_bus_buffer.scala 433:23]
node _T_1948 = or(_T_1945, _T_1947) @[el2_lsu_bus_buffer.scala 432:46] node _T_1948 = or(_T_1945, _T_1947) @[el2_lsu_bus_buffer.scala 432:46]
node _T_1949 = and(io.lsu_busreq_r, _T_1948) @[el2_lsu_bus_buffer.scala 432:22] node _T_1949 = and(io.lsu_busreq_r, _T_1948) @[el2_lsu_bus_buffer.scala 432:22]
node _T_1950 = or(_T_1944, _T_1949) @[el2_lsu_bus_buffer.scala 431:42] node _T_1950 = or(_T_1944, _T_1949) @[el2_lsu_bus_buffer.scala 431:42]
node _T_1951 = eq(_T_1950, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:83] node _T_1951 = eq(_T_1950, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:78]
node _T_1952 = and(_T_1939, _T_1951) @[el2_lsu_bus_buffer.scala 430:81] node _T_1952 = and(_T_1939, _T_1951) @[el2_lsu_bus_buffer.scala 430:76]
node _T_1953 = eq(buf_state[2], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:70] node _T_1953 = eq(buf_state[2], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:65]
node _T_1954 = eq(ibuf_tag, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 430:108] node _T_1954 = eq(ibuf_tag, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 430:103]
node _T_1955 = and(ibuf_valid, _T_1954) @[el2_lsu_bus_buffer.scala 430:97] node _T_1955 = and(ibuf_valid, _T_1954) @[el2_lsu_bus_buffer.scala 430:92]
node _T_1956 = eq(WrPtr0_m, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 431:33] node _T_1956 = eq(WrPtr0_m, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 431:33]
node _T_1957 = and(io.lsu_busreq_m, _T_1956) @[el2_lsu_bus_buffer.scala 431:22] node _T_1957 = and(io.lsu_busreq_m, _T_1956) @[el2_lsu_bus_buffer.scala 431:22]
node _T_1958 = or(_T_1955, _T_1957) @[el2_lsu_bus_buffer.scala 430:117] node _T_1958 = or(_T_1955, _T_1957) @[el2_lsu_bus_buffer.scala 430:112]
node _T_1959 = eq(WrPtr0_r, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 432:36] node _T_1959 = eq(WrPtr0_r, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 432:36]
node _T_1960 = eq(WrPtr1_r, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 433:34] node _T_1960 = eq(WrPtr1_r, UInt<2>("h02")) @[el2_lsu_bus_buffer.scala 433:34]
node _T_1961 = and(io.ldst_dual_r, _T_1960) @[el2_lsu_bus_buffer.scala 433:23] node _T_1961 = and(io.ldst_dual_r, _T_1960) @[el2_lsu_bus_buffer.scala 433:23]
node _T_1962 = or(_T_1959, _T_1961) @[el2_lsu_bus_buffer.scala 432:46] node _T_1962 = or(_T_1959, _T_1961) @[el2_lsu_bus_buffer.scala 432:46]
node _T_1963 = and(io.lsu_busreq_r, _T_1962) @[el2_lsu_bus_buffer.scala 432:22] node _T_1963 = and(io.lsu_busreq_r, _T_1962) @[el2_lsu_bus_buffer.scala 432:22]
node _T_1964 = or(_T_1958, _T_1963) @[el2_lsu_bus_buffer.scala 431:42] node _T_1964 = or(_T_1958, _T_1963) @[el2_lsu_bus_buffer.scala 431:42]
node _T_1965 = eq(_T_1964, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:83] node _T_1965 = eq(_T_1964, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:78]
node _T_1966 = and(_T_1953, _T_1965) @[el2_lsu_bus_buffer.scala 430:81] node _T_1966 = and(_T_1953, _T_1965) @[el2_lsu_bus_buffer.scala 430:76]
node _T_1967 = eq(buf_state[3], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:70] node _T_1967 = eq(buf_state[3], UInt<3>("h00")) @[el2_lsu_bus_buffer.scala 430:65]
node _T_1968 = eq(ibuf_tag, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 430:108] node _T_1968 = eq(ibuf_tag, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 430:103]
node _T_1969 = and(ibuf_valid, _T_1968) @[el2_lsu_bus_buffer.scala 430:97] node _T_1969 = and(ibuf_valid, _T_1968) @[el2_lsu_bus_buffer.scala 430:92]
node _T_1970 = eq(WrPtr0_m, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 431:33] node _T_1970 = eq(WrPtr0_m, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 431:33]
node _T_1971 = and(io.lsu_busreq_m, _T_1970) @[el2_lsu_bus_buffer.scala 431:22] node _T_1971 = and(io.lsu_busreq_m, _T_1970) @[el2_lsu_bus_buffer.scala 431:22]
node _T_1972 = or(_T_1969, _T_1971) @[el2_lsu_bus_buffer.scala 430:117] node _T_1972 = or(_T_1969, _T_1971) @[el2_lsu_bus_buffer.scala 430:112]
node _T_1973 = eq(WrPtr0_r, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 432:36] node _T_1973 = eq(WrPtr0_r, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 432:36]
node _T_1974 = eq(WrPtr1_r, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 433:34] node _T_1974 = eq(WrPtr1_r, UInt<2>("h03")) @[el2_lsu_bus_buffer.scala 433:34]
node _T_1975 = and(io.ldst_dual_r, _T_1974) @[el2_lsu_bus_buffer.scala 433:23] node _T_1975 = and(io.ldst_dual_r, _T_1974) @[el2_lsu_bus_buffer.scala 433:23]
node _T_1976 = or(_T_1973, _T_1975) @[el2_lsu_bus_buffer.scala 432:46] node _T_1976 = or(_T_1973, _T_1975) @[el2_lsu_bus_buffer.scala 432:46]
node _T_1977 = and(io.lsu_busreq_r, _T_1976) @[el2_lsu_bus_buffer.scala 432:22] node _T_1977 = and(io.lsu_busreq_r, _T_1976) @[el2_lsu_bus_buffer.scala 432:22]
node _T_1978 = or(_T_1972, _T_1977) @[el2_lsu_bus_buffer.scala 431:42] node _T_1978 = or(_T_1972, _T_1977) @[el2_lsu_bus_buffer.scala 431:42]
node _T_1979 = eq(_T_1978, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:83] node _T_1979 = eq(_T_1978, UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 430:78]
node _T_1980 = and(_T_1967, _T_1979) @[el2_lsu_bus_buffer.scala 430:81] node _T_1980 = and(_T_1967, _T_1979) @[el2_lsu_bus_buffer.scala 430:76]
node _T_1981 = mux(_T_1980, UInt<2>("h03"), WrPtr1_r) @[Mux.scala 98:16] node _T_1981 = mux(_T_1980, UInt<2>("h03"), UInt<2>("h03")) @[Mux.scala 98:16]
node _T_1982 = mux(_T_1966, UInt<2>("h02"), _T_1981) @[Mux.scala 98:16] node _T_1982 = mux(_T_1966, UInt<2>("h02"), _T_1981) @[Mux.scala 98:16]
node _T_1983 = mux(_T_1952, UInt<1>("h01"), _T_1982) @[Mux.scala 98:16] node _T_1983 = mux(_T_1952, UInt<1>("h01"), _T_1982) @[Mux.scala 98:16]
node _T_1984 = mux(_T_1938, UInt<1>("h00"), _T_1983) @[Mux.scala 98:16] node _T_1984 = mux(_T_1938, UInt<1>("h00"), _T_1983) @[Mux.scala 98:16]

View File

@ -1500,7 +1500,7 @@ module el2_lsu_bus_buffer(
reg [1:0] obuf_sz; // @[Reg.scala 27:20] reg [1:0] obuf_sz; // @[Reg.scala 27:20]
reg [7:0] obuf_byteen; // @[Reg.scala 27:20] reg [7:0] obuf_byteen; // @[Reg.scala 27:20]
reg [63:0] obuf_data; // @[el2_lib.scala 491:16] reg [63:0] obuf_data; // @[el2_lib.scala 491:16]
wire _T_1874 = buf_state_0 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:70] wire _T_1874 = buf_state_0 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:65]
wire _T_1875 = ibuf_tag == 2'h0; // @[el2_lsu_bus_buffer.scala 425:30] wire _T_1875 = ibuf_tag == 2'h0; // @[el2_lsu_bus_buffer.scala 425:30]
wire _T_1876 = ibuf_valid & _T_1875; // @[el2_lsu_bus_buffer.scala 425:19] wire _T_1876 = ibuf_valid & _T_1875; // @[el2_lsu_bus_buffer.scala 425:19]
wire _T_1877 = WrPtr0_r == 2'h0; // @[el2_lsu_bus_buffer.scala 426:18] wire _T_1877 = WrPtr0_r == 2'h0; // @[el2_lsu_bus_buffer.scala 426:18]
@ -1510,8 +1510,8 @@ module el2_lsu_bus_buffer(
wire _T_1881 = io_lsu_busreq_r & _T_1880; // @[el2_lsu_bus_buffer.scala 425:58] wire _T_1881 = io_lsu_busreq_r & _T_1880; // @[el2_lsu_bus_buffer.scala 425:58]
wire _T_1882 = _T_1876 | _T_1881; // @[el2_lsu_bus_buffer.scala 425:39] wire _T_1882 = _T_1876 | _T_1881; // @[el2_lsu_bus_buffer.scala 425:39]
wire _T_1883 = ~_T_1882; // @[el2_lsu_bus_buffer.scala 425:5] wire _T_1883 = ~_T_1882; // @[el2_lsu_bus_buffer.scala 425:5]
wire _T_1884 = _T_1874 & _T_1883; // @[el2_lsu_bus_buffer.scala 424:81] wire _T_1884 = _T_1874 & _T_1883; // @[el2_lsu_bus_buffer.scala 424:76]
wire _T_1885 = buf_state_1 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:70] wire _T_1885 = buf_state_1 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:65]
wire _T_1886 = ibuf_tag == 2'h1; // @[el2_lsu_bus_buffer.scala 425:30] wire _T_1886 = ibuf_tag == 2'h1; // @[el2_lsu_bus_buffer.scala 425:30]
wire _T_1887 = ibuf_valid & _T_1886; // @[el2_lsu_bus_buffer.scala 425:19] wire _T_1887 = ibuf_valid & _T_1886; // @[el2_lsu_bus_buffer.scala 425:19]
wire _T_1888 = WrPtr0_r == 2'h1; // @[el2_lsu_bus_buffer.scala 426:18] wire _T_1888 = WrPtr0_r == 2'h1; // @[el2_lsu_bus_buffer.scala 426:18]
@ -1521,8 +1521,8 @@ module el2_lsu_bus_buffer(
wire _T_1892 = io_lsu_busreq_r & _T_1891; // @[el2_lsu_bus_buffer.scala 425:58] wire _T_1892 = io_lsu_busreq_r & _T_1891; // @[el2_lsu_bus_buffer.scala 425:58]
wire _T_1893 = _T_1887 | _T_1892; // @[el2_lsu_bus_buffer.scala 425:39] wire _T_1893 = _T_1887 | _T_1892; // @[el2_lsu_bus_buffer.scala 425:39]
wire _T_1894 = ~_T_1893; // @[el2_lsu_bus_buffer.scala 425:5] wire _T_1894 = ~_T_1893; // @[el2_lsu_bus_buffer.scala 425:5]
wire _T_1895 = _T_1885 & _T_1894; // @[el2_lsu_bus_buffer.scala 424:81] wire _T_1895 = _T_1885 & _T_1894; // @[el2_lsu_bus_buffer.scala 424:76]
wire _T_1896 = buf_state_2 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:70] wire _T_1896 = buf_state_2 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:65]
wire _T_1897 = ibuf_tag == 2'h2; // @[el2_lsu_bus_buffer.scala 425:30] wire _T_1897 = ibuf_tag == 2'h2; // @[el2_lsu_bus_buffer.scala 425:30]
wire _T_1898 = ibuf_valid & _T_1897; // @[el2_lsu_bus_buffer.scala 425:19] wire _T_1898 = ibuf_valid & _T_1897; // @[el2_lsu_bus_buffer.scala 425:19]
wire _T_1899 = WrPtr0_r == 2'h2; // @[el2_lsu_bus_buffer.scala 426:18] wire _T_1899 = WrPtr0_r == 2'h2; // @[el2_lsu_bus_buffer.scala 426:18]
@ -1532,49 +1532,34 @@ module el2_lsu_bus_buffer(
wire _T_1903 = io_lsu_busreq_r & _T_1902; // @[el2_lsu_bus_buffer.scala 425:58] wire _T_1903 = io_lsu_busreq_r & _T_1902; // @[el2_lsu_bus_buffer.scala 425:58]
wire _T_1904 = _T_1898 | _T_1903; // @[el2_lsu_bus_buffer.scala 425:39] wire _T_1904 = _T_1898 | _T_1903; // @[el2_lsu_bus_buffer.scala 425:39]
wire _T_1905 = ~_T_1904; // @[el2_lsu_bus_buffer.scala 425:5] wire _T_1905 = ~_T_1904; // @[el2_lsu_bus_buffer.scala 425:5]
wire _T_1906 = _T_1896 & _T_1905; // @[el2_lsu_bus_buffer.scala 424:81] wire _T_1906 = _T_1896 & _T_1905; // @[el2_lsu_bus_buffer.scala 424:76]
wire _T_1907 = buf_state_3 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:70] wire _T_1907 = buf_state_3 == 3'h0; // @[el2_lsu_bus_buffer.scala 424:65]
wire _T_1908 = ibuf_tag == 2'h3; // @[el2_lsu_bus_buffer.scala 425:30] wire _T_1908 = ibuf_tag == 2'h3; // @[el2_lsu_bus_buffer.scala 425:30]
wire _T_1909 = ibuf_valid & _T_1908; // @[el2_lsu_bus_buffer.scala 425:19]
wire _T_1910 = WrPtr0_r == 2'h3; // @[el2_lsu_bus_buffer.scala 426:18] wire _T_1910 = WrPtr0_r == 2'h3; // @[el2_lsu_bus_buffer.scala 426:18]
wire _T_1911 = WrPtr1_r == 2'h3; // @[el2_lsu_bus_buffer.scala 426:57] wire _T_1911 = WrPtr1_r == 2'h3; // @[el2_lsu_bus_buffer.scala 426:57]
wire _T_1912 = io_ldst_dual_r & _T_1911; // @[el2_lsu_bus_buffer.scala 426:45] wire [1:0] _T_1919 = _T_1906 ? 2'h2 : 2'h3; // @[Mux.scala 98:16]
wire _T_1913 = _T_1910 | _T_1912; // @[el2_lsu_bus_buffer.scala 426:27]
wire _T_1914 = io_lsu_busreq_r & _T_1913; // @[el2_lsu_bus_buffer.scala 425:58]
wire _T_1915 = _T_1909 | _T_1914; // @[el2_lsu_bus_buffer.scala 425:39]
wire _T_1916 = ~_T_1915; // @[el2_lsu_bus_buffer.scala 425:5]
wire _T_1917 = _T_1907 & _T_1916; // @[el2_lsu_bus_buffer.scala 424:81]
wire [1:0] _T_1918 = _T_1917 ? 2'h3 : WrPtr0_r; // @[Mux.scala 98:16]
wire [1:0] _T_1919 = _T_1906 ? 2'h2 : _T_1918; // @[Mux.scala 98:16]
wire [1:0] _T_1920 = _T_1895 ? 2'h1 : _T_1919; // @[Mux.scala 98:16] wire [1:0] _T_1920 = _T_1895 ? 2'h1 : _T_1919; // @[Mux.scala 98:16]
wire [1:0] WrPtr0_m = _T_1884 ? 2'h0 : _T_1920; // @[Mux.scala 98:16] wire [1:0] WrPtr0_m = _T_1884 ? 2'h0 : _T_1920; // @[Mux.scala 98:16]
wire [8:0] _T_1923 = {buf_state_3,buf_state_2,buf_state_1}; // @[Cat.scala 29:58] wire [8:0] _T_1923 = {buf_state_3,buf_state_2,buf_state_1}; // @[Cat.scala 29:58]
wire _T_1928 = WrPtr0_m == 2'h0; // @[el2_lsu_bus_buffer.scala 431:33] wire _T_1928 = WrPtr0_m == 2'h0; // @[el2_lsu_bus_buffer.scala 431:33]
wire _T_1929 = io_lsu_busreq_m & _T_1928; // @[el2_lsu_bus_buffer.scala 431:22] wire _T_1929 = io_lsu_busreq_m & _T_1928; // @[el2_lsu_bus_buffer.scala 431:22]
wire _T_1930 = _T_1876 | _T_1929; // @[el2_lsu_bus_buffer.scala 430:117] wire _T_1930 = _T_1876 | _T_1929; // @[el2_lsu_bus_buffer.scala 430:112]
wire _T_1936 = _T_1930 | _T_1881; // @[el2_lsu_bus_buffer.scala 431:42] wire _T_1936 = _T_1930 | _T_1881; // @[el2_lsu_bus_buffer.scala 431:42]
wire _T_1937 = ~_T_1936; // @[el2_lsu_bus_buffer.scala 430:83] wire _T_1937 = ~_T_1936; // @[el2_lsu_bus_buffer.scala 430:78]
wire _T_1938 = _T_1874 & _T_1937; // @[el2_lsu_bus_buffer.scala 430:81] wire _T_1938 = _T_1874 & _T_1937; // @[el2_lsu_bus_buffer.scala 430:76]
wire _T_1942 = WrPtr0_m == 2'h1; // @[el2_lsu_bus_buffer.scala 431:33] wire _T_1942 = WrPtr0_m == 2'h1; // @[el2_lsu_bus_buffer.scala 431:33]
wire _T_1943 = io_lsu_busreq_m & _T_1942; // @[el2_lsu_bus_buffer.scala 431:22] wire _T_1943 = io_lsu_busreq_m & _T_1942; // @[el2_lsu_bus_buffer.scala 431:22]
wire _T_1944 = _T_1887 | _T_1943; // @[el2_lsu_bus_buffer.scala 430:117] wire _T_1944 = _T_1887 | _T_1943; // @[el2_lsu_bus_buffer.scala 430:112]
wire _T_1950 = _T_1944 | _T_1892; // @[el2_lsu_bus_buffer.scala 431:42] wire _T_1950 = _T_1944 | _T_1892; // @[el2_lsu_bus_buffer.scala 431:42]
wire _T_1951 = ~_T_1950; // @[el2_lsu_bus_buffer.scala 430:83] wire _T_1951 = ~_T_1950; // @[el2_lsu_bus_buffer.scala 430:78]
wire _T_1952 = _T_1885 & _T_1951; // @[el2_lsu_bus_buffer.scala 430:81] wire _T_1952 = _T_1885 & _T_1951; // @[el2_lsu_bus_buffer.scala 430:76]
wire _T_1956 = WrPtr0_m == 2'h2; // @[el2_lsu_bus_buffer.scala 431:33] wire _T_1956 = WrPtr0_m == 2'h2; // @[el2_lsu_bus_buffer.scala 431:33]
wire _T_1957 = io_lsu_busreq_m & _T_1956; // @[el2_lsu_bus_buffer.scala 431:22] wire _T_1957 = io_lsu_busreq_m & _T_1956; // @[el2_lsu_bus_buffer.scala 431:22]
wire _T_1958 = _T_1898 | _T_1957; // @[el2_lsu_bus_buffer.scala 430:117] wire _T_1958 = _T_1898 | _T_1957; // @[el2_lsu_bus_buffer.scala 430:112]
wire _T_1964 = _T_1958 | _T_1903; // @[el2_lsu_bus_buffer.scala 431:42] wire _T_1964 = _T_1958 | _T_1903; // @[el2_lsu_bus_buffer.scala 431:42]
wire _T_1965 = ~_T_1964; // @[el2_lsu_bus_buffer.scala 430:83] wire _T_1965 = ~_T_1964; // @[el2_lsu_bus_buffer.scala 430:78]
wire _T_1966 = _T_1896 & _T_1965; // @[el2_lsu_bus_buffer.scala 430:81] wire _T_1966 = _T_1896 & _T_1965; // @[el2_lsu_bus_buffer.scala 430:76]
wire _T_1970 = WrPtr0_m == 2'h3; // @[el2_lsu_bus_buffer.scala 431:33] wire [1:0] _T_1982 = _T_1966 ? 2'h2 : 2'h3; // @[Mux.scala 98:16]
wire _T_1971 = io_lsu_busreq_m & _T_1970; // @[el2_lsu_bus_buffer.scala 431:22]
wire _T_1972 = _T_1909 | _T_1971; // @[el2_lsu_bus_buffer.scala 430:117]
wire _T_1978 = _T_1972 | _T_1914; // @[el2_lsu_bus_buffer.scala 431:42]
wire _T_1979 = ~_T_1978; // @[el2_lsu_bus_buffer.scala 430:83]
wire _T_1980 = _T_1907 & _T_1979; // @[el2_lsu_bus_buffer.scala 430:81]
wire [1:0] _T_1981 = _T_1980 ? 2'h3 : WrPtr1_r; // @[Mux.scala 98:16]
wire [1:0] _T_1982 = _T_1966 ? 2'h2 : _T_1981; // @[Mux.scala 98:16]
wire [1:0] _T_1983 = _T_1952 ? 2'h1 : _T_1982; // @[Mux.scala 98:16] wire [1:0] _T_1983 = _T_1952 ? 2'h1 : _T_1982; // @[Mux.scala 98:16]
reg [3:0] buf_rspageQ_0; // @[el2_lsu_bus_buffer.scala 563:63] reg [3:0] buf_rspageQ_0; // @[el2_lsu_bus_buffer.scala 563:63]
wire _T_2770 = buf_state_3 == 3'h5; // @[el2_lsu_bus_buffer.scala 476:104] wire _T_2770 = buf_state_3 == 3'h5; // @[el2_lsu_bus_buffer.scala 476:104]
@ -4007,7 +3992,7 @@ end // initial
WrPtr1_r <= 2'h1; WrPtr1_r <= 2'h1;
end else if (_T_1966) begin end else if (_T_1966) begin
WrPtr1_r <= 2'h2; WrPtr1_r <= 2'h2;
end else if (_T_1980) begin end else begin
WrPtr1_r <= 2'h3; WrPtr1_r <= 2'h3;
end end
end end
@ -4020,7 +4005,7 @@ end // initial
WrPtr0_r <= 2'h1; WrPtr0_r <= 2'h1;
end else if (_T_1906) begin end else if (_T_1906) begin
WrPtr0_r <= 2'h2; WrPtr0_r <= 2'h2;
end else if (_T_1917) begin end else begin
WrPtr0_r <= 2'h3; WrPtr0_r <= 2'h3;
end end
end end

View File

@ -421,13 +421,13 @@ class el2_lsu_bus_buffer extends Module with RequireAsyncReset with el2_lib {
obuf_wr_timer := withClock(io.lsu_busm_clk){RegNext(obuf_wr_timer_in, 0.U)} obuf_wr_timer := withClock(io.lsu_busm_clk){RegNext(obuf_wr_timer_in, 0.U)}
val WrPtr0_m = WireInit(UInt(DEPTH_LOG2.W), 0.U) val WrPtr0_m = WireInit(UInt(DEPTH_LOG2.W), 0.U)
WrPtr0_m := MuxCase(WrPtr0_r, (0 until DEPTH).map(i=>((buf_state(i)===idle_C) & WrPtr0_m := MuxCase(3.U, (0 until DEPTH).map(i=>((buf_state(i)===idle_C) &
!((ibuf_valid & (ibuf_tag===i.U)) | (io.lsu_busreq_r & !((ibuf_valid & (ibuf_tag===i.U)) | (io.lsu_busreq_r &
((WrPtr0_r === i.U) | (io.ldst_dual_r & (WrPtr1_r === i.U)))))) -> i.U)) ((WrPtr0_r === i.U) | (io.ldst_dual_r & (WrPtr1_r === i.U)))))) -> i.U))
io.buf_state := buf_state.reverse.reduce(Cat(_,_)) io.buf_state := buf_state.reverse.reduce(Cat(_,_))
val WrPtr1_m = WireInit(UInt(DEPTH_LOG2.W), 0.U) val WrPtr1_m = WireInit(UInt(DEPTH_LOG2.W), 0.U)
WrPtr1_m := MuxCase(WrPtr1_r, (0 until DEPTH).map(i=>((buf_state(i)===idle_C) & !((ibuf_valid & (ibuf_tag===i.U)) | WrPtr1_m := MuxCase(3.U, (0 until DEPTH).map(i=>((buf_state(i)===idle_C) & !((ibuf_valid & (ibuf_tag===i.U)) |
(io.lsu_busreq_m & (WrPtr0_m===i.U)) | (io.lsu_busreq_m & (WrPtr0_m===i.U)) |
(io.lsu_busreq_r & (((WrPtr0_r === i.U)) | (io.lsu_busreq_r & (((WrPtr0_r === i.U)) |
(io.ldst_dual_r & (WrPtr1_r===i.U)))))) -> i.U)) (io.ldst_dual_r & (WrPtr1_r===i.U)))))) -> i.U))