hi
i read in one tutorial,u should know hardware/circuit first before starting
coding.
1.Is this always possible ?
2.we get the required components after synthesis,so why should we think
first about it?
Yes. Because somebodies else have considered about a product as they were developing it. Therefore, there are many reasonable why's whith the product. But, if you have a definite idea and experience, then, which of both ways will be O.K. And, if you are an expert to make a competitive product, you should take the way from idea to implementation.
hardware first. but not necessarily to have a CYCLE-ACCURATE KNOWLEDGE FOR IT!!!
i mean in first weeks you build a functional simulator for debugging. I do this in C or SystemC. Then you can let the coding guys write some simple apps and test it.
Soon after, write cycle-accurate simulator, e.g. in SystemC. Does it do what you want?
Then, synthesis from SystemC , or do more serious coding in an HDL (VHDL).
Which means that if hw and sw are done by different teams this is the principle.
if you think of your hardware first, you can have best and least hardware and you can get maximum spped with your real RTL design. If dont think of your hardware, you cannot do a RTL design and your design is behavioral design which is slow in speed and high in resources
ASICs, FPGAs and SoCs represent complexity of design and hence are designed using HDL because it was not too pragmatic to realize such designs using schematics and circuit layout. Therefore, if someone has designed low level circuits using primitive tools he or she will have a better idea for underlying hardware using HDLs. However, people who understand the functionality of design that it is supposed to perform can do behavioral coding with relative ease. People who are not really hardware oriented but have excelled in HDL technology can produce efficient hardware.