Slashdot Mirror


Asynchronous Design Tools?

KeggInKenny asks: "I have the opportunity to engage in a research project involving large-scale asynchronous logic circuits. After evaluating possible tools for hardware description, simulation and implementation, I'm finding there's very little targeted toward asynchronous logic. VHDL is little changed from the 1987 standard which is not nearly as suited for large designs as it's name would suggest, and Verilog is too synchronous (or at least it's too easy to fall into the 'synchronous assumption' trap because of Verilog's C-style structure). Specifically: we are designing a low-power microcontroller for portable (read battery-powered) devices, and hoping that through asynchronous logic, we can greatly reduce power consumption. I'd like to see what the hardware gurus from the Slashdot community have to suggest for VLSIC design focusing on asynchronous research. What tools did you use to design the chips, did you run into synthesization problems, and did you find yourselves focusing on many local clocks, as seems to be the current async trend, or true unclocked hardware?"

17 comments

  1. From my asynchronous browser by frenchgates · · Score: 0

    very you try tools effort. not there I when intelligible working idea but Have IBM lot as com:.asy/nchro/nous.ht/tpwww

    --
    Syntax error: loose != lose, affect != effect, then!=than
  2. Chat to... by awx · · Score: 2, Interesting

    Talk to this guy, he's very up-and-coming (and a slash user too :)

    --
    Feel that power? That's mah MOUSING FINGER
  3. Asynchronous logic and Verilog by eXtro · · Score: 4, Informative
    Verilog isn't particularily synchronous, in fact, without going to special measures its combinational. You introduce the synchronous behaviour by making conditions happen based on global clocks:
    always @ (posedge clock) begin
    // do useful stuff
    end
    I don't know how your particular asynchronous scheme works, but if you were using handshaking (i.e. request/acknowledge) then you would update values and toggle your acknowledge signal based on the completion of your logic operation. These request and ackowledge signals would only propogate between elements.

    I don't have a verilog book handy, and I usually design in spice, but something along the lines of
    this, at least at the 30000 foot level:
    always @ (posedge req0 && req1 && req2) begin
    val0 = ip0 | ip1 & ip2;
    val1 = ip0 & ip1 | ip2;
    ack = 1'b1;
    end
    Again, I don't know exactly what you're doing, but I'm sure that you can model it with Verilog with increasing levels of detail.
    1. Re:Asynchronous logic and Verilog by addaon · · Score: 3, Insightful

      "This signature is a secret message encrypted with a one-time-pad"

      And they say those things are unbreakable? Got it! Standard xor, byte at a time... you thought we wouldn't catch you?

      1d48 081e 0012 4913 0b13 061a 000c 531d 5357 0e52 180c 0d15 4503 4919 0d53 320d 4a34 4100 0a02 520d 1f54 060b 4c1b 0804 1b45 4154 7b45 785a 3a43 454a 1f17 1000

      --

      I've had this sig for three days.
  4. Well... by Hard_Code · · Score: 2

    ...from my limited knowledge, "asynchronous" is really just "synchronous" on a much smaller scale. You just have smaller synchronous components that don't have to coordinate synchronously on the global scale. I mean, your adders and stuff are still going to be the same, they will just have their own clock (or no clock I suppose). So my naive assumption is that you have lots of little synchronous components glued logically together with a synchronous coordination bus/fabric. At *some* point it is always synchronous.

    --

    It's 10 PM. Do you know if you're un-American?
    1. Re:Well... by Omegalomaniac · · Score: 2, Informative
      ...from my limited knowledge, "asynchronous" is really just "synchronous" on a much smaller scale. You just have smaller synchronous components that don't have to coordinate synchronously on the global scale. I mean, your adders and stuff are still going to be the same, they will just have their own clock (or no clock I suppose). So my naive assumption is that you have lots of little synchronous components glued logically together with a synchronous coordination bus/fabric. At *some* point it is always synchronous.

      Adders don't have clocks, as I've had to point out to a few students. The inputs to the adders change with the clock, so it is easy to get confused. Asynchronous design is not multi-level synchronous design. It usually involves handshaking, that is one module asks "Are you done yet?" and the other module replies "yep" or "hold on". The purpose of a clock in a synchronous design is to be a taskmaster. The clock says to each module "You will be done at this time!" where "this time" is some integer multiple of the clock.
      Contrary to what you said, I would say that at some point all synchronous design is asynchronous. Gates don't have clocks.
    2. Re:Well... by AlecC · · Score: 2

      I don't think this is necessarily true, but it is the way a lot of asynch designs are going. GALS - Globally Asynchronous, Locally Synchronous. Several reasons for this that I can think of. Firstly, asynch is much less well understood, so that by having a design that is 90% synchronous you can limit the unknown risk to the last 10%. Secondly, I think the technology of asynch interconnect is better understood that the sort of deep computation which in a syncronous design would be pipelined. Thirdly, some of the synchronous sub-units are probably availabl off the shelf (even if only from the designers memory). Fourthly, GALS diliver well on some of the advantages of full asynch e.g. spreading the clock noise, allowing different parts to run on clocks of their own speed, avoiding global clock distribution.

      However, it is possible to have truly globally asynchronous designs. I could imagin that simulating and testing such a thing could be difficult.

      --
      Consciousness is an illusion caused by an excess of self consciousness.
  5. ..and that's the point by kcm · · Score: 3, Informative

    There are (at least) two ways to utilize asynchronous design architecturally:

    The first being a large-scale asynchronous design that allows for high-speed disconnected operations to complete with lots of communication between them, and the second being a design which eliminates the extra latching required in a largely-synchronous design.

    The first eats up power, and the second conserves it (theoretically). In the first case, you have tons of little "units" eating up as much power as they can because they're all operating independently as quickly as possible, and in the second case, you have a lot of little units which only "operate" when needed.

    Think of it as polling vs. interrupts. One design, the faster one, says "are you done yet? are you done yet? are you done yet? are you done yet? here's your data..", and the other slower and power-conserving design says "hey, I have your data, let me know when you want it and I'll give it to you"..

  6. VHDL'93 by e8johan · · Score: 2

    There is a VHDL version from 1993 supported by most major tools and VHDL supports asyncronous designs. I think that you may run into a number of synthetisations issues though as most of todays tools are intended for syncronous designs.

  7. Async tools by brejc8 · · Score: 5, Informative

    The Async tools page has the list of most tools we use.
    Ones we use most often are:

    Balsa: make just about anything with it. Its personally quite VHDL like and very well mentained. Recently used to make a whole synthesized ARM compatable asynchronous chip. Comes with many flavours of back end (dual rail, single rail, safe and more).

    Petrify: Make small components by describing each part transition by transition. (VSTGL) makes the process a little more graphical.

    MINIMALIST: Simmilar to petrify but a little simpler to specify things.

    The best way to learn these tools is to go to async 2003 where they have a tutorial of some of them.

    There is also the book. It goes through a balsa tutorial.

    The most important part of designing async stuff is to learn the different methods. Read the intoductions to some of these theses. They explain the basics. Before you start designing know what makes the system good or not.

    1. Re:Async tools by awx · · Score: 1

      argh! it's you! *grins*

      Wondered if you'd pop up here.

      --
      Feel that power? That's mah MOUSING FINGER
  8. Is it semi-finals already? by Anonymous Coward · · Score: 0

    Or are you working on a thesis of some kind? These things already exist, why waste your time?

  9. VHDL is the tool of choice by Anonymous Coward · · Score: 0

    VHDL is event-driven, which is the same as asynchronous in a combinational logic sense, but I don't think a processor can be done in that way. You're going to have to use signal lines to specify when computations are done, and when a register needs to be latched.

    Actually, you'd probably want to move the registers into the various computational units (read: alu), and have them signal when the data on them is valid. Signal passing, signal passing, signal passing! :)

  10. Async means a lot of things... by BDW · · Score: 2, Interesting

    What does it mean to you?

    First off, I highly recommend you read some of the ASYNC proceedings. (ASYNC = Nth International Symposium on Asynchronous Circuits and Systems, for N=[1,8]) The best stuff in async tends to get published there. I think they've always published through IEEE, so you can go there, or just do some google searching.

    There are no async design flows which you can just drop in to replace Cadence or whatever your current synchronous flow is. There is also a lot of literature (see ASYNC proceedings) on what async people have to do to get commercial synthesis tools to play nice at all. Cadence-style synthesis just isn't there. (Which could be seen as a good thing, depending on your view of the current ack-bassward synchronous flows...)

    Your goal sounds close enough to the Manchester ARM work that their tools might work for you. First, read their papers on their ARM work; the devil is always in the details. (Publishing is like sales, you bury the ugly details in the fine print. :) If the experts at Manchester ran into a problem somewhere, odds are good you will too. Second, make sure you completely buy into their sect's interpretation of async before you jump in. They aren't the only sect in town.

    I'm academically descended from the QDI culture in SoCal (Caltech, USC, whatever their startup is called these days, ...), so personallly I would go a different route. You should read up on what the QDI folks are doing. They've built their own (in many areas proprietary) flow, but the tools they use are readily available so depending on the complexity of your project you might be able to cook up your own, similar flow with the same tools.

    My last point is a word of warning. As much as I like async and would like to see it more widely adopted, you are taking a big plunge, and if this is anything more than a course project, a big risk. Paraphrasing what a man who is much smarter than I said at the last ASYNC: If you read between the lines in the ASYNC proceedings you will see that the async community is basically a small (order hundreds) group of generally very smart people who are highly motivated. As often as not, they get things done by being highly motivated smart people. As a community, we haven't really demonstrated that our techniques to date will work for anyone but highly motivated smart people in the async community.

    Look before you leap.

    Brian

  11. Commander "FUCK BALLS" Taco Rob Malda by Anonymous Coward · · Score: 0
    SUPERTROLL_Rob "Commander Taco" Malda replace: Rob "Commander Taco" Malda Rob "Commander Taco" Malda, the troll is back again.
    He knows nothing, and cant take people who point out that he knows nothing. So he got 2 of his friends with 5 moderator points to attack a "troll." See, this is how losers like Rob "Commander Taco" Malda operate. The censor unpopular people or lines of thinking in order to be right. The pussy fucking bitch can try, he and his fag friends, to suppress criticism, but he will fail. Rob "Commander Taco" Malda, you mother fucking Troll fascist jerk, please die. You suck. Also note Rob "Commander Taco" Malda knows nothing. Its rather easy to tell. He takes his myopic view of the universe and would actuate legislation based on this view. He is not learned [learn-ed, two syllables, Rob "Commander Taco" Malda the fag wouldn't know this word], and he is a fool. Death to you Rob "Commander Taco" Malda, a pox on Slashdot, death.

    Hi, I'm a fag, and I'm Rob "Commander Taco" Malda . Nice to blow you. Oh, Simplex 2 Herpes?; I love the puss! YUM! Time for me to go down and get to work. Rob "Commander Taco" Malda thinks he is half gay? which he claims he is? Only half gay? Typical of a fuckhead like this, he only makes half assed half hearted attempts.

    Frisbee Fan He likes flying rims. Reminds his half gay side of giving rim jobs.

    Insanity seems to me to be a clinical Boolean, either one isn't, or is by some definition. If anything, you could be some percentage of insane, but to raise insanity to a power, well, that just the droppings of a stupid mind. Like the mind of Rob "Commander Taco" Malda Bitch

    Paintball player with AIDS blood balls. Except he has a cheesy Tippman Prolite or a rental gun with those gay seltzer CO2 charges. He also uses paintballs filled with Hepatitis, HIV, Blood, PUSS, Gonorrhea, Syphilis and of course Chlamydia (contributed from gay friends and incestual sodomizing family members) and piss, shit and blood. He has yet to infect me, as I take my f/x STO Autococker and fill that hole in his head with paint. I'll be the predator teams regularly crack up at your expense, paint noob.

    Fuckhead. That applies I guess. What I pay for my computer: (PC Price)^2. But he forgets to mention the appropriate performance; sqrt (PC Performance) = Mac.

    He hates Winderz but has been known to say that it is outsmarting Linux. Rob "Commander Taco" Malda the fuck-head likes to personify inanimate objects because he is Insane. Dum dum duuuum. And what's with this person being multiple persons. Now schizophrenia is not ruled out, but this is ridiculous. JACK OF ALL TRADES, MASTER of NONE

    This is similar to something a has been would say, but this dipshit is a Linux "never will be". He has never used it, has never used gcc, redone his own kernel, written anything in C, (or C++, Java, Lisp), can not use VI or Emacs, probably knows Pine and Pico real well which makes him Padawan. What a fucking gay term. This is the type of Fuck, Rob "Commander Taco" Malda, that Liked Jar Jar binks. He is the archetype of one who has helped George Puke-ass further defile Star Wars. Your fat sexless loser creed is not applicable to everyone, despite what you may believe.

    I also believe Rob "Commander Taco" Malda to be a boy scout. But his troopmaster calls him a boi scout. He know how to use a canoe paddle, but really likes them with the crock on the end cut off and the pole of the paddle inserted by his troop master in his ass. He got is LIFE badge by being a venue of GAY LIFE for his troopmaster, which he calls Cockmaster Joe.

    , I want you to fuck me in the ass please. I am dying to be anally accosted. I want to be ravaged like hog. I want you to dress like a farmer and make me oink like a pig. I want an ass reaming like no other. Rob "Commander Taco" Malda , I haven't had this kind of lust for you since the crazy college days. We used to butt fuck each other in the stalls. You always told me not to flush and preferred using my feces as apposed to real lubricant. I remember your chocolaty member, your manhood, draped in my feces. Man, Rob "Commander Taco" Malda
    , I remember. I was day dreaming, escaping into a nether world where we used to fornicate, and live in fornicatory bliss. You used to like to keep your tubes socks on to enhance they gay look. We were so flitty and light on our feet. I am so very confused these days. I have difficulty conceptualizing the time that was then in contrast to now. I mean, first you were a raging homosexual, now you wont look me in the eye because of this anime woman. I know that bitch is a transvestite, and you lust after my ass while you are being tentacle raped. You are closeting your homosexuality and denying your roots in my ass! Don't be fooled! Rob "Commander Taco" Malda knows how to suck a dick. He may nibble, and bite, and pretend to be sheepish at first, but deep down this cock loving acolyte of shaft licks cock like a bar maid. I am destabilizing. The world is going dark to me. I have scintillating threads of motley thoughts; my ability to control my self evanesces away! I have

    * m o n e y * f u c k s * b u t t h o l e ! ! ! *
    scccccccccccccccccccccccccccccccccccccccccccccccs
    tc/ccccc\ccccccccccccc\cccccccccccc/cccc\ccccccct
    u|ccccccc|ccccccccccccc\cccccccccc|cccccc|ccccccu
    p|ccccccc`.ccccccccccccc|ccccccccc|ccccccc:cccccp
    i`cccccccc|ccccccccccccc|cccccccc\|ccccccc|ccccci
    dc\ccccccc|c/ccccccc/cc\\\ccc--__c\\ccccccc:ccccd
    fcc\cccccc\/ccc_--~~cccccccccc~--__|c\ccccc|ccccl
    uccc\cccccc\_-~cccccccccccccccccccc~-_\cccc|cccci
    ccccc\_ccccc\cccccccc_.--------.______\|ccc|ccccc
    kcccccc\ccccc\______//c_c___c_c(_(__;cc\ccc|cccck
    sccccccc\ccc.ccCc___)cc______c(_(____;cc|cc/ccccs
    *ccccccc/\c|cccCc____)/cccccc\c(_____;cc|_/ccccc*
    bcccccc/c/\|cccC_Taco Malda Fucks ASS c/cc\ccccc
    ccccc|ccc(ccc_C_____)\______/cc//c_/c/ccccc\ccco
    tccccc|cccc\cc|__ccc\\_________//c(__/ccccccc|ccc
    tcccc|c\cccc\____)ccc`----ccc--'ccccccccccccc|cck
    hcccc|cc\_cccccccccc___\ccccccc/_cccccccccc_/c|c*
    occc|cccccccccccccc/cccc|ccccc|cc\cccccccccccc|c!
    lccc|ccccccccccccc|cccc/ccccccc\cc\ccccccccccc|c!
    eccc|cccccccccc/c/cccc|ccccccccc|cc\ccccccccccc|!
    !ccc|ccccccccc/c/cccccc\__/\___/cccc|cccccccccc|!
    !cc|ccccccccccc/cccccccc|cccc|ccccccc|ccccccccc|!
    !cc|cccccccccc|ccccccccc|cccc|ccccccc|ccccccccc|!
    * s t u p i d f u c k s * b u t t h o l e ! ! ! *

    My name is Rob "Commander Taco" Malda and I'm here to Say
    I'm a Virgin and I'm gay
    I'm looking for some ass if you give me some
    If you don't mind making out with a bum
    Call the number on the screen! - I may look like a whimp
    But in bed I'm mean!

    Rob "Commander Taco" Malda HERE here again, and I'm at the drums
    I'm looking for sex amongst the bums
    I have a lot of trouble with HTML
    I keep telling people smarter than me to go to hell
    I give anonymous blowjobs in the subway
    I'm saving for more video games and homoerotic anime