Skip to main content

Posts

Showing posts from February, 2022

VLSI Packaging Evolution and Innovations

Hello Dear Readers,   Today in this post, I will provide some deep insight into the VLSI packaging evolution and innovations. Semiconductor packaging has evolved from a simple protective housing into a critical performance enabler. In the modern VLSI landscape, packaging is no longer an afterthought; it is a fundamental determinant of PPA (Power, Performance, and Area) metrics, often dictating the thermal limits and signal integrity of the final SoC. 1. Traditional Packaging Technologies: These methods are the workhorses of the industry, widely used for low-to-medium complexity devices where cost-efficiency is paramount. Wire Bonding (QFN, QFP, DIP): Wire bonding is the most mature interconnection technology. It uses thin gold, copper, or aluminum wires to connect the die's bond pads to the package's internal leadframe. Implementation: The die is attached face-up to a leadframe or substrate. A wire bonder uses thermocompression or ultrasonic energy to attach wires betwee...

ARM Assembly Language Practice Question And Answer Part-4

  Hello Dear Readers,   Today in this post I will provide some basics to advanced ARM's assembly language practice QA part-4, I have used the Keil tool for code writing. Q-1).  Write an assembly language program that performs a mode change by modifying the contents of the CPSR.    a. The mode you should change to is user mode, and you have to modify the mode field of CPSR by the value of 0x10.    b. This assumes that the current mode is a privileged mode such as supervisor mode. Code: ; program which changes the microprocessor mode  masking equ 0x1f  user_mode equ 0x10   area change, code, readonly entry   MRS R0,CPSR; read the status of the microprocessor   BIC R0, R0,#masking; apply the masking bit   ORR R0,R0,#user_mode ; set the mode user_mode   MSR CPSR_C,R0 ; written back with control_field_mask   END  Output: Q-2).  Write an assembly language program that generates S...

ARM Assembly Language Practice Question And Answer Part-3

  Hello Dear Readers,   Today in this post I will provide some basics to advanced ARM's assembly language practice QA part-3, I have used the Keil tool for code writing. Q-1).  Create a stack that starts from address 0x5000 and contains 5 values, and the stack pointer always points to the uppermost value. Code: ; program to create stack and store 5 values  area stack, code, readonly  entry  ldr r13,=0x5000  ldr r1,=10  ldr r2,=11  ldr r3,=12  ldr r4,=13  ldr r5,=14  STMDB SP!,{r1-r5}  add r4,r3,r5  end  Output: Q-2).  Write a code to find the multiplication of 10 numbers stored consecutively starting from 0x4000. Code: ; program of the multiplication of the 10 numbers  area mul, code, readonly  entry  mov r0,#0x4000  mov r1,#9  ldr r2,[r0]  next    add r0,r0,#4    ldr r3,[r0]    muls r2,r3,r2    subs r1,r1,#1     bne next...