- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 存储器实验
实验目的
掌握存储器的结构和存储器的字位扩展方式。
实验原理
REF _Ref251699059 \h 图 4.1给出了用256× 4位的存储器“芯片”构成1K× 8位的主存储器的原理框图。整个电路在FPGA内部实现,256× 4位的存储器“芯片”也是用FPGA内部存储资源模拟。由于实验板拨动开关数量有限,数据输入和地址输入共用一组开关,因此设计了一个地址锁存器,实验时先将开关输入的地址保存在地址锁存器中,然后再通过开关输入数据。
图 4.1 主存储器组织实验原理图
RAM模块设计
RAM模块容量为:256× 4位,模拟一般的静态RAM芯片的引脚,RAM模块的端口设计有地址输入(ADDR)、数据输入(DIN)、数据输出(DOUT)、写使能(WR)、读使能(RD)、片选(CS)。和普通SRAM芯片不同的是,FPGA内部的RAM模块设计为同步存储器,还有一个时钟输入(CLK)端口。设计代码见1。片选信号控制“芯片”是否工作,片选无效时,不能进行读写操作,DOUT输出为高阻态;片选有效时,允许写入和读出。
2.顶层模块设计
顶层模块按照图4.1原理图设计主存储器。共设计8个256× 4位RAM模块,并设计一个2-4译码器,连接成1K× 8位的主存储器。
实验内容
基础实验
实验操作和记录
1)计算地址分配
计算每个RAM块所占用的地址空间。将地址译码器输出的4个选择线所对应的地址范围以16进制形式填入下表。
起始地址(H)
结束地址(H)
Y0
000
0FF
Y1
100
1FF
Y2
200
2FF
Y3
300
3FF
2)片选信号的产生
ADDR
CLK0
EN
Y3
Y2
Y1
Y0
①
0000000000
0
0
0
0
0
②
0000000000
1
0
0
0
1
③
0100000000
1
0
0
1
0
④
1000000000
1
0
1
0
0
⑤
1100000000
1
1
0
0
0
实验现象分析:
(1)阅读 REF _Ref251912804 \h 程序清单 3.2,并根据第①行的实验结果,如果片选信号EN为0,2-4译码器的输出Y=__0__,从而各个RAM块的片选信号CS ___无效___(有效/无效),存储器___不可以____(可以/不可以)进行读写操作。
(2)根据表中②、③、④、⑤行的结果,当片选信号CS为1时,ADDR[U6][U7]决定了当前访问U0/U1、U2/U3、U4/U5、U6/U7中的哪个存储器模块。
3)存储器的写操作和读操作过程
256×4 RAM模块的RAM块的读写均由CLK同步,所以设置好地址、数据、读写使能后,要产生一个CLK脉冲才能将数据写入或读出RAM块,时钟信号通过按键产生。
连续往存储器的001H、102H、203H、304H单元,分别写入5AH,6BH,7CH,8DH,然后分别读出观察。
ADDR/ DATA
CLK0
DATAoe
CS
WR
RD
CLK
DB
Y3
Y2
Y1
Y0
实验现象分析
①
001H
0
1
—
—
——
FF
0
0
0
1
5AH→DB→(001H)
5AH
——
1
1
1
0
5A
0
0
0
1
②
102H
0
1
—
—
——
FF
0
0
1
0
6BH-DB-(102H)
6BH
——
1
1
1
0
6B
0
0
1
0
③
203H
0
1
—
—
——
FF
0
1
0
0
7CH-DB-(203H)
7CH
——
1
1
1
0
7C
0
1
0
0
④
304H
0
1
—
—
——
FF
1
0
0
0
8DH-DB-(304H)
8DH
——
1
1
1
0
8D
1
0
0
0
⑤
001H
0
1
0
1
5A
0
0
0
1
(001H)→DB
⑥
102H
0
1
0
1
6B
0
0
1
0
(102H)-DB
⑦
203H
0
1
0
1
7C
0
1
0
0
(203H)-DB
⑧
304H
0
1
0
1
8D
1
0
0
0
(304H)-DB
000H地址访问的是U1、_U0_ 存储器块,101H地址访问的是_U3_、__U2_存储器块,202H地址访问的是_U5_、_U4_存储器,303H地址访问的是_U7__、_U6_存储器块。
2. 提高实验(用Logisim实现存储器扩展(位扩展、字扩展))。
1)存储器扩展(位扩展)
Step 1 设计
设计要求:现有8*8 位的RAM存储器模块,请扩展为 QUOTE 8*32 位RAM存储空间;
(1)放置元件
根据设计要求,扩展 QUOTE 8*32 位RAM存储空间需要4个 QUOTE QUOTE 8*8 位的RAM存储器模块,如图4.2所示,添加4个存储器元件。
图4.2 放置存
文档评论(0)