以下是源程序,高手帮忙看向时序或其他哪里有错的,我怎么调写到sram的数据都不对<br /><br />process(CLK,keyget)<br />begin<br />if CLK'event and CLK='1' then <br /> case state is<br /> <br />when st0 => <br /> if keyget='0' then LED<='1';state <= st1; <br />else state<=st0;RAM_CS<='1';RAM_WE<='1';RAM_OE<='1';LED<='0'; count<=0;temp<="00000000"; <br />end if;<br /> <br />when st1 => <br />if addr="111111111111111" then LED<='0';state <= st0;else addr<=addr+1;temp<=temp+1;state<=st2; --判断是否写完,写完转重录<br />end if;<br /> <br />when st2 => state <= st3;RAM_CS<='0'; --向ram写数据<br /> <br />when st3 => state <= st4;RAM_WE<='0';<br /> <br />when st4 => state <= st5;dataout<=temp;<br /> <br />when st5 => state <= st6;dataout<=temp;<br /> <br />when st6 => state <= st7;dataout<=temp;<br /> <br />when st7 => state <= st8;dataout<=temp;<br /> <br />when st8 => state <= st9;RAM_WE<='1';<br /> <br />when st9 => state <= st1;RAM_CS<='1';<br /> <br />END CASE;<br /> <br />END IF;<br /> <br />END PROCESS;<br /> |
|