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