Hello,
First of all, we have designed a system which uses this ADC as an important part of our project, and we have decided to register our project for a government grant. But we have confused what is the terminology, which we are dealing with this ADC.
We generally use the terms
- Hardware Design => as sytem architecture design (not just PCB design)
- Firmware Design => as sytem driver design (a required program which converts the upper level software to bit level machine codes according to system architecture) (we can only design the firmware if we have designed the hardware according to upper meaning of hardware)
- Software Design => end user level software of the component, which always known as Python, C# etc.
We have only designed the PCB and required software which does the SPI communication in order to configure the ADC by reading the ADC datasheet.
We did NOT designed the machine understanding part (language) of the ADC, but we are reading and understanding the System Architecture. We are just using it, and we did not designed any driver, or hardware on VLSI level, indeed we did not designed the architecture of the SoP (IC). However my colleagues say:
"We designed Hardware, because we designed the required PCB according to datasheet.".
And also since we are dealing with the low level SPI communication (i.e. 10100..s) and ADC bitwise configuration directly, some of us want to write as:
"We have designed Firmware and Software".
However, I prefer to say:
"We are designed the required PCB (not the Hardware or the Firmware of the ADC) for the ADC, and we have designed a software which can interact with the firmware of the ADC and does the configuration of the hardware.".
We have really confused with this issue. Could you please help and inform us?
Does PCB design of such a component could be considered as "Hardware Design"? Did we do any "Firmware Design" with this PCB and software design? Or we did "hardware and firmware" design of a PCB (is not it ridiculous?)??
Best Regards,
ONUR YILDIZ