<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=ISO-2022-JP">
<TITLE> ROM_WRITER </TITLE>
</HEAD>
<BODY BGCOLOR="#F0FFF0">

<H1><IMG SRC="icons/suz.gif"> ROM_WRITER </H1>
<P>
<CENTER>
<IMG SRC="http://www.at.sakura.ne.jp/~suz/EAGLE/ROMWriter-02083.jpg">
<IMG SRC="http://www.at.sakura.ne.jp/~suz/EAGLE/ROMWriter-02084.jpg">
</CENTER>
<P>
Xilinx $B$N(B XC9572XL-VQ64 $B$H$$$&(B CPLD $B$G(B $B:n$k(B Flash ROM $B%i%$%?$N>R2p$G$9!#(B
<P>
$B$3$N(B  Flash ROM $B%i%$%?$O!"(B
SPI $B$N$h$&$J(B $B#3@~(B $B$N(B $B%7%j%"%k(B I/O $B$r(B HOST $B%$%s%?!<%U%'%$%9$K;}$C$F$$$F(B
$B!"(BFlash ROM $B$KBP$7$F!"(BRead/Write $B$9$kAuCV$G$9!#(B( $B$3$3$G$$$&(B Write $B$O!"(B
Addr/Data $B@~$r=PNO$7$F!"(BWE $B$KBP$7$F%M%,%F%#%V%Q%k%9$,=P$;$k$H$$$&0UL#!#(B
Flash ROM $B$N(B Write $B%7!<%1%s%9$r<+F0$G=PNO$9$k$o$1$G$O$J$$(B)

<P>
<A HREF="usb_sio.html">USB_SIO</A>$B$G07$($k$h$&$K@_7W$7$F$$$^$9$,!"(B
USB $BIt$,$J$/$H$b!"(BNAXJP $B$N%1!<%V%k$r;H$$!"%W%m%0%i%`$rMQ0U$9$l$P(B
Flash ROM $B%i%$%?$H$7$F5!G=$9$k$O$:!#(B

<HR>

<H3>HOST $B%$%s%?!<%U%'%$%9(B</H3>

<H4>$B?.9f@~(B</H4>

<PRE>
  $B<!$N(B 4 $B$D$N?.9f@~$r;H$$$^$9!#(B

   DI
   CK
   DO
   SEL

</PRE>

<H4>$B%j%;%C%H(B</H4>

<P>
$B$^$:!"DL?.$NF14|$r<h$k$?$a$K!"=jDj$NF0:n$r$9$kI,MW$,$"$j$^$9!#(B
$B=jDj$NF0:n$H$O(B..

<PRE>
    1) SEL $B$r(B 'H' $B$K$9$k!#(B
    2) CK $B$r(B 'L' $B$K$7$F!"%]%8%F%#%V%Q%k%9$r(B 1 $B2s0J>e=PNO$9$k!#(B
    3) SEL $B$r(B 'L' $B$K$9$k!#(B


    SEL     XXXX~~~~~~~~~~~~|_________

    CK      XXXXXXX__|~|______________

</PRE>


<H4>1 bit $BAw<u?.(B</H4>

1 bit $B$rAw?.$7<u?.$9$k%?%$%_%s%0$O0J2<$N$H$*$j(B

<PRE>

     1) DI $B$K(B $BAw?.%G!<%?$r=PNO(B
     2) CK $B$r(B 'H' $B$K$9$k!#(B
     3) CK $B$r(B 'L' $B$K$9$k$H$b$K!"(BDO $B$+$i<u?.%G!<%?$rF~NO$9$k!#(B


       DI        --------XXXXXXXXXXXXXXXX----


       CK  ______________|~~~~~~~~|_______

      
       DO         -------XXXXXXXXXXXXXXXXX------


                                  $B",(B
                                 $B<h$j$3$_%?%$%_%s%0(B
</PRE>

<H4>1 $B%P%$%H(B $BAw<u?.(B</H4>
<P>
$B$9$Y$F!"(B8 bit $BC10L$G%"%/%;%9$7$^$9!#(B
bit $B$N=gHV$O!":G=i$K(B ( $B$*$?$,$$$N(B ) MSB $B$rF~=PNO$7$F!":G8e$K(B
( $B$*$?$,$$$N(B )LSB $B$rF~=PNO$7$^$9!#(B

<PRE>

         CK      _____|~|_|~|_|~|_|~|_|~|_|~|_|~|_|~|_________

         DI           | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |

         DO           | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |

</PRE>

<H4>$B%3%^%s%I%7!<%1%s%9(B</H4>

<H5> READ </H5>
<P>
$B%3%^%s%I!"%"%I%l%9(B 24 bit $B!"%P%$%H?t!"%@%_!<%G!<%?(B x 2  x $B%P%$%H?t(B
$B$NAw<u?.$r$7$^$9!#(B 
<P>
<PRE>
    $BAw?.(B                             $B<u?.(B

$B%3%^%s%I(B

    0   0   X   RST  X   X   X   X       0   1   0   1   0   0   1   1 

$B%"%I%l%9(B
    X   X   X   A19 A18 A17 A16 A15      RDY  0  X   X   0   0   0   0
   A14 ----------------------   A7       X   X   X   X   X   X   X   X
   A7 ---------------------- A1 A-1      X   X   X   X   X   X   X   X

$B%P%$%H?t(B
   ( 0 $B$O!"(B256 $B$N0UL#(B)                   X   X   X   X   X   X   X   X


$B%@%_!<%G!<%?(B1

     X   X   X   X   X   X   X   X       X   X   X   X   X   X   X   X       

$B%@%_!<%G!<%?(B2

     X   X   X   X   X   X   X   X          READ  $B%G!<%?(B

   ( $B%P%$%H?t2sJ,(B  $B%@%_!<%G!<%?(B1 , 2 $B$r$/$jJV$9!#(B
     $B%"%I%l%9$O(B $B2<0L(B 8 bit $B$N$_(B $B<+F0$G%$%s%/%j%a%s%H$5$l$k!#(B)
  

RST  -- Flash ROM $B$N(B RESET $B?.9f$NCM(B(out)
RDY  -- Flash ROM $B$N(B RDY $B?.9f$NCM(B(in)

</PRE>

<H5> WRITE </H5>
<P>
READ $B$N$h$&$K(B
$B%3%^%s%I!"%"%I%l%9(B 24 bit $B!"%P%$%H?t!"(B( WRTE$B%G!<%?(B, $B%@%_!<%G!<%?(B) x $B%P%$%H?t(B
$B$NAw<u?.$r$7$^$9!#(B 
<P>
<PRE>
    $BAw?.(B                             $B<u?.(B

$B%3%^%s%I(B

    0   1   X  RST  X   X   X   X        0   1   0   1   0   0   1   1 

$B%"%I%l%9(B
    X   X   X   A19 A18 A17 A16 A15      RDY  0  X   X   0   0   0   1
   A14 ----------------------   A7       X   X   X   X   X   X   X   X
   A7 ---------------------- A1 A-1      X   X   X   X   X   X   X   X

$B%P%$%H?t(B
   ( 0 $B$O!"(B256 $B$N0UL#(B)                   X   X   X   X   X   X   X   X


WRITE$B%G!<%?(B

       WRITE $B%G!<%?(B                     X   X   X   X   X   X   X   X       

$B%@%_!<%G!<%?(B

     X   X   X   X   X   X   X   X      X   X   X   X   X   X   X   X       


   ( $B%P%$%H?t2sJ,(B  WRITE$B%G!<%?(B,$B%@%_!<%G!<%?(B $B$r$/$jJV$9!#(B
     $B%"%I%l%9$O(B $B2<0L(B 8 bit $B$N$_<+F0$G%$%s%/%j%a%s%H$5$l$k!#(B)
  

RST  -- Flash ROM $B$N(B RESET $B?.9f$NCM(B(out)
RDY  -- Flash ROM $B$N(B RDY $B?.9f$NCM(B(in)

</PRE>

<H5> $B@)8f?.9f(B READ/WRITE $B$N$_(B </H5>

$B%3%^%s%I!"%@%_!<%G!<%?(B $B$NAw<u?.$r$7$^$9!#(B 
<P>
<PRE>
    $BAw?.(B                             $B<u?.(B

$B%3%^%s%I(B

    1   1   X  RST  X   X   X   X        0   1   0   1   0   0   1   1 

$B%@%_!<%G!<%?(B
    X   X   X   X   X   X   X   X        RDY  0  X   X   0   0   1   1

RST  -- Flash ROM $B$N(B RESET $B?.9f$NCM(B(out)
RDY  -- Flash ROM $B$N(B RDY $B?.9f$NCM(B(in)

</PRE>
<P>
$B$3$N$h$&$K!"(BWrite $B5!G=$O!"%"%I%l%9(B,$B%G!<%?$r=PNO$7$F(B WE $B?.9f$K%Q%k%9$r(B
$B=P$9$b$N$G$9!#$7$?$,$C$F!"<B:]$K(B Flash ROM $B$K=q$-9~$`$K$O!"(B
$B>e$N(B Read / Write $B5!G=$r;H$C$F!"%W%m%0%i%_%s%0$7$F$d$kI,MW$,$"$j$^$9!#(B

<HR>

<H3>$B@-G=$K$D$$$F(B</H3>
<P>
$B%U%k$K(B FTDI $B$N(B $B@-G=$,=P$;$l$P!"$?$V$s(B 500 K $B%P%$%H(B/sec $B$0$i$$$^$G$$$/(B
$B$N$G$O$J$$$+$H;W$C$F$$$k$s$G$9$,!"(B
<P>
Linux $B$N(B FTDI $B%I%i%$%P$G$O!"$J$s$i$+$NLdBj$,$"$k$i$7$/!"(B
USB_SIO $B$G$O(B 20K - 30K $B%P%$%H(B/sec $B$0$i$$$G$7$+!"(B
$B%7%j%"%k$N%G!<%?$r(B $BAw?.(B + $B<u?.$G$-$J$$$h$&$G$9!#(B
<P>
1)ROM $B$N(B Read $B$N>l9g$O!"(B1 $B%P%$%H$"$?$j(B 2 $B%P%$%H$N(B $BAw?.(B/$B<u?.(B
$B$,I,MW$G$9!#%X%C%@$J$I$b$"$k$N$G!"(B32 $B%P%$%H$N(B Read $B$K(B 71 $B%P%$%H$N(B
$BAw<u?.$9$k$h$&$K$7$?$b$N$G$I$l$0$i$$;~4V$,$+$+$k$+D4$Y$^$7$?!#(B
<P>
2)$B$^$?!"(BWrite $B$N>l9g!"O"B3(B Write $B$H$$$&%b!<%I$,$"$k$N$G$9$,!"(B
$BE,Ev$J%G%#%l%$$rF~$l$J$$$H$$$1$J$$$N$G!"(B8 $B%P%$%H$r=q$/$N$K(B
$B$J$s$H(B 109 $B%P%$%H$NAw<u?.$r$9$k$h$&$K$J$C$F$7$^$$$^$7$?!#(B
<P>
3)$B%A%C%W%$%l!<%:$N>l9gE>AwNL$NLdBj$J$I$O$J$$$N$G$9$,!"(B
$B$$$C$?$$$I$l$0$i$$$N;~4V$,$+$+$k$N$+(B... RDY $B?.9f$,(B $BJQ2=$9$k$^$GBT$A9g$o$;$k(B
$B$3$H$G;~4V$rB,Dj$7$F$_$^$7$?!#(B
<P>

<PRE>
$B@-G=%G!<%?(B  Flash ROM MBM29LV400 (512K $B%P%$%H(B)

$BFI$_9~$_(B        52 $BIC(B          22K $B%P%$%H(B/sec ( $B$N(B $BAw<u?.(B)
$B=q$-9~$_(B       263 $BIC(B          27K $B%P%$%H(B/sec 
$B>C5n(B            19 $BIC(B

</PRE>
<P>
$B8+9~$_$h$j?oJ,CY$$$G$9$,!"(B
Linux $B$N%I%i%$%P$,!"(BFTDI $B%A%C%W$N@-G=$r0z$-=P$;$l$P!"(B
$B=q$-9~$_(B/$BFI$_$@$7$O!"$3$N(B1$B7eB.$/$J$k2DG=@-$,$"$j$^$9!#(B
<P>
$B$A$J$_$K!">e5-$N%G!<%?$O!"(BUSB_SIO $B$K:GE,2=$7$?%W%m%0%i%`$G9T$C$F$$$^$9!#(B
$B%W%m%0%i%`$N:n$j$K$h$C$F$O!"$3$N2?G\$b$*$=$/$J$k(B
$B2DG=@-$,$"$j$^$9!#(B
<P>
$B:G0-$J$N$O!"(B1$B%P%$%H(B $B=q$$$F(B1 $B%P%$%HFI$`$H$$$&%O%s%I%7%'!<%/$r$9$k%W%m%0%i%`!#(B
$B$3$N>l9g%G%#%l%$$,%\%H%k%M%C%/$K$J$C$FHa;4$J@-G=$K$J$j$=$&$G$9!#(B
<P>
$B>e5-$N%W%m%0%i%`$G$O!"(BWrite $B$H(B Read $B$r$:$i$7$F$$$^$9!#(B
<P>

<PRE>
            | Write 3 |        | Write 4 |        | Write 5 |
                      | Read 2 |         | Read 3 |         | Read 4
                       
</PRE>
<P>
$B$H$$$C$?=hM}!#:#$N4D6-$@$H!"(B128 $B%P%$%H(B - 512 $B%P%$%H$0$i$$$:$i$;$P!"(B
$BNI$$$h$&$G$9!#(B


<P>
<HR>
<P>
$B0J>e$O!"$3$N%\!<%I$r;H$C$?(B ROM_WRITER $B$N>R2p$G$7$?$,!"(B
CPLD $B$,#1$D$"$k$@$1$G$9$+$i!"B>$N2sO)$rAH$s$G0c$&MQES$K$b;H$($k$O$:$G$9!#(B
$B$$$:$l!"$3$l$r;H$C$?$J$K$+$r:n$C$F$_$?$$$H;W$C$F$$$^$9!#(B
<P>
$B:#9M$($F$$$k$N$O!"(BROM $B%=%1%C%H$K(B $B:\$k(B RAM + CLOCK $B$N%\!<%I$r:n$C$F!"(B
$B$=$l$G$G$-$k$3$H!#(B
<P>

<HR>


<P>
<H3>ModelSYM $B$G$N(B $B%?%$%_%s%0(B</H3> 
<P>
<H4>READ + $B@)8f@~(B READ/WRITE</H4>
<CENTER>
<IMG SRC="http://www.at.sakura.ne.jp/~suz/arc/rwtest_01.gif">
</CENTER>

<H4>WRITE</H4>
<CENTER>
<IMG SRC="http://www.at.sakura.ne.jp/~suz/arc/rwtest_02.gif">
</CENTER>
<P>
Flash ROM $B$N(B READ/WRITE$B$N$?$a$K(B 8 clock $B;H$C$F$$$k$N$,8+$($k$H;W$$$^$9!#(B
$BK\Ev$O%Q%$%W%i%$%s$G=hM}$7$?$+$C$?$N$G$9$,(B....8bit $B$N(B $B%i%C%A$,F~$i$J$$(B
$B$?$a!"%@%_!<$N4|4V$,I,MW$K$J$j$^$7$?!#(B
<P>

 
<P>
<HR>
<P>
<H3>VHDL $B%=!<%9%3!<%I(B</H3>
<P>
<ul>
<li> <A HREF="http://www.at.sakura.ne.jp/~suz/arc/rom_writer-002.tgz">
rom_writer-002.tgz </A>
</ul>
<P>
<H3>$B%a%b(B</H3>
<ul>
<li> <a href="USBSER.txt">XC9572XL$B$H(B8U245AM$B$G:n$k(BUSB$B%7%j%"%k(BIO $B@_7W%a%b(B</a>
<li> <a href="CPLDROMW.txt">XC9572XL$B$G:n$k(BROM$B%i%$%?@_7W%a%b(B</a>
<li> <a href="http://suz.s7.xrea.com/cgi-bin/tiki.cgi?c=v&p=%C5%C5%BB%D2%B9%A9%BA%EE%2F%A5%DC%A1%BC%A5%C9%C0%DF%B7%D7">$B%*%s%i%$%s$N%a%b(B(tiki)</a>
</ul>

<P>
<H3>$B4XO"(B URL </H3>
<ul>
<li><a href="http://member.nifty.ne.jp/nahitafu/naxjp/naxjp-j.html">NAXJP</a>
<BR>
Linux/Windows $B$G(B PC $B$N%Q%i%l%k%]!<%H$r;H$$(B Xilinx CPLD $B$N=q$-9~$_$,$G$-$k(B
$B%=%U%H!#(B
    <ul>
    <li> <a href="http://www.at.sakura.ne.jp/~suz/arc/VQ64.diff">
VQ64.diff </a> --- $B%P%&%s%@%j%9%-%c%s(B XL9572XL-VQ64 $B%5%]!<%H%Q%C%A(B
    </ul>
<li><a href="http://www.ipishop.com">IPI</a> 
<BR>
FT245AM $B$rF~<j!#(B

<li><a href="http://www.ftdichip.com/Documents/ft245r09.pdf">FT8U245AM$B%G!<%?%7!<%H(B</a>

<li><a href="http://www.tripleone.net">$B%H%j%W%k%o%s(B</a> 
<BR>
$B%H%i5;9-9p$r$_$F(B Xilinx CPLD XC9572XL-VQ64 $B$rF~<j!#(B

<li><a href="http://www.morphyplanning.co.jp/">$B%b%k%U%#!<4k2h(B</a>
<BR>
USB $BIt$O!"(B
$B$3$3$N(B FTDI $B%\!<%I$N2sO)?^$H$[$\F1$8$G$9!#(B( $B2sO)$N%*%j%8%J%k$O(B 
FTDI $B$+$i=P$F$$$k$i$7$$$N$G$9$,!"$3$C$A$r8+$^$7$?!#(B)

<li><a href="http://rswww.co.jp/">rswww.co.jp</a>
<BR>
$BI=LL<BAuItIJ$r$3$3$+$iF~<j$7$h$&$+$H;W0FCf!#(B

<li><a href="http://www.xilinx.co.jp/"> Xilinx $B%[!<%`%Z!<%8(B</a>
<BR>
$B$3$3$+$i(B $B@=IJ>pJs(B -> CPLD -> XC9500XL $B$H$?$I$l$P!"(BXC9572XL $B$N>pJs$,F~<j2DG=!#(B
<li><a href="http://www.xilinx.co.jp/support/sitemap.htm">Xilinx $B%5%]!<%H(B $B%5%$%H%^%C%W(B</a>
<BR>
$B$3$3$N(B $B%=%U%H%&%'%"EPO?(B WebPACK  $B$+$i!"3+H/%D!<%k$,%@%&%s%m!<%I$G$-$^$9!#(B
$B$?$@$75pBg!#(B(100MB $B0J>e$@$C$?$h$&$J(B...)
</ul>

<HR>
<p>Mail</p>
<dl>
<dd><i><a href="mailto:suz@at.sakura.ne.jp">suz@at.sakura.ne.jp</a></i>
</dl>
<!--#exec cmd="./cgi-bin/counter.cgi"-->
</BODY>
</HTML>
