Skip to main content

Posts

Showing posts from February, 2022

YAML in Semiconductor EDA: From Configuration Language to Reusable Design-Flow Methodology

Hello Dear Readers,   Today in this post, I will provide some deep insight about yaml langauge for CAD flow developments with detailed examples. YAML is not a programming language in the same sense as Python, Tcl, C++, or Verilog. It is primarily a human-readable data serialization/configuration language . In semiconductor EDA, that distinction is important because YAML generally describes what a flow should do , while Python/Tcl/Shell and the EDA tools execute the flow . The official YAML specification describes it as a data serialization language designed to be human-friendly and portable across programming languages. For the semiconductor angle, this becomes particularly interesting because YAML can act as a configuration layer between design methodology and EDA implementation . Frameworks such as Hammer explicitly use YAML/JSON configuration and an intermediate representation to standardize information exchanged between design, technology, and tool plugins. 1. Introduction M...

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...