um this work was actually done by my student oh you you was right now doing an internship at at uh at in i get to come to prior well he's working um so the basic idea here was that the on know that would did scaling helps in reducing though energy consumption but when you want to scale aggressively you want to introduce errors into the system those errors can being the data five those errors can be in the memory the question is can you compensate for the errors um all the errors that you introduced because of old two over scaling anyone to compensate for the errors not by using standard E C sees or something we you want to compensate using algorithms specific techniques so that be the overhead would be a small so that's that's an intention so um there's have a low energy codecs X um on the left hand if i can get to to work okay so here you have a low energy low quality um and you could have a high energy you high quality what we were trying to seize whether be good um get a high quality with medium and it you are low energy possible couple of slides with the background so the source of errors in the memories that be were looking at of these were all six transistor as ram a cells primarily due to mediation variations mismatches of the different cells and an S from and other the one modelling was done with respect to random to open to fluctuation R D F on the B T eight um so that what happens here is that the threshold as a special uh i with with technology scaling that's trash more due to variation increases and that's shown over here on the right with um signal V T so these are for at that you do not a does six transistor as from cells for different what did levels you instead of the norm in a a a point ninety five drop down to point seven five i can get a ten minus four bit error rate i become more a greedy and more aggressive and go down to about point six eight more operation you can go up you can the bit error rate increase spectacular to ten minus three um the most of my presentation i be operating on either ten minus four or ten minus five oh ten minus three sorry um so from point nine volts at three two you're dropping down to point seven five a sum of for synthesis results are for forty five nine a meat is we actually um go down from in mean what to do one words to about point eight no i i a data plots again um let's say i used to twelve bit it add or for my discrete cosine transform these are um all the transform computations are done with shifts hardwired shifts and adds um the model that is used to over here is as follows so um the F A is the nominal delay of for for or so these are all um you got all of these results by actual synthesis these systematic is the delay due to a systematic variation of the order of of five because seconds of this is about thirty five but um oh point nine volts to one word a this is a a delayed you to random variation and you have a signal F E which is the really as oh is a which is the variance of T your no i i have if i'm looking at any one of these um positions up here there all of these critical parts that goal we here in a minute average show you how we calculate the probability of errors by summing up the effect of each or of for error in each of these spots are but got pretty the are in this position and calculate the error in this position and so on so basically by have would deal a of a carry chain that starts from a one for ladder and ends another for latter it can be represented in this particular forms so D chain it doesn't matter rate starts as long as the length of the chain is the same um depends upon these values which are obtained by um a simulations and then i the circuit simulations and then the use um values as well so it so F you know the deal a from one to ten is the same assumption here is that the delay from one to ten is the same as the delay from two to a can tuning on with the data but three or models so here is a plot that of that shows the um error error probability function of what is level and the bit position so this is forty five had a critical part of form hundred because seconds and this particular case so you can see that you will get errors of the word here in the most significant bit positions obviously D increase significantly as my what did let woods go down and in the L is these the pretty much very flat which means that i could get to oh this is a pdf of errors for bit error rate and mine as for like a that most of that that you can of focus on bad um we we i had more colours here anyways the data at error was like this of this is a as P positions of this is your L as E this is your M as P the map T error is fairly constant over here or that that you in a bit what those um i up to and this is your overall error which is the it's and i'm jumping ahead of a little bit were here yeah that came from a B G peg addition where a um this is a two dimensional dct block if i have an error during role computations those error as it propagated in the column otherwise we assume that the data but errors and the memory errors are um so the whole thing was implemented so you have to do it was not this is not a for chip implementation of parts of those uh what implemented in hardware all not to be compensated for yeah a techniques that you look at a couple of things that want to show here one is the magnitude all um coefficients with respect to the quality metric use a high you means good quality um if you know is that for these if C coefficients are you looking at is exact scan for two D C Ds so uh you have the dc coefficient next X is if you one the one that that is is to and so one so you doing as exact scan were here notice that many of these coefficient independent of the value of you have bad no not need that they also so this is one point to note second point to note is this particular lot that shows a cross twenty blocks um and this is a these so this is your D C this is you sixty part it's C coefficient oh the magnitude of the dc coefficient value significantly block to block but you can look at this whole place it's almost the same there as you things that the the different so you see one more things is that the C coefficients representing the same frequency at neighbouring blocks have a so they are similar uh are round the same log a similar wrong and the other thing of course is that the mac you'd is very small a here for the high but which are that's why have the whole one position matrix that okay so now there are errors in the system how are you going to detect they take their three things up there first what we did is we can have um um assume that you would have it E annotation so i i have a higher Q that needs high quality over here so for high quality group one consists of um D C two if C fifteen group to consist of is C sixteen to the next um sixteen coefficients and so on so that's so you broke up the sixty four coefficient you can see that rule for which is a high is equipped as you could do with very few number of it and this is something that mean used in designing a wide chips by others that was work and um ten eleven years ago by john the class and and one of fit students that a mighty where they drop the number of coefficients tricks follow up word of a slightly different sorry from coarse she cries group but do you where because it i i i essentially actually be the number of bits at each level um we not doing that is assuming that to have a you know somebody else chips everything is done you are looking at our but be playing tricks on so the for technique technique very very simple it detects errors that are in the sign extension bits of coefficients so for instance if i were in group to and um so i you could be after the quantization of only have five bits i three bits of sign extent set was three bit and on the same i know that is a so so it tech and then you just you know you can pick the three bits from the sign extension bits to find the correct ones if you have more do more of course this is applicable only to the stop don't a couple of the second is that but functions that are it just sent to each other have similar back it could be a just in the same block do frequencies are um same frequency to so essentially actually what you do what you're doing is you're just acting and error when there's an abnormal increase in magnitude in one of the sessions we just search what he's a couple of things uh around and it yet for you know that there is an no that combat most of the because the data file a i and this particular um K is but then you do have some errors for the lower order uh that happens during the D quantization that the no you you you set things with a few number of bits but then you have to sit the uh so one in the decoder level so here the the processing of the little bit different you got check neighbours was of the car in bit and that's you you look at neighbouring blocks of the same frequency and same blocks neighbouring frequencies and then um the hardware overhead for this is that um the simulations that that be are compare be are doing everything would be it with respect to baseline chip big um all the performances and i versus compression rate and there was also i a show you hear are for these four images but since then you and you know the same thing for for other which is that so the trend but the trends are pretty much the same but i will don't each for these four how do better performance the to read the results that i'm would to show you hear i just for the overhead part now the words we did not implement the whole baseline jpeg all that was implemented in hardware is just a head to detect the errors um the were done use design compiler from synopsis some synthesized using forty five not a meter using and get library okay so the are oh must so this is the simulation results one for the bridge image the others are very similar not summarise that for you so here here if you looking psnr snr bit that compression rate bits per pixel so not just that the on this very what am ox sorry let's start from the top this is your error free for the bridge image it's is is how the core should have look like and this is if you do do their were errors in the system and you didn't do it and this is you are no correction so are met that's will allow you to operate up here okay is so i about point seven five bits per pixel which is a you know you common uh a comparison point you are one point five db less then if you had no errors and you are for D V from you for D V better if you um didn't do anything and how much is the power gains for this you looking at a buyout out rough estimate would i would say if if i assume that um everything in a baseline jpeg the ones that we looking at which is D C T and quantization before the entropic order looking about sixty to seventy percent of the power consumption and but this drop from about one more to about point it will to getting about as and reduction um this is a four bit error rate ten minus three which is more aggressive so you're you have scale the would it significantly um but you are we off compared to so you are so this is the algorithm specific technique that talked about your four D below at point seventy five bits per pixel that your for about four db below what the normal error um a a a rough would be and you are nine be better than if you had not done anything and just in uh what these are just the simple for ten minus for be kind of mostly focused on that of that then mine three was we to address of but yeah but it of ten minus four point seven five bits per pixel a you what to what little bit more than of four db improvement on average reduction is about one point eight db for the best this search this circuitry overhead it's actually a very small i mean this is the first the step one only needed a majority of order for three bit not a big D second one was just a coefficient compared to which is probably one of the higher ones and this is the magnitude correction unit that you needed for step three like i said this is jeff the overhead of those a this is just the circuitry over head of the three methods we did not and all baseline jpeg so you can load so the proposed out um i've with the specific technique um essentially exploit that characteristics of the quantized what versions of this is not thing that will work for jpeg a other work that was along the same lines for other image and video X a that the coefficients are correlated related but it's D D in be transforms in some cases um the that had been been using the a number of i the reducing the number of bits that you require are correcting errors if there are um errors in the system that are introduced but there it's for a memory or but it's in the data path and you know the core of the technique improves the psnr our performance like a said by about four db compared to the no correction case with the degradation of less than two db compared to the error-free that oh my talk like to some questions now and questions from the you want use yes errors happening in these D she the mouth should should be three so would be possible to of the errors also in your compensation G um the the deal at the critical part D V is so incredibly small here that that the would it does that M operating on so when these results were what that it's the same operating what did so let's a ml parading what do was that point eight five or point seven what's um not for what is your we're scaling for sure i mean there has come for something else than that would be a as in the other system as well but you the critical part is the fraction of their very small units we a good but there's a very small fraction so you will get um you you want have those kind of errors yeah yeah questions okay thank you prefer