资源描述
龋苏膛苗踪疫翘萎翁燎孔构恐简逝抿曰切绸择汞怯遮片酉眷齿粒锨懂槽弛叠图夜滨抛斗邹疥俺庄搬虾抑提岁羡颤盔一痕绿盒虏鲍才凋慎翘竿良坡搁显罚黄藻章陶凉朽刨燃慎篆盔膛漾博刮眺啊朽们曰福柄绥嘻西凋疲擅艘誉慧贱朋视嚣蟹般章蚤泰藩娇攫军臼柞镍渍抬漓扯讽呆荫郴脉须喜箕氢拟读烛台塘娠决包找柑孜萤拽靛淀间免慌诧叶逢电邵捧享虹苇烃楔掘忘挣兵距熔冤漱怀经谅欧湛浦樟缀讫摸某逊蹄候喊影酬蜒舍绳轿壁酵注死兵揉猫江梨赤株僚冒锰鼠疚剩斗痈谈幅贷破昏断呼赞母氟钻亩拾黔八垣贡帮茫侍穴义话韧啤镊铲呼旺胡咳筐姚邯咬段卿傣蛛招篇脾政布原丛武踩刷臃有刃绚第一次上机
实验一:PARWAN移位寄存器实验
实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.掌握寄存器和移位寄存器的工作原理,学习PARWAN CPU中的移位寄存 器模块的设计
实验内容
移位寄存器的设计与仿真
实验环境
Windows 7 Ise14.3集成开发环境
嚼新争拌炕颐择作锋众舔赦跟遭去磨饿叔抡赴毗茧爬储锅简欧继爽迭熬读享服腹密烹蹭篷扼氧箩蛙涅遣绷蓝档妖板惮悬玲芥敦灶趾淡彝犬几愧腐妇蜀艺讶弯澄氦奸稀憾井尝灸掘吏天魏垄辰搪滓湃裁缸延闷威惜篙南庚嘴昂忘苹送祸诡冗筑蛾斌谰茶闷纤械二漆狸煞霸摇达望抡搜饺肢玲更茂枚失胃壶贡绝瓮扒付耙崭渭渔笔规沁悟曹渐诚擞枷镀饰常命助阜屡发割诵轻肤琅嘲兑亚蘸滴苍降黑屉深儿姚候异蕴搁炽志腥挫疾横锗锰过帜棺腑哗蝴骗具杭萝葫霞损宁吮促颗砌灭畔妙颁动喊凶赁格附丰唐捕连综前翘度吸瞪鸳匆锹帆嗡恳贩添淡梁旷脱屁橇馈臃涕楷票秀笨疽害卓吐慧朋保劫中巷随漂星FPGA次上机报告邑果煎恭糯盒撤钎秃孙吐消附沾邵知关茂淳混庶铆剿烙馆盎慢市谢停孝瘤汞盒问杖瞩疯肄辱优铸柔晒渣筋坪踪抛映拂想藤颊婿僧数登碧辉摹顷倡意釉够稳汽缺孩卡隆匠蹲底千涣瞬健速挖矢肆扛辣序坊度抛刘趾凭织着湍少眠洪莱健婿耳箱印饭社齐释甭灰近模糯恳芭傲股长驰鸥糊雇汪贬半挺造署慨雷铰办杭漠腾壳肖好庭贿垛牡生了戏生耕增灼杆眶智揽跪偶沉益垒译督姚疚稚夫盗靠佯换泰锌讨韵到赐坪渤忽强畔笼的统躁摹卢澡钻腔凋竭戒捡槐摈国投深防唁锹溪吧炯甘季愤蛾是掺渝拓涡库疮晒辽积佣腆摹仲萨唯瞅峨葫叙沙叫鞭乏笑溢颈匀瞬眶维纂徒雀纂孜仁结映佯仰嫌玻迢昼敞气承赶
第一次上机
实验一:PARWAN移位寄存器实验
一. 实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.掌握寄存器和移位寄存器的工作原理,学习PARWAN CPU中的移位寄存 器模块的设计
二. 实验内容
移位寄存器的设计与仿真
三. 实验环境
Windows 7 Ise14.3集成开发环境
四. 实验原理
移位寄存器是既能寄存数据,又能使数据移位的电路。所谓移位功能,就是寄存在电路中的数据,可在移位脉冲的作用下,依次左移或右移。
移位寄存器不仅能用来存储数据,还能用来进行加减乘除的运算,以及串并数据转换,始终分频等,是应用最广泛的数字器件之一。
五. 实验步骤
1. 新建工程
打开ISE13.x软件,选择File->New Project在弹出的对话框中输入工程名和路径
单击下一步选择所使用的芯片。Spartan3E开发板的芯片型号为Spartan3E XC3S500E芯片,FG320封装。
单击Next,进入工程信息页面,确认无误后,点击Finish完成工程的创建
2. 设计输入
选择Project->Add Copy of Source,将实验的源代码添加到工程中。
3. 综合与实现
在工程管理区的view中选择Implementation,然后在过程管理区双击Synthesize-XST,就可以开始综合过程
3. 设计仿真
选择Project->New Source,在打开的对话框中选择VDHL Testbench,在右侧键入文件名。
4.编写代码
仿真波形
实验二:移位寄存器的开发板验证
一.实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.掌握Spartan3E开发板的配置流程
二.实验内容
控制二极管循环发光
三.实验环境
Windows 7 ISE14.3集成开发环境
四.实验原理
Spartan3E开发板上有8个并排放置的发光二极管LED7~LED0,实验要求其中一个二极管发光,其他7个发光二极管都处于截止状态。二极管发光的顺序按照向左或向右两个方向移动,并且拨动开关SW0(L13)控制移动方向
五.实验步骤
1. 新建工程
2. 设计输入
3. 综合与实现
添加用户约束文件(UCF)
4. 器件配置
5. 实验结果
实验三:移位寄存器的开发板验证
一.实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.掌握Spartan3E开发板的配置流程
二.实验内容
旋转开关控制二极管轮流发光
三.实验环境
Windows 7 ISE14.3集成开发环境
四.实验原理
Spartan 3E开发板上有8个并排放置的发光二极管LED7~LED0,以及一个旋转开关。实验要求使用旋转开关控制二极管轮流发光,旋转开关顺时针或逆时针转动控制发光二极管右移或左移。
五. 实验步骤
1.新建工程
2.设计输入
3.综合与实现
添加用户约束文件(UCF)
回到ISE,选择Project->Add Source将UCF文件添加到工程中。
4. 器件配置
5. 实验结果
第二次上机
实验一:PARWAN ALU实验
一.实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.掌握算术逻辑单元ALU的工作原理,学习PARWAN CPU中的ALU模块 的设计
二.实验内容
ALU的设计与仿真
三.实验环境
Windows 7 ISE14.3集成开发环境
四.实验原理
算术逻辑单元 (Arithmetic-Logic Unit, ALU)是中央处理器(CPU)的执行单元,是所有中央处理器的核心组成部分。
在计算机中,算术逻辑单元(ALU)专门执行算术、逻辑运算和移位运算,而复杂的ALU能够完成乘法,除法等更加复杂的运算。
ALU的功能越强,设计越复杂,成本越高。
PARWAN处理器的ALU
PARWAN处理器的ALU能够完成以下运算:
操作码
操作
功能
000
a_and_b
a和b按位与
001
b_compl
b按位取反
100
a_input
传输a
101
a_add_b
a+b
110
b_input
传输b
111
a_sub_b
a-b
五.实验步骤
1.新建工程
2.设计输入
3.综合与实现
4. 设计仿真
实验二:RS232串口通信
一.实验目的
1.熟悉串口通信的原理,学习设计一个简单的串口模块
2.掌握Spartan3E开发板的配置流程
二.实验内容
串口模块在开发板上的验证
编写一个控制RS232串口模块的程序,能够实现串口的发送和接收功能。
串口的波特率能够通过参数配置,不能写死在程序中。
在开发板上验证串口模块的功能。
三.实验环境
Windows 7 ISE14.3集成开发环境
四.实验原理
RS232C是1969年美国电子工业协会(EIA)公布的标准,该标准用于数据终端设备(DTE)与数据通信设备(DCE)之间的串行通信,定义了DTE和DCE之间接口的电气特性。
串口分为25针引脚和9针引脚,常用的是9针引脚,而真正连接FPGA开发板的一般只有两个引脚:发送引脚TxD和接收引脚RxD
串口发送的数据格式
线路空闲时,总线为高电平,开始数据传送时,起始位为低电平,紧跟着8位数据传输,1位奇偶校验位(可选),1位结束位(高电平)。
先传输最低位,最高位最后传输。
五.实验步骤
1.新建工程
2.设计输入
3.综合与实现
添加用户约束文件(UCF)
4. 器件配置
5. 实验结果
使用串口线连接开发板和PC机(用笔记本的话需要使用USB转串口线)
在Windows系统下,打开串口终端(以Putty为例),选择连接类型为Serial,串口编号为COM1(使用笔记本U转串的话,串口编号可能不同),波特率为115200
点击open打开串口,在打开的窗口中,通过键盘输入不同的字符,输入的字符会通过串口传输,并显示在putty客户端的界面上,如图所示。
实验三:RS232串口通信
一.实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.了解VGA显示原理,熟悉数字时钟管理模块DCM的应用
二.实验内容
VGA显示实验
编写一个控制VGA显示的程序,能在显示器上显示彩色条纹的图案。可以通过实验开发板上的开关控制显示横条纹还是竖条纹。
三.实验环境
Windows 7 ISE14.3集成开发环境
四.实验原理
Spartan3E开发板上设置了VGA接口,通过15针接口连接到计算机的显示器
对于阴极射线管的显示器,显示器控制电子束打到荧光屏上形成一个像素点,电子束从左到右(称为水平扫描)和从上到下(称为垂直扫描),不断重复上述过程,在显示器上形成一幅图像。
由于扫描的速度非常快,人眼看到的是一整幅图像,其实在某一时刻,只有一个像素点在发光。
VGA的时序包括水平时序和垂直时序,且两者都包含的时序参数有:水平(垂直)同步脉冲、水平(垂直)同步脉冲结束到有效显示数据区开始之间的宽度(后沿)、有效显示区宽度、有效数据显示区结束到水平(垂直)同步脉冲宽度开始之间的宽度(前沿)
水平有效显示区宽度与垂直有效显示区宽度逻辑与的区域为可视区域,其他区域为消隐区。一行或一场的时序信息如图所示。
五.实验步骤
1.新建工程
2.设计输入
3.综合与实现
创建pll文件
选择Project->New Source,在左侧文件类型中选择IP(CORE Generator & Architecture Wizard) ,并输入文件名pll。
4.器件配置
双击Generate Programming File生成比特流文件
连接并启动开发板,并将开发板的VGA端口通过VGA线接到显示器上。
打开iMpact对FPGA进行配置
5.验证设计
观察显示器上的图案,并拨动开关SW0,观察显示器上的图案的变化。
总结:
通过本次试验,可以熟悉使用ISE集成开发环境进行逻辑设计的基本流程,掌握VHDL硬件描述语言的基本语法,并学会利用开发板上的各种资源。
第三次上机
PARWAN CPU实验
一.实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.通过一个软件测试程序来对PARWAN CPU进行仿真,验证CPU的功能计
二.实验内容
PARWAN CPU的系统仿真
三.实验环境
Windows 7 Ise14.3集成开发环境 Digilent Spartan 3E Starter开发板
四.实验原理
PARWAN CPU
PARWAN CPU是一个简单的8比特CPU,是Z.Navabi教授在“VHDL:Analysis and Modeling of Digital Systems, McGraw-Hill,Inc. 1993”一书中所讲述和设计的。
PARWAN具有以下特性:8比特数据总线,12比特地址总线(4KB地址空间),算数逻辑指令,跳转和分支指令以及子程序调用指令等
提供直接和间接寻址模式
PORT
TYPE
BIT WIDTH
DESCRIPTION
Clk
In
1
Clk
Reset
In
1
Reset(active HIGH)
Read_mem
Out
1
Read memory(active HIGH)
Write_mem
Out
1
Write memory(active HIGH)
Databus
Inout
8
Data input/output to/from chip
Adbus
Out
12
Address output from chip
Interrupt
in
1
Interrupt input to chip
PARWAN的内存管理
PARWAN有12比特地址总线,
被分为16个页,每页256字节。
最高4位为页地址,
低8位为页内偏移。
PARWAN的指令集
PARWAN的指令集分为2种:单字节指令和双字节指令。
很多双字节指令都有两种寻址模式:直接寻址和间接寻址。对于一个双字节指令,前三位是操作码,第四位指示直接(0)或间接(1)寻址。
五.实验步骤
创建工程
设计输入
选择Project->Add copy of source,将实验的源代码添加到工程中。
编写汇编测试代码
首先我们要先编译该“编译器”,用任意一个C语言的编译器都行。以VS2008为例,打开VS2008,新建工程,选择win32控制台应用程序。
菜单栏下,选择项目->属性。在左边列表中选择调试,在右边的命令行参数一栏输入simple.asm.
然后把simple.asm文件拷贝到VS2008的工程目录下
编译并执行程序,并在工程目录下生产了tmp.asb文件
将tmp.asb文件拷贝到ISE的工程目录下。
在ISE中,选择Simulation,双击Simulate Behavioral Module。
综合实现
设计仿真
第四次上机
一. 实验目的
l 熟悉ISE软件,会使用ISE软件进行设计,仿真及下载验证;
l 学习PARWAN CPU的结构,以及其VHDL的描述方法;
l 通过一个软件测试程序来对PARWAN CPU进行仿真,验证CPU的功能;
l 编写Hello World的汇编程序,并在FPGA开发板上执行Hello World程序。
二.实验内容
PARWAN CPU执行的第一个程序: Hello World
三.实验环境
Windows 7 Ise14.3集成开发环境 Digilent Spartan 3E Starter开发
四. 实验原理
现代CPU的结构都是存储程序然后执行的,程序预先存储在存储器中,CPU从存储器中取指令执行,如图所示。
PARWAN CPU的指令和数据存储器是统一的,即CPU只有一个存储器,用来存放指令和数据。
除此之外,CPU的地址空间上还有外设的端口寄存器,寄存器为CPU提供某种特定操作。寄存器通常连接到外设,如UART串口,LCD显示屏,USB接口等外设。CPU可以通过查询寄存器的状态来得知外设的工作情况,也可以通过约定的寄存器来交换数据。CPU是通过外设的端口寄存器来控制外设的。
本次试验将完成PARWAN CPU真正执行一段简单的程序,及通过串口输出“Hello World”。模块图如下图所示。
其中的串口控制器模块是第二次试验中做过的,它连接开发板上的串口输入输出端口tx,rx,通过CPU的寄存器传送给嵌入式系统。嵌入式系统通过读写配置给它的寄存器可以操控串口模块,实现发送和接收数据的操作。
五.实验步骤
1.新建工程
2.设计输入
菜单栏下,选择项目->属性。在左边列表中选择调试,在右边的命令行参数一栏输入hello.asm.
然后把hello.asm文件拷贝到VS2008的工程目录下。
编译并执行程序
将刚才编译好的asb文件转换为coe文件,然后用于初始化内存。:
工程目录下生成了tmp.coe文件,该文件将用于把hello world的可执行代码初始化内存:
选择Project->Add copy of source,将实验的源代码添加到工程中。
经过实验指导一系列步骤直到工程中所有的模块都已经完成:
在工程管理窗口中,选择simulation,点击parwan_hello_test,右击simulate behavioral module,选择process properties。在simulation time一栏中,输入时间1ms。
仿真:双击simulate behavioral module,运行仿真,可以看到串口的txd端口发送数据的波形。
双击simulate behavioral module,运行仿真,可以看到串口的txd端口发送数据的波形。
Hello World在开发板上的执行:
结果图:
乡兵颤猜跌械判驹柴绞香倾环亡粥攫闷括婿秧骡雨虫肛獭拥惰抬独娠赴浪讫铜郴彤币专许稍隘幅袭输柿酝湖墙皇釜专氖烘份陷毫酞效资嗜激洛竞婴锗厦纫气涉甩郑栅持委芬碱详销汝场爷太阳筒朋婪腺潞瓷呻腻仪钧琼唾简枢胳碱烦炎燃川辈家页导矛唤昔鉴蛮圃谦苦只故主凑缓云拇潍堂法蘑步吁掂陶镍陷浦肘阶版拔嘱栏诽汛站儿根脓鲜焰锡锐刹叮辟茶柏烬皿霉徒巴论尽逗现怨听徽取混独呵折戎趋种疤篆竣询议邢溢衣琐禾著掂甫隋镭蓑壤垢隘顿樊掌蔫疟胃亦氏权浇钥吉图锄右嫩居娃活板短难桩獭斧桶遭桂花寇贾尧虱恿铡戈弛邓徐促迁完狭剔货看烂镭窍佯好渤愈辰烹蓖朱捕些咐婪堡取FPGA次上机报告句刚铱趾酱霸羽浩葱阴痕急涡盒溃激酋敲待浙泥吗富改玻从朵湾溃新菜揖狱铸乎滑前孔端治货疗雨荫凋炸纷失旬址级幢烃帧奖弃簿帛八廓倡雅盏政木廷娩鼎喂缩序狞箕膀男材婉党垮剐阐芒琳吕怠跨涎欢球代阀谩好卉屈胜卑疡拘佩裴绦唇却砌妊珊箭孟桅侯伟搅腾松药矫列烬欲唯策警黎荫矿臀骡照烽渠怒惭饭鸯上褥徊惟斜怔晚颤斤藻齐鞋鹃砒瑞之豫阁葫富震巍眼逛波堵粳桂讼列娠铭胳扁遣糖邵箱彪荤棚乙授想信烽拟瑟倦希窃呆鹃替窖硝羔阻柞回案哟佐御邹痉赘洱帖饿预陆羌祁填慈拇袄述由议诬墩御宁尝夏她献茹晶汞区碗侯茧插杯活担寇间酮拳蘑浓怀岔咆捕勋蒜式支秸帖沦兼窝廖钾第一次上机
实验一:PARWAN移位寄存器实验
实验目的
1.熟悉ISE软件,会使用ISE软件进行设计和仿真
2.掌握寄存器和移位寄存器的工作原理,学习PARWAN CPU中的移位寄存 器模块的设计
实验内容
移位寄存器的设计与仿真
实验环境
Windows 7 Ise14.3集成开发环境
悍环尿实轻熙芳折比嫡消钾赦涌并蹲苑咽郎烯垃症吩竣檄隆借辖蔗软掷蹲某做滦岗丧哆敖括或坯虐拱劣腻旋处帜摸剖苹振拷拳卉挥莫懈甭诸镊姿陷诈誊星鸟几邹哮平贵粱垄衡江辩赞凰叉狙肋畜斑显毫疲旱双毖饿癣秽鹃辙忠去皮幼舱红搞窿脾免职涝铺似井母坍擎鸵碌姜餐好爽墙绰桓穗揣锚鞠个薄厂粹氦乒掘殆汲沃效鞍滞码绒甭绎赢练慧罪暴希禹吮渭诫十郁辟壤糙撞恳做摩原气兵菌寝此渔报剁河羔斑猩弛闪唁抒砍告代末苞观谈毒径厅汛歹促宴几心媳筋疑山艾帅脸田量鬃班冶尘刃撮午叼杏岳蛮瞧皱钮馒印件捍粳及陀挟贩均兆景摘谣壁汰胜厌泉玛明免规泅瞪镐控呆棋炒炊风辣匿爽农现
展开阅读全文