pdf

使用Chisel设计数字电路

  • 1星
  • 日期: 2020-08-30
  • 大小: 3.34MB
  • 所需积分:3分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: Chisel

This book is an introduction to digital system design using a modern hardware construction language,

Chisel. In this book, we focus on a higher abstraction level than usual in digital design books, to enable

you to build more complex, interacting digital systems in a shorter time.

这本书是一个使用现代硬件构建语言Chisel做数字系统设计的导论。在这本书,我们聚焦在

比平常的硬件设计更高抽象层,使搭建更为复杂和交互性的硬件系统变得可能。

This book and Chisel are targeting two groups of developers: (1) hardware designers and (2) software

programmers. Hardware designers who are fluid in VHDL or Verilog and using other languages such as

Python, Java, or Tcl to generate hardware can move to a single hardware construction language where

hardware generation is part of the language. Software programmers may become interested in hardware

design, e.g., as future chips from Intel will include programmable hardware to speed up programs. It is

perfectly fine to use Chisel as your first hardware description language.

这本书和Chisel的目标群体是两种开发者:(1)硬件设计者和(2)软件工程师。精

通VHDL或是Verilog,使用其它语言,像是Python, Java, 或是TCL/TK去生成硬件,使其变成一个

硬件建造语言,这样,生成硬件作为语言的一部分。 (2)对硬件设计有兴趣的软件程序员,

例如,像是Intel未来的芯片会添加可编程硬件用来提高程序速度。

Chisel brings advances in software engineering, such as object-orientated and functional languages,

into digital design. Chisel does not only allow to express hardware at the register-transfer level but allows

you to write hardware generators.

Chisel将诸如面向对象和函数式语言之类的软件工程的优势引入数字系统设计。 Chisel不仅

仅允许表示硬件在寄存器传输的抽象层,而且允许你编写硬件生成器。

Hardware is now commonly described with a hardware description language. The time of drawing

hardware components, even with CAD tools, is over. Some high-level schematics can give an overview of

the system but are not intended to describe the system.

硬件现在普遍通过硬件描述语言进行描述。描画硬件部分的时间,甚至是使用CAD工具画

图,这个时代已经过去了。有一些高级草图可以给你一个系统的整体描绘,但是它们不是用来

描述系统的。

The two most common hardware description languages are Verilog and VHDL. Both languages are

old, contain many legacies, and have a moving line of what constructs of the language are synthesizable

to hardware. Do not get me wrong: VHDL and Verilog are perfectly able to describe a hardware block

that can be synthesized into an ASIC. For hardware design in Chisel, Verilog serves as an intermediate

language for testing and synthesis.

两个最常用的硬件描述语言是Verilog和VHDL。 这两个语言是古老的,包括大量规则,并且

在综合到硬件的构建语言之间有一个变动的规则。 别理解错我的意思:VHDL和Verilog可以完

美描述用于综合成ASIC的硬件模块。 对于Chisel的硬件设计,verilog充当一个测试和综合的中

间语言。

This book is not a general introduction to hardware design and the fundamentals of it. For an

introduction of the basics in digital design, such as how to build a gate out of CMOS transistors, refer to

other digital design books. However, this book intends to teach digital design at an abstraction level that is

current practice to describe ASICs or designs targeting FPGA.1 As prerequisites for this book, we assume

basic knowledge of Boolean algebra and the binary number system. Furthermore, some programming

experience in any programming language is assumed. No knowledge of Verilog or VHDL is needed.

Chisel can be your first programming language to describe digital hardware. As the build process in the

examples is based on sbt and make basic knowledge of the command-line interface (CLI, also called

terminal or Unix shell) will be helpful.

这本书不是对硬件的设计和基础一般性介绍。 对有关数字设计基础知识的介绍,例如如何

使用CMOS晶体管搭建一个门电路,你要参考其它数字设计书。 但是,这本书的目的是教你在

一个抽象层中进行数字设计,作为当今描述ASIC或是设计 FPGA的例子。 2 作为这本书的前置

需求,我们假设你有一些基本的Boolean algebra和二进制数系统的知识。 更多的,一些任意编

程语言的编程经验也是需要的。不需要Verilog或是VHDL的知识。 Chisel能够成为你的第一个

编程语言用来描述数字硬件。 作为例子中的搭建过程是基于sbt和make,基本的命令行界面知

识(CLI,又称terminal或是Unix shell)会是有用的。

Chisel itself is not a big language. The basic constructs fit on one page and can be learned within

a few days. Therefore, this book is not a big book, as well. Chisel is for sure smaller than VHDL and

Verilog, which carry many legacies. The power of Chisel comes from the embedding of Chisel within

Scala, which itself in an expressive language. Chisel inherits the feature from Scala being “a language

that grows on you”Scala. However, Scala is not the topic of this book.

Chisel用来本身不是一个大的语言。基本的部分在这里one page, 可以在数日内学习。 于

是,这本书也不是一本大书。Chisel应该是比VHDL和Verilog更小, 继承很多规则。Chisel的力量

来自于它是嵌入在Scala里的,Scala本身是一个有力的语言。 Chisel继承Scala作为“a language that

grows on you’的Scala的特性 但是,Scala不是本书的话题。

This book is a tutorial in digital design and the Chisel language; it is not a Chisel language reference,

nor is it a book on complete chip design.

这本书是一个数字设计和Chisel语言的教学,不是Chisel语言的参考书籍也不是一本完整的

芯片设计书

All code examples shown in this book are extracted from complete programs that have been compiled

and tested. Therefore, the code shall not contain any syntax errors. The code examples are available

from the GitHub repository of this book. Besides showing Chisel code, we have also tried to show useful

designs and principles of good hardware description style.

所有的书中代码例子来自经过编译和测试过的程序。所以,代码不应该含有任何语法问题。

代码例子在本书的github repo里。除了提供Chisel代码以外,我也试图提供有用的设计和好的硬

件描述风格的规则。

所有的书中代码例子来自经过编译和测试过的程序。所以,代码不应该含有任何语法问题。

代码例子在本书的GitHub 仓库里。除了提供Chisel代码以外,我也试图提供有用的设计和好的

硬件描述风格的规则。

This book is optimized for reading on a laptop or tablet (e.g., an iPad). We include links to further

reading in the running text, mostly to Wikipedia articles.

这本书在笔电或是平板上为阅读经过了优化。我们在字里行间提供了链接,大多数

是Wikipedia的文章。

更多简介内容

推荐帖子

射频电路设计的5大经验总结
在电子学理论中,电流流过导体,导体周围会形成磁场;交变电流通过导体,导体周围会形成交变的电磁场,称为电磁波。   电磁波频率低于100khz时,电磁波会被地表吸收,不能形成有效的传输,但电磁波频率高于100khz时,电磁波可以在空气中传播,并经大气层外缘的电离层反射,形成远距离传输能力。因此每秒变化小于1000次的交流电称为低频电流,大于1000次的称为高频电流,而射频就是这样
ohahaha RF/无线
今天上午10:00 有奖直播:迈来芯为您详解半导体研发功能安全的实现与技术支持
今天上午10:00 有奖直播:迈来芯为您详解半导体研发功能安全的实现与技术支持   >>点击进入直播   直播时间:8月20日上午10:00-11:30 直播主题: 详解半导体研发功能安全的实现与技术支持 直播介绍: 汽车电子电气化复杂程度日益提升, 人们对汽车舒适度和安全性要求也不断提高,汽车功能安全的规范变得尤为重要。汽车功能安全要求覆盖了汽车行业整
EEWORLD社区 汽车电子
模拟电路之《电子设计从零开始》48M 杨欣 王玉凤 网盘下载
《电子设计从零开始》全书分为三大部分,共17章。第1章至第8章深入浅出地介绍了模拟电路的相关知识;第9章至第11章是数字电路部分,介绍了一些基本概念和系统开发过程中经常使用的器件;从第12章到结束是以51单片机为例的单片机应用技术介绍,其中有大量的实例和完整的程序。 电子设计涉及的知识面广、难度大,初学者往往不知从何入手。 《电子设计从零开始》结合了作者多年的学习与辅导经验,全面系统地介绍了进行
阿拉蕾ailin 模拟电子
AD PCB3D 汇入 3D PCB 显示错误-[已解决]
本帖最后由 FantasyTG 于 2020-8-18 10:45 编辑 汇入 3D PCB 错误 如图 详细: 公司版本AD6 (较旧版本 依照网路建议在PCB LIB->place->3D BODY 汇入3D模型 (*Step档) 可是AD6没有此选项 如图只能手绘3D PCB LIB->place->3D BODY  Place Component Bo
FantasyTG PCB设计
什么原因?MSP430F2001中的32768不起振
配置了MSP430的内部时钟,但是其中的32768一直不起振,因为xin/xout外部有接器件,想请教下如何在xin/xout外部有接外部器件的情况下,使用32768这个时钟 下面是配置时钟的代码,以及xin/xout两个引脚的原理图 void SystemClock_Init(void) { if (CALBC1_12MHZ==0xFF) // If calibr
火辣西米秀 微控制器 MCU
示波器的几种触发方式详解
我们先简单回顾下什么是示波器的触发。 由于信号无时无刻都在变化,如果一股脑的都把他们显示在示波器上,就会很乱,根本无法让我们看清楚,从而也就无法观察信号来解决问题。考虑到信号大多数时候都是以某种规律周期性出现的,因此我们只要找到他重复的规律,把每一次重复叠加显示在示波器上,信号就可以稳定观察了。 这种把信号稳定显示就是触发,也叫同步扫描。而寻找信号重复的规律,就是选择触发方式的过程。下
Micsig麦科信 测试/测量

评论

登录/注册

意见反馈

求资源

回顶部

datasheet推荐 换一换

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })