<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"Trebuchet MS";
        panose-1:2 11 6 3 2 2 2 2 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoNoSpacing, li.MsoNoSpacing, div.MsoNoSpacing
        {mso-style-priority:1;
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Trebuchet MS","sans-serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Trebuchet MS","sans-serif";
        font-variant:normal !important;
        color:windowtext;
        text-transform:none;
        position:relative;
        top:0pt;
        mso-text-raise:0pt;
        letter-spacing:0pt;
        text-shadow:none;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;
        vertical-align:baseline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE-CH link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><font size=2 face="Trebuchet MS"><span lang=EN-US style='font-size:11.0pt;font-family:"Trebuchet MS","sans-serif"'>Hi Davide<o:p></o:p></span></font></p><p class=MsoNormal><font size=2 face="Trebuchet MS"><span lang=EN-US style='font-size:11.0pt;font-family:"Trebuchet MS","sans-serif"'>The RISC5 is clocked at 25 MHz. Because the VGA driver “steals” some time, the RISC5 effectively runs at ~23.25 MHz.<o:p></o:p></span></font></p><p class=MsoNormal><font size=2 face="Trebuchet MS"><span lang=EN-US style='font-size:11.0pt;font-family:"Trebuchet MS","sans-serif"'>Jörg<o:p></o:p></span></font></p><p class=MsoNormal><font size=2 face="Trebuchet MS"><span lang=EN-US style='font-size:11.0pt;font-family:"Trebuchet MS","sans-serif"'><o:p>&nbsp;</o:p></span></font></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><font size=2 face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif";font-weight:bold'>From:</span></font></b><font size=2 face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Davide Della Casa [mailto:davidedc@gmail.com] <br><b><span style='font-weight:bold'>Sent:</span></b> Montag, 18. Mai 2015 20:35<br><b><span style='font-weight:bold'>To:</span></b> oberon@lists.inf.ethz.ch<br><b><span style='font-weight:bold'>Subject:</span></b> [Oberon] Oberon on FPGA - how much does the system &quot;stallx&quot;?<o:p></o:p></span></font></p></div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p><div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>Hi,<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>I'm reading on how Oberon of FPGA manages video generation - the chosen way is to have SRAM in common between CPU and video system.<o:p></o:p></span></font></p><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>So (reading the docs) the &quot;stallx&quot; line is used to arbitrate: &quot;The signal (wire) dspreq stalls the processor (stallX) and decides whether the memory address (SRAdr) should be taken from the processor (adr) or the display controller (vidadr)&quot;.<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>Now I'm wondering what percentage of time does the CPU stall because of this? Is the CPU only effectively free to work during the &quot;invisible lines&quot; and &quot;beam reset&quot; times? Or is there significant time available while &quot;racing the beam&quot;?<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>Also I'm curious to know whether alternate solutions could potentially be in the cards to avoid the contention<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>a) dual port SRAM (too expensive / too many pins needed?)<o:p></o:p></span></font></p></div><div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>b) SRAM used in two &quot;blocks&quot; - one dedicated to screen and other so contention is reduced (too many pins needed?) - potentially with a way for the CPU to know if the &quot;video&quot; block is available.<o:p></o:p></span></font></p></div></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>c) ...?<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>(I'd think that such considerations could be worthy of inclusion in the docs by the way)<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>Any links welcome about other typical arrangements of interest that are found in fpga projects &quot;in the wild&quot; in respect to video management...<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'><o:p>&nbsp;</o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>Cheers,<o:p></o:p></span></font></p></div><div><p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:12.0pt'>Davide Della Casa<o:p></o:p></span></font></p></div></div></div></body></html>