I routinely read EDN and EETimes. There are an abundance of articles on these sites about SoC (System on a Chip) design that talk about things like ESL and EDA. These articles have been over my head since I have not yet done SoC design. I took a class on MEMS that included some interesting content about SoCs, but it covered more about what they are, their applications, and some fabrication challenges. Finally, I have found an article that has a good overview of how the design process works.
The author talks about ESL design and algorithm synthesis, which is a software approach to SoC design that takes a high-level algorithmic description (typically written in C) and converts it to RTL logic. He points out that this is not the only approach to system level design: instead, you can use customizable processors (which can directly run the C code) to implement algorithms in an SoC. This is very interesting and something I would definitely enjoy doing because I love programming, microprocessor architectures, and logic design.