PC design with DEMUX

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

PC design with DEMUX

burhan
Hello eveyone ,

DMux8Way ( in = zr , sel = instruction[0..2] , a = Izero , b = Ione , c = Itwo , d = Ithree , e = Ifour , f = Ifive , g = Isix , h = Iseven );
 //
 //
And  ( a = Isevenout , b = instruction[15] , out = outIseven); // just one sample. Always use that for A or C
 //
 //
Or8Way ( in[0] = outIzero , in[1] = outIone , in[2] = outItwo , in[3] = outIthree , in[4] = outIfour , in[5] = outIfive , in[6] = outIsix , in[7] = outIseven , out = jump) ;

PC   ( in = outAregister , load = jump , inc = true , reset = reset  , out[0..14] = pc );

It doesn't work .

Anyone has an idea why it is ??

thank you
Reply | Threaded
Open this post in threaded view
|

Re: PC design with DEMUX

WBahn
Administrator
I have no idea what I'm looking at here.

Are you saying that your PC design has four parts in it, one of which is a PC part?

I would guess that it doesn't work because it seems like a complete mishmash

Look at the description of what PC needs to do. Take each case one at a time.

Keep in mind that, in general, what PC needs to output is related to what it output last time. That means that PC has to be able to remember what it output last time. What does that tell you about one of the parts you are going to need (i.e., if you are going to remember something)?
Reply | Threaded
Open this post in threaded view
|

Re: PC design with DEMUX

burhan
:) , okay , it's a little mishmash.

first  , i m taking zr as input of DMux8Way.

second ,  sel = instruction[0..2] , which  are J1J2J3 as DMux8Way selection inputs.

third , there are 8 outputs of DMux8Way  ,  as jump conditions .

    "For example ; if J1J2J3 = 001 , the first outout of DMux8Way is ACTİVE.
     My first outout is zr , as named Ione.
     I mean b output of  DMux8Way = Ione.
     And im doing that ;
     
     Or   ( a = Ione , b = ng , out =orIone ) ;
     Not  ( in = orIone , out = notIone ) ;
     And  ( a = notIone , b = instruction[15] , out = outIone);
   "

Finally i use the output "outIone" as PC register "load" input.

if its one , PC ll jump
else PC ll incremant.
     
     
Reply | Threaded
Open this post in threaded view
|

Re: PC design with DEMUX

burhan
In reply to this post by WBahn
Dear Admin ,

Also my critical question is ;

For a moment , only one output of the  DMux8Way is ACTİVE .

Only one output of the  DMux8Way is transmit the present İNPUT.

So , How are the other output s condition ?

As a logic are they "1" , "0" , or whatelse ?

Reply | Threaded
Open this post in threaded view
|

Re: PC design with DEMUX

WBahn
Administrator
In reply to this post by burhan

You have a recursive definition.

You are defining a part named PC and, as part of that definition, you are using a part named PC. But what is the definition of that part that you are using? It's a definition that involves a part named PC. So you have an infinite number of PC parts, none of which are completely defined.
Reply | Threaded
Open this post in threaded view
|

Re: PC design with DEMUX

WBahn
Administrator
In reply to this post by burhan
burhan wrote
Dear Admin ,

Also my critical question is ;

For a moment , only one output of the  DMux8Way is ACTİVE .

Only one output of the  DMux8Way is transmit the present İNPUT.

So , How are the other output s condition ?

As a logic are they "1" , "0" , or whatelse ?
What does the definition for DMux8Way say should happen?

Let's consider if sel=000. The part specification (given on p25) states"

"If sel=000 then (a=in, b=c=d=e=f=g=h=0)

So, how are the other outputs conditioned?
Reply | Threaded
Open this post in threaded view
|

Re: PC design with DEMUX

burhan
Oops ,  thank you very much ... :))

I m so grateful you Dear WBahn.