Show simple item record

dc.creatorBass, Michael
dc.date.accessioned2019-07-09T15:06:04Z
dc.date.available2019-07-09T15:06:04Z
dc.date.created2015-05
dc.date.issued2014-09-08
dc.date.submittedMay 2015
dc.identifier.urihttp://hdl.handle.net/1969.1/177520
dc.description.abstractDue to the nature of hardware and software, their respective design languages have evolved in isolation. Sophisticated languages and design environments exist for both hardware and software; however they remain distinct and independent, both syntactically and semantically. Hardware inherently operates in parallel and therefore hardware languages have always contained pragmas to handle parallelism, albeit explicitly. Software originally was envisioned with a serial execution paradigm. For several decades, there have been attempts to develop software tool-chains that allow parallel software execution. Significant research has been done on parallel software programming by extracting parallelism implicitly (automatically). This has generally yielded poor results, and programming paradigms that are very difficult to reason about and use in practice. In this thesis we will attempt to create a single language that can design either hardware or software. Our goal is to strive for a high level of efficiency as well as adoptability. This language provides a common syntax as well as a common semantic for designing both hardware and software. In this language, parallelism is explicitly expressed for both hardware and software. To achieve our goals we have designed a hardware translator and software translator that take the new language and translate it into Verilog [1] for hardware, and C++ [2] for software. We have tested the language against current hardware and software platforms with an array of algorithms and data sets. The result of this work could have a dramatic impact in the digital design industry, and ultimately change the way digital design is done, allowing a merging of software and hardware design representations. This could be significant, because each of these design representations currently have billions of dollars invested in them, and are not mergeable.en
dc.format.mimetypeapplication/pdf
dc.subjectSoftware Designen
dc.subjectHardware Designen
dc.subjectCo-design Languageen
dc.subjectHardware Software Co-designen
dc.subjectCven
dc.subjectHardware Software Languageen
dc.subjectHardware Software Designen
dc.subjecten
dc.titleA Combined Language for Hardware and Software Designen
dc.typeThesisen
thesis.degree.departmentElectrical and Computer Engineeringen
thesis.degree.disciplineElectrical Engineeringen
thesis.degree.grantorUndergraduate Research Scholars Programen
dc.contributor.committeeMemberKhatri, Sunil P
dc.type.materialtexten
dc.date.updated2019-07-09T15:06:04Z


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record