| J. Matthews, J. Launchbury, and B. Cook. Microprocessor specification in Hawk. In Proceedings of the 1998. |
....Haskell. A good explanation of Haskell s popularity in this role is given by Hudak [8] Examples of other application domains (and representative DSELs) for which Haskell based DSELs have been built include web programming (HaXml [17] and WASH CGI [15] hardware description (Lava [1] and Hawk [9]) animation ( 4] and robotics ( 10] Shells and scripting languages share with coordination languages the high level aim of facilitating aggregation of existing computational components, though their style is that of a more traditional programming language. Although one tends to think of a ....
J. Matthews, B. Cook, and J. Launchbury. Microprocessor specification in hawk. In International Conference on Computer Languages, pages 90--101, 1998.
....but extended their approach in [86] to hardware software co design. They transform SAFL programs by means of meaning preserving transformations and compile the resulting program in a resource aware manner, i.e. a function that is called more than once will be a shared resource. The Hawk language [76], which is embedded in Haskell, is used for building executable specifications of microprocessors. The Hawk project addresses the need for verification of complex modern microprocessors, which is supported by the formal nature of a Hawk specification. Hawk has been used to specify and simulate the ....
J. Matthews, B. Cook, and J. Launchbury. Microprocessor specification in HAWK. In International Conference on Computer Languages, 1998.
....programming languages. Classen et al. describe the synthesis of a parameterisable sorter core [39] using the Lava system. Their implementation (on a Xilinx FPGA) is significantly smaller than when state of the art tools were used to synthesise an equivalent sorter described in Verilog. The Hawk [97] system is another HDL embedded in Haskell designed specifically to facilitate the description and simulation of complex microprocessors. The system has been used to specify a modern microarchitecture based on the Intel P6 [40] Johnson s DDD (Digital Design Derivation) system [80] manipulates ....
....it is used in the SAFL specification of a fully functional DES encryption decryption circuit. In Chapter 2 we observed that there is a large body of work on using functional languages to describe hardware at the structural level. Notable systems in this area include FP [133] Hydra [110] Hawk [97] and Lava [26] Recall that the central idea behind each of these systems is to use the powerful features found in existing functional languages (e.g. higher order functions, polymorphism and lazy evaluation) to build netlists from simple primitives. These primitives can Note the analogy with ....
MATTHEWS, J., COOK, B., AND LAUNCHBURY, J. Microprocessor specification in Hawk. In Proceedings of the IEEE International Conference on Computer Languages (1998).
....; output extern output ; text input # getText ; output # setCaption (show (fac (read text) fac : Int Integer fac 0 = 1 fac n = fromInt n fac (n 1) The script server interface is used extensively in a front end to the Hawk system. Hawk is language to describe hardware circuits[7]. By using the Haskell script server, it is possible to draw hardware circuits in the Visio CAD CAM application. The script server attaches events to the drawn Visio objects and automatically generates appropiate Hawk code. 5.4 Hybrid applications: DHTML as interface In the previous example we ....
John Matthews, Byron Cook and John Launchbury. Microprocessor specification in Hawk. ICCL, Chicago, Illinois, May 1998.
....ones and their ideas have heavily influenced today s transformation systems. Haskell [7] is a modem functional language that provides a common ground for research into functional languages and functional programming. However, now it has also been used in hardware design. In the Hawk project [8], Hawk is a library of Haskell functions that are appropriate building blocks (or structural units) for describing the micro architecture level of a microprocessor. In their work, Hawk has been used to specify and simulate the integer part of a pipelined DLX microprocessor. Lava [9] is a ....
J. Mattews, B. Cook and J. Launchbury, Microprocessor Specification in Hawk, In Proceedings of IEEE International Conference on Computer Languages, Chicago, May 14-16, 1998.
....with the use of the lazy functional programming language Haskell [HPW 92] as the host language. Some such examples are the Haskore language [HMGW96] used to write (i.e. to program) music, the Functional Reactive Animation (Fran) library [Ell97] used to program graphics animations, and Hawk [MLC98] used to specify and simulate processsors. In the next sections we present how we embedded a DSL for router security configuration into Haskell, and the advantages of this approach. 2 Router Security Programming Router programming languages vary according to the router manufacturer, the ....
J. Matthews, J. Launchbury, and B. Cook. Microprocessor specification in Hawk. In 1998 International Conference on Computer Languages, 1998.
....shares some commonality with research aimed at developing more powerful, higherlevel hardware description languages. For example, the Hawk project builds a hardware description language out of the lazy functional language Haskell and has developed several microarchitecture level processor models [9]. Such an approach offers the potential advantage of making the full abstractive and expressive power of functional programming available to the hardware designer. Our approach is much less ambitious, being restricted to modeling processors rather than general hardware. As a result of this ....
....functional unit does, and how instructions flow from one functional unit to the next (or are retired) Instructions carry with them their context, i.e. the instruction s view of the values of all machine state. The use of contexts is similar to other formal models of pipelined execution (e.g. [1, 9]) and greatly simplifies the semantics of the description. Functional units will rely on the newest available value for operands, automatically forwarding or stalling as necessary, unless otherwise specified. Results are written into the instruction s context, where they are available to ....
J. Matthews, J. Launchbury, and B. Cook. Microprocessor specification in Hawk. In International Conference on Computer Languages, pages 90--101. IEEE, May 1998.
....As such the type computation models a strictly infinite sequence of interactions with the outside world (as long as the outside world is providing an input) This model of computations is well suited for reactive and interactive systems. A number of reactive languages, such as Lava [18] Hawk [62], and FRP [46] have used streams to implement the idea presented above. Streams are infinite datastructures which can be easily defined in a lazy language. However, most of these systems have been developed as languages embedded into Haskell. RT FRP implements the same model, but as a closed ....
John Matthews, Byron Cook, and John Launchbury. Microprocessor specification in Hawk. In Proceedings of the 1998 International Conference on Computer Languages, pages 90--101. IEEE Computer Society Press, 1998.
....CLAy [7] More formal representations have also been used to describe hardware for verification. Windley uses the language from the HOL theorem proving system to describe a pipelined processor [19] Matthews et al. have developed the Hawk language to create executable specifications of processors [15]. Paper Organization: This section introduced the concept and advantages of operation centric hardware description. The next section presents an example. Section 3 explains the synthesis of operation centrically described hardware, while Section 4 explains the concurrent scheduling of ....
J. Matthews, J. Launchbury, and B. Cook. Microprocessor specification in Hawk. In Proceedings of the 1998 International Conference on Computer Languages, Chicago, IL, 1998.
....with good graphical development environments, or applications like Microsoft Office or Visio that have hardwired scripting languages but that can use Automation objects. The Hawk group at OGI has taken this route to implement a Visio based GUI for their functional hardware description language [11]. The IDL specification for our script server interfaces is: oleautomation,dual] interface IScript : IDispatch HRESULT AddItem( in]BSTR itemName, in]IDispatch item) HRESULT Load( in]VARIANT scriptSource) HRESULT GetItem( in]BSTR name, out,retval]IScriptItem item) ....
John Matthews, John Launchbury, and Byron Cook. Microprocessor Specification in Hawk. In International Conference on Computer Languages, 1998.
....: IO ( click = do input getHostItem input ; output getHostItem output ; text input # getText ; output # setCaption (show (factorial (read text) The script server interface is used extensively in a front end to the Hawk system. Hawk is language to describe hardware circuits[5]. By using the Haskell script server, it is possible to draw hardware circuits in the Visio CAD CAM application. The script server attaches events to the drawn Visio objects and automatically generates appropriate Hawk code. 288 Daan Leijen, Erik Meijer, and James Hook 8.6 Exercises 1. Import ....
John Matthews, Byron Cook and John Launchbury. Microprocessor specification in Hawk. ICCL, Chicago, Illinois, May 1998.
....is perhaps closest to Lamport s TLA s. Windley uses the specification language from the HOL[HOL, 1997] theorem proving system to describe a pipelined 24 processor[Windley, 1995] Matthews et al. have developed the Hawk language to create executable specifications of processor micro architectures[Matthews et al. 1998]. However, none of these systems has been used in synthesis to the best of our knowledge. With a somewhat different motivation, Communicating Sequential Processes have been applied to hardware software co design by Gupta et al. Gupta and de Micheli, 1993] and Thomas et al. Thomas et al. 1993] ....
Matthews, J., Launchbury, J., and Cook, B. (1998). Microprocessor specification in Hawk. In Proceedings of the 1998 International Conference on Computer Languages, Chicago, IL.
....be verified with the same method as used for the unconstrained system model to guarantee that the functional requirements are fulfilled. As part of the future work we want to connect our system to available formal verification and analysis tools, similar to the approach taken in the HAWK project [18]. The result of the data type exploration process are data type decisions which describe the specific constraints established during this phase. Data type decisions serve as input to the next step in the design space exploration process, architecture exploration. Architecture exploration uses ....
John Matthews, John Launchbury, and Byron Cook, "Microprocessor Specification in Hawk", International Conference on Computer Languages, 1998.
....Higher order processes have been extensively studied in the context of process calculi [8, 14] and allow reasoning on state and mobility in distributed system. Contemporary work has demonstrated the practicality of higher order programming languages for hardware design (e.g. Lava [4] Hawk [13]) and the introduction of Lucid synchrone [6] has been a first step towards the generalization of the principles of synchronous programming to higher order languages. To model reconfigurable reactive systems, we give a seamless extension of the synchronous language Signal with first class ....
....Showing that the inference of types, clocks and flows reduces to solving a system of boolean and record equations demonstrates its decidability. 7 Related Work Contemporary work demonstrated the practicality of higher order programming languages for the design of circuits (e.g. Lava [4] Hawk [13]) Our type theoretical modeling of synchronous interaction would find an interesting application in serving as a medium for specifying behavioral abstractions of circuit components in such systems. The introduction of Lucid synchrone [6] was a first step towards the generalization of the ....
J. Matthews, B. Cook, J. Launchburry. Microprocessor specification in Hawk. In International Conference on Computer Languages. Ieee, 1998.
....multiplexers, registers, delays, etc. which can be combined in various ways to form bigger circuits. One way to solve this problem is to use ordinary lists as signals, and list processing functions as circuit elements, following the model used in the Hawk and Lava hardware description languages [3, 15]. Another alternative is to use monads, abstracting away from any particular representation of signals and circuits. As argued by Launchbury et al. 14] the monadic approach allows elaborations , i.e. by simply changing the underlying monad we can obtain different interpretations of the same ....
MATTHEWS, J., COOK, B., AND LAUNCHBURY, J. Microprocessor specification in Hawk. In Proceedings of the 1998.
....that motivated our work in the first place: modeling circuits using monads. Microarchitectural design languages have been the target of programming language research in recent years, aiming at providing better language support for managing the complexity of such designs [12, 58] Lava [8] and Hawk [49, 59] are two recent systems designed to address this need. In this section, we will consider a stripped down version of such a language, embedded in Haskell. To familiarize ourselves with the types of circuits we can define, let us first consider a simple non monadic implementation. We represent ....
Matthews, J., Cook, B., and Launchbury, J. Microprocessor specification in Hawk. In Proceedings of the
No context found.
J. Matthews, J. Launchbury, and B. Cook. Microprocessor specification in Hawk. In Proceedings of the 1998.
No context found.
Matthews, J., Cook, B., and Launchbury, J. Microprocessor specification in Hawk. In Proceedings of the IEEE International Conference on Computer Languages (1998).
No context found.
J. Matthews, B. Cook, and J. Launchbury. Microprocessor specification in Hawk. In Computer Languages: International Conference, pages 90--101. IEEE Computer Society Press, 1998.
No context found.
J.L. Matthews, J. Launchbury and B. Cook, "Microprocessor Specification in Hawk", Proc. Intl. Conf. on Computer Science, Chicago, 1998.
No context found.
J. Matthews, B. Cook, and J. Launchbury. Microprocessor specification in Hawk. In Proceedings of the IEEE International Conference on Computer Languages, 1998.
No context found.
John Matthews, Byron Cook, and John Launchbury. Microprocessor specification in Hawk. In Proceedings of the 1998.
No context found.
J. Matthews, J. Launchbury, and B. Cook. Microprocessor specification in hawk. In International Conference on Computer Languages, Chicago, 1998.
No context found.
John Matthews, John Launchbury, and Byron Cook. Microprocessor specification in hawk. In 1998 IEEE Computer Society International Conference on Computer Languages, May 1998. Id: proposal.tex,v 1.5 1998/10/20 15:17:16 walton Exp walton 9
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC