The ESL Edge

14
May

Let the fun begin

Welcome to this my first blog for Chip Design magazine. My background has always been functional verification ever since I started my first job – designing flight control computers for commercial aircraft. It appalled me that we did not use simulators, instead relying only on physical prototypes made out of wire wrap cards. During my University days at Brunel University in England, I had the pleasure to work alongside the folks creating Hilo – the first true commercial RTL simulator and from which Verilog was later derived. I soon went back to the University to work on making this technology better and to help with its adoption in the industry. Back then with almost all engineers designing at the gate level, the whole notions of RTL were so foreign and strange to them, that they strongly resisted the change and when they did, they were writing RTL as if they were describing gates. That was 25 years ago now and we have been perfecting the RTL verification flow ever since – most of the time with great success. But that journey is not over yet. There is still a lot of progress that has to be made to ensure that chips are produced without bugs and within the time and budget constraints necessary.

At the same time, another change is happening, namely the migration to ESL – the first real abstraction change that has happened since I entered the industry. What fun!! So far I see people resisting just the same as they did before. This is really not surprising since they lack the knowledge, the skills and experience necessary to do a good job. Grant Martin has already started a blog on the subject of ESL design, but we cannot talk about modern and emerging trends in verification without also going into that space. That means that our discussions may overlap at times. Grant and I, along with Andrew Piziali wrote a book titled ESL Design and Verification: A Prescription for Electronic System-Level Methodology just over a year ago. In that book we showed the great divergence of views, methodologies and flows that are emerging in the ESL space. Because of our different backgrounds, Grant and I did not always agree on the what, why or wherefores of ESL, but that is hardly surprising. In fact it is the fact that no one yet knows the end of the story that makes working in the field so much fun. We are helping to shape the future – and that is one of the prime reasons why I decided to start this blog. I want to discuss both the state of the art in RTL verification, and also explore the role that verification has in the ESL domain and the impacts that this will have over time.

I also believe that ESL is not ripe for much in the way of automation at the moment. Synthesis from high level descriptions is not yet possible because for most people we do not even know how to solve the problems manually. Until we know this, automation is not possible. So we have to design the hard way – by flowing the scientific process. Design is the act of making decisions that constrain the implementation. This is true no matter what level of design we are talking about. At the system level we make decisions about architecture, mapping, the number of processors or configuration of memory. At RTL we decide how many clocks an operation will take, how much each block – such as an adder – is shared etc. Every time a decision is made, we need to decide if that decision was a good one or not. That means we make a hypothesis, we devise a way to test it and we analyze the results. If the result is good, we have confirmed the validity of the decision. If not, we change the hypothesis. This to me sounds just like a verification process, although perhaps not quite as rigid and organized, but this is also understandable since it needs to be highly flexible so that the decision process is not hampered by large amounts of overhead. So, in my book, ESL will be very dependent on verification until it becomes automatable, and that is likely to take quite a long time.

Let me know your views. It is fine to disagree with me, and I hope as I write this blog that I will give people lots of room to disagree because it is only by discussing issues that the best solutions can surface to the top. I have always been known for been controversial and I intend to maintain that positioning in this blog. Also if there are subjects that you would like me to cover, then please let me know.

Leave a Reply

© 2017 The ESL Edge | Entries (RSS) and Comments (RSS)

Design by Web4 Sudoku - Powered By Wordpress