Thread: [myhdl-list] MyHDL : The Case for a Better HDL
Brought to you by:
jandecaluwe
From: Christopher F. <chr...@gm...> - 2012-09-07 01:15:12
|
Jan has posted an interesting blog post "MyHDL : The Case for a Better HDL" http://bit.ly/ToK6xg at the All Programmable Planet, http://www.programmableplanet.com/. Be sure and check out the post and contribute to the conversation. Regards, Chris |
From: Jan D. <ja...@ja...> - 2012-09-07 07:25:48
|
On 09/07/2012 03:14 AM, Christopher Felton wrote: > Jan has posted an interesting blog post > "MyHDL : The Case for a Better HDL" > http://bit.ly/ToK6xg at the All Programmable > Planet, http://www.programmableplanet.com/. > > Be sure and check out the post and contribute > to the conversation. Yes, I have been invited by Max Maxfield to become a blogger on that site. I was looking for a good forum to tell "the MyHDL story" for some time, and this looks ideal. It should give us visibility and spur some interesting discussions :-) I'll try to blog every 2 weeks or so. -- Jan Decaluwe - Resources bvba - http://www.jandecaluwe.com Python as a HDL: http://www.myhdl.org VHDL development, the modern way: http://www.sigasi.com World-class digital design: http://www.easics.com |
From: Christopher F. <chr...@gm...> - 2012-09-07 15:31:06
|
On 9/7/12 2:25 AM, Jan Decaluwe wrote: > On 09/07/2012 03:14 AM, Christopher Felton wrote: >> Jan has posted an interesting blog post >> "MyHDL : The Case for a Better HDL" >> http://bit.ly/ToK6xg at the All Programmable >> Planet, http://www.programmableplanet.com/. >> >> Be sure and check out the post and contribute >> to the conversation. > > Yes, I have been invited by Max Maxfield to become a blogger > on that site. I was looking for a good forum to tell > "the MyHDL story" for some time, and this looks ideal. It > should give us visibility and spur some interesting > discussions :-) > > I'll try to blog every 2 weeks or so. > It is interesting to see the comments to the blog post. But there has not been many "interesting conversations", yet. There appears to be two types of "commentors". One, those who have very general comments and also comments on most of the other blogs in a general way. They seem to have neutral comments, e.g. "it seems interesting". Or comments for the sake of commenting? Second, are those who seem opposed to the idea and have long post (not sure if these long post say much). But these users "hide" there identity, so it is hard to take them serious, was it a drunken rant that they were not afraid to post because it had little to no repercussions? Is it worth investing time rebutting their comments? We have seen on this mailing-list a lot of effort can spent with little progress of understanding. I would love to contribute to the conversation, because I agree this seems like a good forum to get some interest. But, I don't know if I can invest the time to clearly state my case why I think MyHDL is great and explain how my returns from my investment are huge. I think it will drive me crazy not being able to allocate the time and only contribute small comments (but this hasn't stopped me in the past, doh). I look forward to future post and hopefully a following from your involvement with the site. It looks like the first post is generating a few comments. Best Regards, Chris |
From: Jan D. <ja...@ja...> - 2012-09-07 19:18:44
|
On 09/07/2012 05:31 PM, Christopher Felton wrote: > On 9/7/12 2:25 AM, Jan Decaluwe wrote: >> On 09/07/2012 03:14 AM, Christopher Felton wrote: >>> Jan has posted an interesting blog post >>> "MyHDL : The Case for a Better HDL" >>> http://bit.ly/ToK6xg at the All Programmable >>> Planet, http://www.programmableplanet.com/. >>> >>> Be sure and check out the post and contribute >>> to the conversation. >> >> Yes, I have been invited by Max Maxfield to become a blogger >> on that site. I was looking for a good forum to tell >> "the MyHDL story" for some time, and this looks ideal. It >> should give us visibility and spur some interesting >> discussions :-) >> >> I'll try to blog every 2 weeks or so. >> > > It is interesting to see the comments to the blog post. But there has > not been many "interesting conversations", yet. There appears to be two > types of "commentors". One, those who have very general comments and > also comments on most of the other blogs in a general way. They seem to > have neutral comments, e.g. "it seems interesting". Or comments for the > sake of commenting? > > Second, are those who seem opposed to the idea and have long post (not > sure if these long post say much). But these users "hide" there > identity, so it is hard to take them serious, was it a drunken rant that > they were not afraid to post because it had little to no repercussions? > Is it worth investing time rebutting their comments? We have seen on > this mailing-list a lot of effort can spent with little progress of > understanding. > > I would love to contribute to the conversation, because I agree this > seems like a good forum to get some interest. But, I don't know if I > can invest the time to clearly state my case why I think MyHDL is great > and explain how my returns from my investment are huge. I think it will > drive me crazy not being able to allocate the time and only contribute > small comments (but this hasn't stopped me in the past, doh). > > I look forward to future post and hopefully a following from your > involvement with the site. It looks like the first post is generating a > few comments. Chris et al: I think there are some crucial differences with the newsgroup: First, we will get a lot of visibility by all kinds of people, not necessarily interested in MyHDL in the first place. We should take that into account. Second, we are at the steering wheel. (Well in fact, I am.) I think there's a big difference in perception between the original blogger and the commentators. Let's use that power. Therefore, we should approach this differently than in the newsgroup. First, remember the politician's attitude: "Any publicity is good publicity". Let's not worry too much about negative reactions: many people will think differently. BTW, so far I think reactions are reasonable and as could be expected. Second, we have the power to address any specific topics in a blog with much more visiblity/credibility. Just let me know about any frustrations! Personally, I will try to keep comments short and to the point, and try not to sound defensive - we have a strong case! -- Jan Decaluwe - Resources bvba - http://www.jandecaluwe.com Python as a HDL: http://www.myhdl.org VHDL development, the modern way: http://www.sigasi.com World-class digital design: http://www.easics.com |
From: Christopher F. <chr...@gm...> - 2012-09-08 03:17:41
|
On 9/7/12 2:18 PM, Jan Decaluwe wrote: > On 09/07/2012 05:31 PM, Christopher Felton wrote: >> On 9/7/12 2:25 AM, Jan Decaluwe wrote: >>> On 09/07/2012 03:14 AM, Christopher Felton wrote: <snip> >> >> I look forward to future post and hopefully a following from your >> involvement with the site. It looks like the first post is generating a >> few comments. > > Chris et al: > > I think there are some crucial differences with the newsgroup: > > First, we will get a lot of visibility by all kinds of people, > not necessarily interested in MyHDL in the first place. We > should take that into account. > > Second, we are at the steering wheel. (Well in fact, I am.) I think > there's a big difference in perception between the original blogger > and the commentators. Let's use that power. > > Therefore, we should approach this differently than in the newsgroup. > > First, remember the politician's attitude: "Any publicity is good > publicity". Let's not worry too much about negative reactions: many > people will think differently. BTW, so far I think reactions are > reasonable and as could be expected. > > Second, we have the power to address any specific topics in a blog > with much more visiblity/credibility. Just let me know about > any frustrations! > > Personally, I will try to keep comments short and to the point, > and try not to sound defensive - we have a strong case! > Good points and advice, many rat-holes can be avoided :) Definitely a lot of activity on the topic -- which is good --. It will be interesting to see this progress. Regards, Chris |
From: Christopher F. <chr...@gm...> - 2012-09-12 14:16:18
|
On 9/7/2012 2:25 AM, Jan Decaluwe wrote: > On 09/07/2012 03:14 AM, Christopher Felton wrote: >> Jan has posted an interesting blog post >> "MyHDL : The Case for a Better HDL" >> http://bit.ly/ToK6xg at the All Programmable >> Planet, http://www.programmableplanet.com/. >> >> Be sure and check out the post and contribute >> to the conversation. > > Yes, I have been invited by Max Maxfield to become a blogger > on that site. I was looking for a good forum to tell > "the MyHDL story" for some time, and this looks ideal. It > should give us visibility and spur some interesting > discussions :-) > > I'll try to blog every 2 weeks or so. > Has anyone else read the blog on APP? Anyone read the comments? As usual, I think the blog post Jan D. wrote is very good. Jan has a good ability of explaining concepts. If you have not read the post, it is worth reading, http://bit.ly/ToK6xg. Jan's Post Covers the following topics:: * Integer arithmetic * Constant representation. * Variables * RTL abstraction * Modern coding practices For more information on the first topic, see Jan's "These Ints are Made For Countin'" essay http://jandecaluwe.com/hdldesign/counting.html. For me, the "RTL abstraction" section touched on some important points. How do you effectively teach complex digital systems architecture and implementation (HDL) and the low-level digital circuits? I see this as a failure in the current education sytle. We teach the digital systems and HDL the same as the digital circuits, from the bottom-up. Even folks that are teaching themselves HDL appear to fall into folly. @jan, since you implicitly mentioned always_seq we should consider a release, I will help as much as I can with a 0.8 release :) Regards, Chris |
From: Christopher F. <chr...@gm...> - 2012-09-12 18:09:16
|
<snip> > > As usual, I think the blog post Jan D. wrote is very good. Jan has a > good ability of explaining concepts. If you have not read the post, it > is worth reading, http://bit.ly/ToK6xg. > There has been some concern about shortened links (I never really thought about it). The issues are; 1) longevity, 2) where am I going? 3) obfuscation. I don't want to discourage anyone from following the link, here is the full URL. http://www.programmableplanet.com/author.asp?section_id=2438&doc_id=250236& I don't know others opinion on shorten links, mine is a small preference, a long URL breaks up the sentence / paragraph, not as much with shortened-links. In the future if I use a shortened link I will provide the full link at the end of the response/post. Regards, Chris |
From: Jan D. <ja...@ja...> - 2012-09-17 09:50:10
|
On 09/12/2012 04:15 PM, Christopher Felton wrote: > > @jan, since you implicitly mentioned always_seq we should consider a > release, I will help as much as I can with a 0.8 release :) I know, it's becoming urgent. Problem is APP is distracting me and moreover I'm in the middle of a project (also using MyHDL) with deadlines! -- Jan Decaluwe - Resources bvba - http://www.jandecaluwe.com Python as a HDL: http://www.myhdl.org VHDL development, the modern way: http://www.sigasi.com World-class digital design: http://www.easics.com |
From: Norbo <Nor...@gm...> - 2012-09-16 15:42:56
|
Am 12.09.2012, 16:15 Uhr, schrieb Christopher Felton <chr...@gm...>: > On 9/7/2012 2:25 AM, Jan Decaluwe wrote: >> On 09/07/2012 03:14 AM, Christopher Felton wrote: >>> Jan has posted an interesting blog post >>> "MyHDL : The Case for a Better HDL" >>> http://bit.ly/ToK6xg at the All Programmable >>> Planet, http://www.programmableplanet.com/. >>> >>> Be sure and check out the post and contribute >>> to the conversation. >> >> Yes, I have been invited by Max Maxfield to become a blogger >> on that site. I was looking for a good forum to tell >> "the MyHDL story" for some time, and this looks ideal. It >> should give us visibility and spur some interesting >> discussions :-) >> >> I'll try to blog every 2 weeks or so. >> > > Has anyone else read the blog on APP? Anyone read the comments? Yes i have read through it. After using myhdl for some time now i really would not want to switch back to vhdl or systemC or systemVerilog. I think the reason is that when i write in myhdl i have to remember way less syntax and function calls with parameters (like with which types can i use with to_unsigned(..) function,is a bitwidth needed?, or how to use the shift_left(..) function, which types does the function needs,etc..) So i actually can write hardware code without visiting "google" and or different manuals every once and a while. I think there is a tendency not to switch back once one really got started with myhdl. Is this only my impression? greetings Norbo |
From: Christopher F. <chr...@gm...> - 2012-09-17 00:55:08
|
On 9/16/12 10:42 AM, Norbo wrote: > Am 12.09.2012, 16:15 Uhr, schrieb Christopher Felton > <chr...@gm...>: > <snip> > > I think there is a tendency not to switch back once one really got started > with myhdl. Is this only my impression? > Been my experience and observation as well. > > greetings > Norbo > > |
From: Werner T. <we...@th...> - 2012-09-17 00:43:12
|
Hi all ..snip.. >>> Yes, I have been invited by Max Maxfield to become a blogger >>> on that site. I was looking for a good forum to tell >>> "the MyHDL story" for some time, and this looks ideal. It >>> should give us visibility and spur some interesting >>> discussions :-) >>> >>> I'll try to blog every 2 weeks or so. >>> >> >> Has anyone else read the blog on APP? Anyone read the comments? Yes, thumbs up and continue ..snip.. > After using myhdl for some time now i really would not want to switch back > to vhdl or systemC or systemVerilog. > I think the reason is that when i write in myhdl i have to remember way > less syntax and function calls with parameters (like with which types can > i use with to_unsigned(..) function,is a bitwidth needed?, or how to use > the shift_left(..) function, which types does the function needs,etc..) > So i actually can write hardware code without visiting "google" and or > different manuals every once and a while. I believe, that the feeling of 'not wanting to go back' has a lot to do with the investment which goes with whatever tool you choose, investments oftentimes so big, that you're locked in. Which is exactly the strategy of the guys selling tools, luring people into their nets, entangle them such, that there is no way out anymore. Happened in CAD software, it's also happening in the HDL sector, with all the IDE's and basic stuff being free, but if you want to access certain features then you'll bleed, which all the more make those being entangled advocates of whatever they're hooked into. With OpenSource projects like MyHDL there is a way out of this dependency mess, MyHDL is not trivial, the investment is also high, but gaining that freedom running your business like you want to run it, instead of some other paid guys telling you how, is the beauty of OpenSource. On the other hand does OpenSource suffer from projects becoming fractured such, that their is not a group working on it, but a single individual. Rolling your own, by branching off or redoing things from scratch sometimes wastes a lot of energy. All in all I really like MyHDL because it's dependable, it evolves, it has a lot of potential and it let's you do stuff, which might not be possible with basic tools at the level of manpower and money at least I have at my disposition, while the quality and expressiveness of the code is at a level where maintainability for longer time frames is given. Just wanted to say thank you to all who invested time into MyHDL Werner |
From: Christopher F. <chr...@gm...> - 2012-09-17 02:07:33
|
On 9/16/12 7:16 PM, Werner Thie wrote: > Hi all > > ..snip.. >>>> Yes, I have been invited by Max Maxfield to become a blogger >>>> on that site. I was looking for a good forum to tell >>>> "the MyHDL story" for some time, and this looks ideal. It >>>> should give us visibility and spur some interesting >>>> discussions :-) >>>> >>>> I'll try to blog every 2 weeks or so. >>>> >>> >>> Has anyone else read the blog on APP? Anyone read the comments? > > Yes, thumbs up and continue > > ..snip.. >> After using myhdl for some time now i really would not want to switch back >> to vhdl or systemC or systemVerilog. >> I think the reason is that when i write in myhdl i have to remember way >> less syntax and function calls with parameters (like with which types can >> i use with to_unsigned(..) function,is a bitwidth needed?, or how to use >> the shift_left(..) function, which types does the function needs,etc..) >> So i actually can write hardware code without visiting "google" and or >> different manuals every once and a while. > > I believe, that the feeling of 'not wanting to go back' has a lot to do > with the investment which goes with whatever tool you choose, > investments oftentimes so big, that you're locked in. Which is exactly > the strategy of the guys selling tools, luring people into their nets, > entangle them such, that there is no way out anymore. Happened in CAD > software, it's also happening in the HDL sector, with all the IDE's and > basic stuff being free, but if you want to access certain features then > you'll bleed, which all the more make those being entangled advocates of > whatever they're hooked into. > I partially agree with this but I don't see it as much as a "don't go back" but more of a "why learn something else/new". In my opinion MyHDL/Python is different. I have seen enough folks try to learn some other HDL technology and not adopt it, e.g. someone who knows Verilog learning VHDL or vise-vera. I also see people put significant resources into learning SV, convertible Matlab subset, e, bluespec, SystemC, etc. Each of those has different utility but we are talking about the time invested to learn a technology. I am sure their are those that have put some effort into MyHDL and have not reaped dividends. But, I think that is a different case, the folks that have tried MyHDL and failed are typically not digital system designers or prior HDL professionals. Regards, Chris |
From: Jan D. <ja...@ja...> - 2012-09-17 09:44:39
|
On 09/12/2012 04:15 PM, Christopher Felton wrote: > Has anyone else read the blog on APP? Anyone read the comments? > > As usual, I think the blog post Jan D. wrote is very good. Jan has a > good ability of explaining concepts. Thanks for the encouraging words. Unfortunately, not everyone shares this opinion. I didn't feel like it was a resounding success. As usual, I was not prepared for the amount of nonsense that you can get as feedback. The "conventional wisdom" is extremely strong. So strong in fact, that people go as far as calling my carefully crafted post as "misleading" and a "disservice", instead of as an invitation for fresh, independent thinking. When something like that happens, I tend to forget the lessons I try to teach myself and others, and I let everyone know that I don't find such a qualification acceptable. A problem with APP is that it sends out confusing messages. The quality of the contributions is very uneven, especially in the comment sections. Some total newbies in HDL design are listed as guru, and vice versa. How is novice supposed to know what information to trust? Anyway, I have a new blog post almost ready. Let's try again. -- Jan Decaluwe - Resources bvba - http://www.jandecaluwe.com Python as a HDL: http://www.myhdl.org VHDL development, the modern way: http://www.sigasi.com World-class digital design: http://www.easics.com |
From: Christopher F. <chr...@gm...> - 2012-09-17 12:45:44
|
On 9/17/2012 4:44 AM, Jan Decaluwe wrote: > On 09/12/2012 04:15 PM, Christopher Felton wrote: > >> Has anyone else read the blog on APP? Anyone read the comments? >> >> As usual, I think the blog post Jan D. wrote is very good. Jan has a >> good ability of explaining concepts. > > Thanks for the encouraging words. Unfortunately, not everyone > shares this opinion. > > I didn't feel like it was a resounding success. As usual, I > was not prepared for the amount of nonsense that you can get > as feedback. The "conventional wisdom" is extremely strong. > So strong in fact, that people go as far as calling my > carefully crafted post as "misleading" and a "disservice", > instead of as an invitation for fresh, independent thinking. Your original thought is probably correct; you sparked interest in MyHDL to a few who are not vocal on the message board. And you taught a ton of readers more about their current HDL. The lack of interest for something new / different is odd. None of the commentors made had good technical rebuttals to the post. If there was technical content it was more about being defensive about their current HDL. I am suprised at the number of people that view Python as a scripting language. The "misleading" and "disservice" is ridiculous. Even if someone does not want to learn Python/MyHDL they can learn a lot about their own HDL from the information. > > When something like that happens, I tend to forget the lessons > I try to teach myself and others, and I let everyone know that > I don't find such a qualification acceptable. > > A problem with APP is that it sends out confusing messages. > The quality of the contributions is very uneven, especially > in the comment sections. Some total newbies in HDL design > are listed as guru, and vice versa. How is novice supposed > to know what information to trust? There's a couple technical issues with the site, as you mention, in the comments sections users get an arbitrary "user rank". Which appears to be based on the number of comments you post (not the quality of the comments). Second, the comment "threading view" is useless. If you get beyond a couple response in a thread the comments reduce to less than a word per line. Not having a threaded view makes it difficult to follow the different conversations. But the site is young, I imagine it can improve these deficiencies. > > Anyway, I have a new blog post almost ready. Let's try again. > I look forward to a new post and it will be interesting to see the responses :) Regards, Chris |
From: Jonas <jon...@gm...> - 2013-08-26 22:10:12
|
Christopher Felton <chris.felton <at> gmail.com> writes: > For more information on the first topic, see Jan's "These Ints are Made > For Countin'" essay http://jandecaluwe.com/hdldesign/counting.html. > For me, the "RTL abstraction" section touched on some important points. > How do you effectively teach complex digital systems architecture and > implementation (HDL) and the low-level digital circuits? I see this as > a failure in the current education sytle. We teach the digital systems > and HDL the same as the digital circuits, from the bottom-up. Even > folks that are teaching themselves HDL appear to fall into folly. I was working with VHDL a while ago. I liked a lot the very flexible type system and the philosophy about code readability even if it results in more typing. All those good features comes from Ada, on which VHDL was greatly inspired. From all the languages I know, I see Ada as the best source of inpiration for an HDL, because you could have a very flexible language with high level constructs (for each loops, array slicing, attributes, ...), but with the possibility of specifying low level details. Unfortunately VHDL wasn't as much fun as it could be for several reasons. One reason was that VHDL use the good concepts from Ada only halfway. For example the numbers management. numbers (signed and unsigned) where defined as array of characters, so they were represented like strings. Then working with them, doing mixed arithmetics with integer and signed or unsigned wasn't that natural and has some quirks. In Ada you can optionnally tell the hardware representation of a variable or a type with a "for ... use" clause. Why not using such a mechanism in VHDL and than use signed and unsigned types as real integer ? Then working with numbers could be as easy as that : -- VHDL builtins type unsigned is range 0 to ∞; subtype sys_unsigned is unsigned range 0 to MAX_UNSIGNED; -- variable A : sys_unsigned; variable B : unsigned slice 7 downto 0; variable C : unsigned slice 8 downto 0; A := 2; B := A.Fit; -- Resizing is needed here C := B + B; -- Repr attribute give the hardware representation B'Repr <= A'Repr(5 downto 0) & "00"; We can even extend the mecanism to other things like enumerate types : type Enum is (A, B, C) with (A => "00", B => "11", C => "01"); type Enum_2 is (D, E, F, G) with Gray_Encoding; A bigger reason of my bad experience with VHDL, was the persistant mentality among the community of VHDL to think low level only, even in situation when thinking high level makes a lot more sense. That leaded to absurd and outdated coding standards like transforming everything to std_logic or std_logic_vector in the ports of entities (including unsigned/signed signals although they are represented exactly the same way as std_logic_vector) instead of keeping the higher level types, which makes it harder to read and more error prone. And those coding standards gets imposed upon you but nobody can tell you why. All you hear is something like "the VHDL experts told that it has to be done that way". Even if it sounds weird to me to use python to do HDL, at least I like the idea of bringing modern ideas and a different mentality in the HDL community. |
From: Christopher F. <chr...@gm...> - 2013-09-05 13:09:31
|
On 8/26/2013 5:04 PM, Jonas wrote: > Christopher Felton <chris.felton <at> gmail.com> writes: > >> For more information on the first topic, see Jan's "These Ints are Made >> For Countin'" essay http://jandecaluwe.com/hdldesign/counting.html. > >> For me, the "RTL abstraction" section touched on some important points. >> How do you effectively teach complex digital systems architecture and >> implementation (HDL) and the low-level digital circuits? I see this as >> a failure in the current education sytle. We teach the digital systems >> and HDL the same as the digital circuits, from the bottom-up. Even >> folks that are teaching themselves HDL appear to fall into folly. > > I was working with VHDL a while ago. I liked a lot the very flexible type > system and the philosophy about code readability even if it results in more > typing. All those good features comes from Ada, on which VHDL was greatly > inspired. From all the languages I know, I see Ada as the best source of > inpiration for an HDL, because you could have a very flexible language with > high level constructs (for each loops, array slicing, attributes, ...), but > with the possibility of specifying low level details. I believe Jan D. has similar views, see the Ada reference in the /modbv/ MEP: http://myhdl.org/doku.php/meps:mep-106 <snip> > > A bigger reason of my bad experience with VHDL, was the persistant mentality > among the community of VHDL to think low level only, even in situation when > thinking high level makes a lot more sense. Amen, your preaching to the choir! Emphasis on the *only*. Need to navigate the trees and the forest. >That leaded to absurd and > outdated coding standards like transforming everything to std_logic or > std_logic_vector in the ports of entities (including unsigned/signed signals > although they are represented exactly the same way as std_logic_vector) > instead of keeping the higher level types, which makes it harder to read and > more error prone. And those coding standards gets imposed upon you but > nobody can tell you why. All you hear is something like "the VHDL experts > told that it has to be done that way". > The infamous "experts" :) > Even if it sounds weird to me to use python to do HDL, at least I like the > idea of bringing modern ideas and a different mentality in the HDL community. > One thing you probably (I stand on limbs) don't find absurd, is the use of a high-level language for modeling and verification. The use of Python for digital system modeling and verification is very nice, very nice. And it is a bonus Regards, Chris |