Hello friends,required answer of this question is:-
a) In this question we can see excess 3 code,in this table subtract 2 numbers to 3 separately and then add it and in result add 3 with some carry.
we can clearly see inputs of ROM which is of 8 bit and 5 outputs as 4 bit sum and 1 carry bit.
256 means 2^8 which represents number of words or can say addresses.
5 is size of an address.
size of ROM is 256 * 8
just a decoder of size 2^n * n ,n is number of select lines.
b) In this table,we can easily use excess 3 code
From starting with 4 bit 0000 we can not find because these 4 bits if subtracted to 3 then the answer becomes negative.
and when a3 a2 a1 a0 is 0000 and b3 b2 b1 b0 is 0011 ,it means A is invalid as the answer becomes negative.
see the middle one:
if a3 a2 a1 a0 is 0011 and b3 b2 b1 b0 is 0011
first subtract a3 a2 a1 a0 with 0011(i.e 3) then get 0000 and same for b3 b2 b1 b0 with 0011 and get 0000
then add both 0000 + 0000=0000
then add 0011 with 0000=0011 and carry is 0
we can see the partial truth table as 1 is true and 0 is false
simple sum and carry of 2 bits.
so A B sum carry
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1
now if we use excess 3 code then
A B C D A' B' C' D'
0 0 0 0 0 0 1 1
0 0 0 1 0 1 0 0
0 0 1 0 0 1 0 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 1 1
0 1 0 1 1 0 0 0
0 1 1 0 1 0 0 1
0 1 1 1 1 0 1 0
1 0 0 0 1 0 1 1
1 0 0 1 1 1 0 0
Just need a table with those missing part (ellipsis) 1 Ι 322 al 10 E3 E2...