86 Family

  Home  Computer Embedded Systems  86 Family


“x86 Family frequently Asked Questions in various 86 Family job Interviews by interviewer. Get preparation of x86 Family job interview”



23 86 Family Questions And Answers

1⟩ Explain an interrupt?

used to interrupt cpu ,s normal execution routine and to get

its attention .mostly generated by an external devices,

timers,countres...etc

 213 views

2⟩ What is ALE? Explain the functions of ALE in 8085?

address latch enable...in the case of microcontroller (8051)

& microprocessor 8085 the data line & low order 8 bit

address lines are multiplexed.in order to geting address

from this line we uses a latch.ALE is the line connected to

this latch saying that the take the address from the line.

NB: this is used only when we connecting our micro

controller to external mem.

 191 views

5⟩ What is a program counter? What is its use?

It is a 16 bit special function register in the 8085

microprocessor.It keeps track of the the next memory

adderess of the instruction that is to be executed once the

execution of the current instruction is completed.In other

words, it holds the address of the memory location of the

next instruction when the current instruction is executed by

the microprocessor.

 206 views

7⟩ Design any FSM in VHDL or Verilog?

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL; ----using all functions of

specific package---

ENTITY tollbooth2 IS

PORT (Clock,car_s,RE : IN STD_LOGIC;

coin_s : IN STD_LOGIC_VECTOR(1 DOWNTO 0);

r_light,g_light,alarm : OUT STD_LOGIC);

END tollbooth2;

ARCHITECTURE Behav OF tollbooth2 IS

TYPE state_type IS

(NO_CAR,GOTZERO,GOTFIV,GOTTEN,GOTFIF,GOTTWEN,CAR_PAID,CHEATE

D);

------GOTZERO = PAID $0.00---------

------GOTFIV = PAID $0.05----------

------GOTTEN = PAID $0.10----------

------GOTFIF = PAID $0.15----------

------GOTTWEN = PAID $0.20---------

SIGNAL present_state,next_state : state_type;

BEGIN

-----Next state is identified using present state,car &

coin sensors------

PROCESS(present_state,car_s,coin_s)

BEGIN

CASE present_state IS

WHEN NO_CAR =>

IF (car_s = '1') THEN

next_state <= GOTZERO;

ELSE

next_state <= NO_CAR;

END IF;

WHEN GOTZERO =>

IF (car_s ='0') THEN

next_state <= CHEATED;

ELSIF (coin_s = "00") THEN

next_state <= GOTZERO;

ELSIF (coin_s = "01") THEN

next_state <= GOTFIV;

ELSIF (coin_s ="10") THEN

next_state <= GOTTEN;

END IF;

WHEN GOTFIV=>

IF (car_s ='0') THEN

next_state <= CHEATED;

ELSIF (coin_s = "00") THEN

next_state <= GOTFIV;

ELSIF (coin_s = "01") THEN

next_state <= GOTTEN;

ELSIF (coin_s <= "10") THEN

next_state <= GOTFIV;

END IF;

WHEN GOTTEN =>

IF (car_s ='0') THEN

next_state <= CHEATED;

ELSIF (coin_s ="00") THEN

next_state <= GOTTEN;

ELSIF (coin_s="01") THEN

next_state <= GOTFIV;

ELSIF (coin_s="10") THEN

next_state <= GOTTWEN;

END IF;

WHEN GOTFIF =>

IF (car_s ='0') THEN

next_state <= CHEATED;

ELSIF (coin_s = "00") THEN

next_state <= GOTFIF;

ELSIF (coin_s ="01") THEN

next_state <= GOTTWEN;

ELSIF (coin_s = "10") THEN

next_state <= GOTTWEN;

END IF;

WHEN GOTTWEN =>

next_state <= CAR_PAID;

WHEN CAR_PAID =>

IF (car_s = '0') THEN

next_state <= NO_CAR;

ELSE

next_state<= CAR_PAID;

END IF;

WHEN CHEATED =>

IF (car_s = '1') THEN

next_state <= GOTZERO;

ELSE

next_state <= CHEATED;

END IF;

END CASE;

END PROCESS;-----End of Process 1

-------PROCESS 2 for STATE REGISTER CLOCKING--------

PROCESS(Clock,RE)

BEGIN

IF RE = '1' THEN

present_state <= GOTZERO;

----When the clock changes from low to high,the state of

the system

----stored in next_state becomes the present state-----

ELSIF Clock'EVENT AND Clock ='1' THEN

present_state <= next_state;

END IF;

END PROCESS;-----End of Process 2-------

---------------------------------------------------------

-----Conditional signal assignment statements----------

r_light <= '0' WHEN present_state = CAR_PAID ELSE '1';

g_light <= '1' WHEN present_state = CAR_PAID ELSE '0';

alarm <= '1' WHEN present_state = CHEATED ELSE '0';

END Behav;

 178 views

8⟩ What are tri-state devices and why they are essential in a bus oriented system?

In a multiplexed bus system, many devices are connected to

a common bus. If 2 or more devices attempt to use the bus

at the same time , then data will be lost. Thus only one

one device must be allowed to use the bus at a time. O e

method is to connect the devices through tri-state

devices , which when disabled will effectively discoonect

devices from the bus.

 222 views

13⟩ Explain RC circuit?s charging and discharging?

Charging a Capacitor:

The voltage across the capacitor is not instantaneously

equal to that of the voltage across the battery when the

switch is closed. The voltage on the capacitor builds up as

more and more charges flows onto the capacitor until the

battery is no longer able to "push" any more charge onto

the capacitor, at which point the capacitor becomes fully

charged.

The initial flow of charges from the battery to the

capacitor means that there is a current flowing through the

system until the capacitor is charged. This current flow

decays exponentially from some initial value to zero.

DisCharging a Capacitor:

Switch remains open and voltage across capaciotr decreses

untill it reaches zero.

 173 views

17⟩ What are set up time & hold time constraints What do they signify Which one is critical for estimating maximum clock frequency of a circuit?

Set up time constraint signifies how late the input signal

can arrive before the active edge of the flip-flop. Smaller

the set up time, the better.

Hold time on the other hand signifies how long the value at

the input needs to be held stable after the the active edge.

Again the smaller the hold time, the better.

For estimating maximum clock frequency, set up time is critical.

 200 views

18⟩ Design a divide-by-3 sequential circuit with 50% duty circle now?

incoming clock by ODD value as assigned in genric

CLK_DIV_BY generic with

50% duty cycle

------------------------------------------------------------

-----------

library IEEE;

USE ieee.std_logic_1164.all;

USE ieee.std_logic_arith.all;

USE ieee.std_logic_unsigned.all;

entity FDIV is

generic(

CLK_DIV_BY : INTEGER :=15; --Give the

odd value with which you want to divide the clock i.e.

3,5,7,9

COUNTVALUE : INTEGER :=4 --Give the bit

count of division ratio value.Ex upto 3= 2 bits; 5 to 7 =

3; 9 to 15 = 4 and so on..

);

port(

CLK : in std_logic;

CLR : in std_logic;

DIV: out std_logic

);

end FDIV;

--------------------------------------------------

Architecture beh of FDIV is

signal DIV_pos, DIV_neg :std_logic;

signal posedgecounter :std_logic_vector((COUNTVALUE - 1)

downto 0);

signal negedgecounter,test :std_logic_vector((COUNTVALUE -

1) downto 0);

begin

-----------------------------

PROCESS(CLK,CLR)

begin

IF ( CLR = '0') THEN

posedgecounter <= (others =>'0');

ELSIF RISING_EDGE(CLK) THEN

posedgecounter <= posedgecounter + 1;

if posedgecounter = conv_std_logic_vector((CLK_DIV_BY -

1),(COUNTVALUE)) then

posedgecounter <= (others =>'0');

end if;

if posedgecounter <= conv_std_logic_vector(((CLK_DIV_BY -

1)/2),(COUNTVALUE)) then

DIV_pos <= '1';

else

DIV_pos <= '0';

end if;

END IF;

END PROCESS;

------------------------------

PROCESS(CLK,CLR)

begin

IF ( CLR = '0') THEN

negedgecounter <= (others =>'0');

ELSIF FALLING_EDGE(CLK) THEN

negedgecounter <= negedgecounter + 1;

if negedgecounter = conv_std_logic_vector((CLK_DIV_BY -

1),(COUNTVALUE)) then

negedgecounter <= (others =>'0');

end if;

if negedgecounter <= conv_std_logic_vector

(((CLK_DIV_BY -1)/2),(COUNTVALUE)) then

DIV_neg <= '1';

else

DIV_neg <= '0';

end if;

END IF;

END PROCESS;

----------------------------------------

DIV<= DIV_pos and DIV_neg;

----------------------------------------

end beh;

 207 views