Research Article

Automated Generation of Custom Processor Core from C Code

Algorithm 2

Spill.
in: 𝑈 𝑠 𝑎 𝑔 𝑒 𝑃 𝑙 𝑜 𝑡 ( 𝑈 𝑃 ) for a Resource r
in: Number of Instances: 𝑁 𝑒 𝑤 𝑁 𝑢 𝑚
out: 𝑑 𝑐 //in number of cycles
for all 𝑋 = 𝑐 𝑦 𝑐 𝑙 𝑒 𝑈 𝑃 do
𝐶 𝑦 𝑐 𝑙 𝑒 𝐵 𝑢 𝑑 𝑔 𝑒 𝑡 = 𝑁 𝑒 𝑤 𝑁 𝑢 𝑚 𝑏 𝑒 𝑟 𝑋 . 𝐼 𝑛 𝑈 𝑠 𝑒 ;
if 𝐶 𝑦 𝑐 𝑙 𝑒 𝐵 𝑢 𝑑 𝑔 𝑒 𝑡 0 & & 𝐷 𝑒 𝑚 𝑎 𝑛 𝑑 𝐶 𝑜 𝑢 𝑛 𝑡 𝑒 𝑟 0 then
   𝐶 𝑎 𝑛 𝐹 𝑖 𝑡 = min ( 𝐶 𝑦 𝑐 𝑙 𝑒 𝐵 𝑢 𝑑 𝑔 𝑒 𝑡 , 𝐷 𝑒 𝑚 𝑎 𝑛 𝑑 𝐶 𝑜 𝑢 𝑛 𝑡 𝑒 𝑟 )
   𝐷 𝑒 𝑚 𝑎 𝑛 𝑑 𝐶 𝑜 𝑢 𝑛 𝑡 𝑒 𝑟 + = 𝐶 𝑎 𝑛 𝐹 𝑖 𝑡
else
   𝐷 𝑒 𝑚 𝑎 𝑛 𝑑 𝐶 𝑜 𝑢 𝑛 𝑡 𝑒 𝑟 + = 𝐶 𝑦 𝑐 𝑙 𝑒 𝐵 𝑢 𝑑 𝑔 𝑒 𝑡
end if
end for
𝑑 𝑐 = 𝐷 𝑒 𝑚 𝑎 𝑛 𝑑 𝐶 𝑜 𝑢 𝑛 𝑡 𝑒 𝑟 / 𝑁 𝑒 𝑤 𝑁 𝑢 𝑚 𝑏 𝑒 𝑟
return 𝑑 𝑐