MachineStructures.Spring2010,UCBerkeley
/~cs61c/sp10/
软件环境:
Logisim仿真软件(需要JAVA虚拟机)
/~burch/logisim/
QuartusII8.1
/
硬件环境:
PC机withWindowsXP
DE2开发板(DE2DevelopmentandEducationBoardUserManual)
参考书:
anization.and.Design
关于QuartusII的使用教程
先来以一个与门电路的实验,来看一下基本的操作,在Logisim中一个与门电路生成过程如下:
1.按与门的选择按钮,添加一个与门到电路中。
2.使用按钮添加一个输入引脚,用于设置输入电平。
3.添加一个引脚,通过属性中设置Pin的属性为输出:
这样得到一个输出引脚。
4.移动以上添加的元素,得到原理图:
注意选中按钮,此时可以拖拽连线,那么我们把电路各部分连接如下:
5.接下来通过选中按钮就可以鼠标点击设定输入管脚上的电平为1或0了,输出引脚也会相应改变,输出结果。
当然通过左下方的属性设定,还可以设定当前选择元件的朝向,数据位数,输入端口数等参数。
6.另外推荐大家后面设计的时候使用一下tunnel这个工具,代替复杂的连线,在后面复杂设计的地方,让你从蜘蛛网一样的连线中解脱出来,例如上面的电路可以这样表示:
图中输入,与门模块,输出三部分结构分的很清晰,tunnel的使用使我们的电路设计更加规范,类似logisim中的tunnel工具在其他原理图工具中类似的工具是经常见到的,虽然名字会有不同,用途是一样的。
7.最后是子电路添加方法,选择Project--->AddCircuit…,如下图“:
子电路的绘制与上面基本相同,注意的是输入输出引脚要连接Pin引脚,并设定好输入输出属性。
右击子电路选择EditCircuitAppearance可以调整子电路的外观,通过拖拽将外观调整好,后面加到上层电路设计中的时候就不会显得布线拥挤了。
显然上面的要比下面的元件效果好一些。
以上描述的这些技巧与绘制规范整齐的原理图是关系密切的,后面实际应用中设计复杂电路时会突出显现出来。
几个关键的地方:
1,请尽量使用标准模块,如果需要建立自己的模块,请学习标准模块的设计风格。
2,请合理划分层次,清楚定义输入输出端口,尽量使定义的风格和规范保持一致。
3,请使用网络标识代替直接连线,会使你的原理图更加清晰易读。
4,为每个模块设计测试用例,用于测试和说明其使用方法。
5,这里用的软件比罗老板课上用的版本高一点,操作有细微差别。
打开QuartusII软件,程序主界面如下:
1,新建一个工程
点击File——>NewProjectWizard,打开创建新工程向导,这里你将完成工程的基本设定选项。
1,Projectnameanddirectory——工程的名称与目录
2,Nameofthetop-leveldesignentity——顶层设计实体的名称
3,Projectfilesandlibraries——项目文件与库
4,Targetdevicefamilyanddevice——目标设备的族类
5,EDAtoolsettings——EDA工具设定
这里一般设定好工程名称和目录,顶层设计实体名称以及目标设备族类就可以了,其他的暂时直接使用默认项就可以了。
2,新建一个设计文件
通过点击File——>New打开新建文件选择框,由于我们这里使用原理图描述实现的,则文件类型选择DesignFiles——>BlockDiagram/SchematicFile,就新建了一个原理图文件,将其保存起来,注意命名要跟前面设置的顶层设计实体名称相同。
3,编写设计文件
接下来开始在文件中绘制原理图,这里首先完成与门的添加,点击左侧工具栏中的SymbolTool按钮,打开Symbol选择框,选择primitives——>logic——>and2,点击OK后即可在原理图中添加一个2输入的与门了。在同样通过SymbolTool中的加入和primitives——>pin——>output加入输入和输出引脚,然后在原理图中把他们用OrthogonalNodeTool即导线连接起来,双击输入输出引脚,为他们设定好名字,pinA,pinB,pinC,就完成了原理图中的设计。
4,编译(分析综合)
点击Processing——>Start——>StartAnalysis&Synthesis,进行分析综合,就好像是对程序进行编译,等待片刻,如果没有错误,编译报告会输出出来。
5,配置管脚
接下来配置管脚,就是设定刚才加入的输入输出管脚与实验板上FPGA芯片外部引脚之间的对应关系,设定好这个,我们设计的与门电路才能通过FPGA外部引脚与实验板上的其他设备连接起来,我们才好观察到电路的设计效果。点击Assignment——>Pins,打开PinPlanner设定框,这里查看实验板的说明文件,我们使用两个拨动开关来连接输入引脚,用一个led灯来连接输出引脚,对照说明中的表格,为pinA,pinB,pinC分配PIN_N25,PIN_N26和PIN_AE23,设定好后点击Assignment——>Device进入设定框,点击DeviceandPinOptions按钮,在DeviceandPinOption框中的UnusedPins标签下将Reserveallunusedpins设定为Asoutputdrivingground。因为我们的设计最终会以电路的表达形式工作,错误的设计极其容易导致实验板的损坏。