I was working as soft ware engineer in PACE Soft Silicon Pvt. Ltd. PACE is Dublin based product company, with development center in Pune, having soft IP for various embedded platforms esp. for mobile platforms. During my three years of professional life with PACE I worked on various projects. I learnt a lot through them, acquainted various skills. I handled many embedded platforms esp. for mobiles with different operating systems running on it.
UMS , now known as MDSP, (multiple DSP) is Universal Microsystems by Cradle Technology. It contains many RISC and DSP processor. It was nice experience to work in multiprocessor environment. On UMS I handled following projects.
- Big Number library:
I implemented basic functions required for big number arithmetic, for Cradles' UMS platform and optimized for it. The routines include addition, subtraction, division, multiplication, exponentiation mod operations, gcd algorithm etc. It was for any number of bits calculations. I studied OpenSSL for implementing this. It was of great help.
- DES:
I was participant in demo of DES library on UMS 1.x
- PACER IPsec:
IPsec is IP layer security protocol widely deployed in VPNs. My team at PACE had implemented various modules required for IPsec. I actively participated in discussions how to ingrate them for UMS platform. Ported few modules to UMS. It was great to get chance to integrate all of them and ingrate this IPsec in Cradles router based on UMS chip. I had been to Taiwan to demonstrate this IPsec to 'Acct-on'. I played important role to interoperate this IPsec with CISCO PIX 501 and SonicWall Soho2. I also analyzed configuration utility of these commercial product and produced document for PACE's IPsec configuration utility. I had done optimization of IPsec on UMS, done ample amount of testing and provided documents for test results, profiling results, low level design documents. This was whole product development cycle. At the end of project I had created PC based (for windows2000) GUI demonstrating IPsec parallel processing of packets which was communicating with UMS hardware in back end.
- PACER Ntru:
Ntru is public key cryptosystem. It is based on ring algebra. I had implemented Encryption decryption as well as Signature scheme in ANSI C according to ANTS97.pdf. I also implemented NTRUEncrypt and NTRUSign according to EESS#1 version2. ( EESS: Efficient Embedded Security Standards . For latest updates on Ntru : Ntru Home Page.) I had also ported this code for ARM XSCALE.
- PACER ECC:
ECC is Elliptic curve cryptography. ECC is public key cryptosystem based on both prime field and Galious field. Discrete Logarithm Problem is NP hard problem which gives ECC to be highly secure. I designed implementation for both fields. I worked as a guide for implementation of Elliptic curve cryptography, a final year engineering Project sponsored by the PACE Soft Silicon. My role was to mentor a student through the process of his learning the concepts of ECC and implementing the project as per my design.
- Image Dithering:
Implemented Ordered Dithering and Error Diffusion Dithering for images in ANSI C.
OMAP is platform brought by TI having ARM as RISC processor and TI's DSP processor. I worked on OMAP 1510 and OMAP 1610. This is extnesively used in current mobile technology.
- Imaging:
Implemented optimized routines for basic functions in image processing for TI OMAP. Also ported Dithering algorithms implemented in ANSI C to TI OMAP. I also made PACE JPEG Encoder Decoder library XDIAS compliant. XDAIS is standard, abstract interface, designed by Texas Instruments for algorithms working on DSP Processors.(eXpress DSP Algorithmic Interoperability Standard.) This library was delivered to PACE's client which was mobile equipment manufacturing company.
- MPE (media process engine):
Designed and Implemented MPE for TI OMAP 1510 with Linux running as OS. This engine is supposed to abstract interface between various multimedia codecs for audio, video, imaging and Multimedia applications. As a part of this project I was responsible for delivering few modules to Motorola Global Software, Bangalore and integrating them in their premises.
- Gateway Components and Base port:
I worked as service representative on be half of PACE in Texas Instruments Inc, Bangalore from December 2003 - March 2004. During this period I was responsible for testing and validation TI's Gateway components for Symbian on OMAP 1510, 1610 which in tern were delivered to TI's client. I was also executing validation suite and packaging Base port (device drivers) delivered to TI's client.
-
Hitachi SH3
I had ported helix code for SH3 platform with UITRON running on it. SH3 is also a mobile platform jointly brought by Hitachi and Renesas. Helix is open source architecture for Multimedia. During this project I learnt a bit of C++. My role was to make helix architecture working on SH3 platform, and audio codecs such as MP3, AAC etc.