Dec 6, 2008

flock together

flamingos

Attended the blogging Birds of Feather session at DAC, last evening. I was quite amazed at the number of people who showed up. I had expected there to be half a dozen people and not much interest. Instead, more chairs had to be brought in and in the end about 40 people showed up, with many traditional journalists and bloggers in attendance. The discussion was lively and spirited.

One of the main themes was confusion over just what blogging is and how it should fit in to the more traditional roles of the press and marketing with the EDA world. Some of the discussion revolved around trying to classify just what a blog is or isn't and how it differs from columns, marketing or opinion pieces. To me this seems a mostly futile debate or perhaps one that stems from a lack of real understanding on what the medium is about. Really all a blog is is a way of having a somewhat one-sided or asymmetric conversation. The classification or editorial style then comes from the person who runs the blog. Columns, blessays, technical paper sources, marketing fluff pieces, lunchable debates, it is all blogging and reflects the writer of the blog. At the lowest level, a blog is really just an easy mechanism to publish on-line. Everything else becomes an issue of personal approach, rather than definition over the technical nature of the communications medium.

There was also quite a bit of concern over editorial control and company influence. Certainly it is clear that one of the main differences that a blog has over what has gone before is the democratization of content creation. The barriers to entry have been stripped away and anyone with something to say can start saying it. It is analogous to the changes with the automated printing press and how that lowered the cost of entry to distribute ideas. But anyone being able to publish isn't always a good thing. Professional writers and editors perform a useful function, giving an expectation for a certain level of quality. 

Now, editorial control over the content is removed. But editors are valuable - they are a filter on the content. That filter finds interesting articles and also maintains quality. A blog removes that or shifts the onus onto the writer to be their own editor. EDA blogging isn't going to be immune to the wide range of quality and value that exists in the mainstream blogosphere. Some blogs will be terrible. Some will be great. The advantage is that my definition of what is great and interesting might be radically different to yours, so I'll be able to find the content that is valuable to me, rather than what an editor thinks I need to hear.

Control and classification again was brought up when the issue of the 60+ EDA blogs was mentioned. The concern was that so many disparate sources of information need to be corralled and filtered, otherwise nobody could read them or keep up. Here again, I think this is a bit of a red herring. There will be a large number of EDA blogs that will appear, but I'll personally probably only care about the content of a small percentage of them. It is exactly the same as when I come to DAC. There might be 500 companies here, but I'm not interested in the products that many or even most of them have. I personally filter out all the low level layout, silicon process technology companies and concentrate on the ones relevant to me. EDA blogs will be the same - I'll find the 5 or 10 that cover my areas of interest and read those. The beauty is that you can also find the (no doubt very different) 5 or 10 that cover your area of interest and watch those. You have the control over the content you are exposed to, rather than having EE Times select across the whole EDA sphere, which then provides maybe one article per issue that actually covers part of the industry that I care about.

Along the same lines, there is no real reason that someone couldn't step up and start aggregating the content in useful ways, collecting and collating interesting content from other sources. Reputation tends to be the driver for this. If I find someone who writes interesting content I'll tend to follow their interests too. If they point to another article or blog, I'll read that. They then are providing the role of a more traditional editor to the content I read. The only real change is that there will be a lot more editors and authors, so we can all find the more personalised channel that suits our interest.

My experiences aggregating content for SoFoBoMo (Solo Photographic Book in a Month) is illustrative for this. In a couple of months, we established a group of 200 people working an indivdual book project, all working on their own project, concurrently, in the same month. Many of the participants also blogged about their experiences creating their first (for those new to the process) or latest book. Everyone was working on a similar process, but on their own personal work. I set up simple tools that pulled from all of the participants blogs and provide one, very focused, feed specifically about this shared project. Those people may well have been blogging about what they had for lunch or where they went at the weekend, but only the relevant entries about SoFoBoMo appeared in the feed. It would certainly be quite trivial to do something similar for hot EDA topics too. I could do that and publish it and become a hub for those conversations. There is a world of free tools out there just to do this task. A feed that combed all the EDA blogs for ESL topics or OVM or whatever buzzwords you are interested in is trivial to set up and would deliver customised content on a daily basis. Certainly not all readers will set this up, but it only takes one person to do it and share it for everyone to benefit.

Janick Bergeron raised some interesting concerns common to most bloggers, on how to maintain the flow of content. There have been a lot of articles written on how to feed the beast, with blogs devoted to these sorts of topics. This isn't really an EDA blogging or even a blogging specific topic, but one common to anyone who writes. Passion has to be the driver, particularly for a personal outlet that isn't corporately funded or part of a job. I think it is hard to fake a blog - you have to want to do it, enjoy writing and have something to say. There are certainly mechanisms to help discover content or processes you can put in place to make it more of a habit, but you have to want to do it at a fundamental level. My blog on photography exists because I'm interested in discussing the topic. I want to share the ideas and learn from others following a similar path. I write it now because I can't stop writing it and I enjoy the process of ordering my thoughts.

James Colgan and I had an interesting conversation on what topics make sense for blogging. I think there can be an initial fear that you have to be an expert in a particular topic to be able to talk about it. That can certainly be one approach. But there can be a lot of value to others in describing a learning process. You can become a guide for those who are following the same path if you point out the pitfalls that you fell into along the way. I used my experiences photographing strangers as an example - 18 months ago I started blogging about my attempts to get better at taking pictures of people I didn't know. My early efforts were painful but I kept talking about how it improved over time. Some of those articles are amongst the more popular and valuable ones that I've written - because others who are earlier on that learning curve can see what I did over time. Similarly, in the EDA industry I could see that an expert on OVM blogging about use of the methodology would be fascinating. I could also see that a blog written about the frustrations of trying to learn to use the OVM for the first time would be of value. The expert has already probably forgotten the details that the new user might get hung up on and maybe wouldn't even know about the common mistakes that would be made. There is value to both and sharing that sort of experience.

Overall this was a really interesting and fun session. Kudos to JL for pushing to make it happen and to everyone who attended and made it such a lively discussion.

There are comments.

metrics

Metal Listened to Brian Bailey talking on the missing metrics for verification coverage at the Certess booth on Wednesday. This was a really interesting talk discussing the standard code coverage and functional coverage metrics and pointing out that we don't really currently have a good metric to track when we are doing useful verification or not. Functional coverage is used for this, but care needs to be taken to ensure we are covering the right things.

There's a danger that functional coverage, which was originally designed to track the quality of random stimulus, is used to only track that stimulus. In this way, we might not consider if the behaviour is actually checked or not. The same ideas are represented in David Robinson's verification planning presentation at DAC. Requirements and functional coverage without checkers is a waste of time and effort. It is possible to get 100% coverage, with lots of cover points and no enabled or implemented checkers in a design. Careful testbench design, or tools like Certess, can be used to address these issues but only once you realise that functional coverage isn't a magic bullet.

I also saw a demo of the Certess product, Certitude. It randomly inserts errors into the device under test (DUT) to give a way to evaluate the quality of the testbench surrounding the DUT. The basic idea is that if the design is mutated in a particular way, the testbench is good if it can detect the error, or has a hole if this failure mode cannot be seen in the checkers. This artificial bug insertion is something I do on an ad-hoc way when developing a testbench and Certitude automates and expands on this commonly used approach.

You can read a paper from Brian on this topic.

There are comments.