FIFO存储器的VHDL代码

此项目是FIFO存储器的VHDL代码。FIFO具有16个8位数据宽度级和五个状态信号,包括上溢,下溢,空,满和阈值。 通过在Xilinx ISIM上进行混合语言仿真,使用相同的Verilog测试平台代码验证FIFO存储器的VHDL代码。通过观察可以很容易地看到如何将数据写入FIFO以及如何从FIFO读取数据。 值得注意的是,状态信号(例如上溢,下溢,空,满)对于确定FIFO的正确性至关重要。

应用介绍

此项目是FIFO存储器的VHDL代码。

FIFO具有16个8位数据宽度级和五个状态信号,包括上溢,下溢,空,满和阈值。 通过在Xilinx ISIM上进行混合语言仿真,使用相同的Verilog测试平台代码验证FIFO存储器的VHDL代码。

通过观察可以很容易地看到如何将数据写入FIFO以及如何从FIFO读取数据。 值得注意的是,状态信号(例如上溢,下溢,空,满)对于确定FIFO的正确性至关重要。

附件文件包括:FIFO的VHDL代码、运行模拟后正确的结果。

本人在下方展示了运行模拟后正确的结果;如想了解的更多请下载附件。

TIME =                  110, data_out =   1, mem =   1
TIME =                  120, wr = 1, rd = 0, data_in = 02
TIME =                  130, data_out =   1, mem =   1
TIME =                  140, wr = 0, rd = 0, data_in = 02
TIME =                  150, data_out =   1, mem =   1
TIME =                  170, data_out =   1, mem =   1
TIME =                  190, data_out =   1, mem =   1
TIME =                  190, wr = 1, rd = 0, data_in = 03
TIME =                  210, data_out =   1, mem =   1
TIME =                  210, wr = 0, rd = 0, data_in = 03
TIME =                  230, data_out =   1, mem =   1
TIME =                  250, data_out =   1, mem =   1
TIME =                  260, wr = 1, rd = 0, data_in = 04
TIME =                  270, data_out =   1, mem =   1
TIME =                  280, wr = 0, rd = 0, data_in = 04
TIME =                  290, data_out =   1, mem =   1
TIME =                  310, data_out =   1, mem =   1
TIME =                  330, data_out =   1, mem =   1
TIME =                  330, wr = 1, rd = 0, data_in = 05
TIME =                  350, data_out =   1, mem =   1
TIME =                  350, wr = 0, rd = 0, data_in = 05
TIME =                  370, data_out =   1, mem =   1
TIME =                  390, data_out =   1, mem =   1
TIME =                  400, wr = 1, rd = 0, data_in = 06
TIME =                  410, data_out =   1, mem =   1
TIME =                  420, wr = 0, rd = 0, data_in = 06
TIME =                  430, data_out =   1, mem =   1
TIME =                  450, data_out =   1, mem =   1
TIME =                  470, data_out =   1, mem =   1
TIME =                  470, wr = 1, rd = 0, data_in = 07
TIME =                  490, data_out =   1, mem =   1
TIME =                  490, wr = 0, rd = 0, data_in = 07
TIME =                  510, data_out =   1, mem =   1
TIME =                  530, data_out =   1, mem =   1
TIME =                  540, wr = 1, rd = 0, data_in = 08
TIME =                  550, data_out =   1, mem =   1
TIME =                  560, wr = 0, rd = 0, data_in = 08
TIME =                  570, data_out =   1, mem =   1
TIME =                  590, data_out =   1, mem =   1
TIME =                  610, data_out =   1, mem =   1
TIME =                  610, wr = 1, rd = 0, data_in = 09
TIME =                  630, data_out =   1, mem =   1
TIME =                  630, wr = 0, rd = 0, data_in = 09
TIME =                  650, data_out =   1, mem =   1
TIME =                  670, data_out =   1, mem =   1
TIME =                  680, wr = 1, rd = 0, data_in = 0a
TIME =                  690, data_out =   1, mem =   1
TIME =                  700, wr = 0, rd = 0, data_in = 0a
TIME =                  710, data_out =   1, mem =   1
TIME =                  730, data_out =   1, mem =   1
TIME =                  750, data_out =   1, mem =   1
TIME =                  750, wr = 1, rd = 0, data_in = 0b
TIME =                  770, data_out =   1, mem =   1
TIME =                  770, wr = 0, rd = 0, data_in = 0b
TIME =                  790, data_out =   1, mem =   1
TIME =                  810, data_out =   1, mem =   1
TIME =                  820, wr = 1, rd = 0, data_in = 0c
TIME =                  830, data_out =   1, mem =   1
TIME =                  840, wr = 0, rd = 0, data_in = 0c
TIME =                  850, data_out =   1, mem =   1
TIME =                  870, data_out =   1, mem =   1
TIME =                  890, data_out =   1, mem =   1
TIME =                  890, wr = 1, rd = 0, data_in = 0d
TIME =                  910, data_out =   1, mem =   1
TIME =                  910, wr = 0, rd = 0, data_in = 0d
TIME =                  930, data_out =   1, mem =   1
TIME =                  950, data_out =   1, mem =   1
TIME =                  960, wr = 1, rd = 0, data_in = 0e
TIME =                  970, data_out =   1, mem =   1
TIME =                  980, wr = 0, rd = 0, data_in = 0e
TIME =                  990, data_out =   1, mem =   1
TIME =                 1010, data_out =   1, mem =   1
TIME =                 1030, data_out =   1, mem =   1
TIME =                 1030, wr = 1, rd = 0, data_in = 0f
TIME =                 1050, data_out =   1, mem =   1
TIME =                 1050, wr = 0, rd = 0, data_in = 0f
TIME =                 1070, data_out =   1, mem =   1
TIME =                 1090, data_out =   1, mem =   1
TIME =                 1100, wr = 1, rd = 0, data_in = 10
TIME =                 1110, data_out =   1, mem =   1
TIME =                 1120, wr = 0, rd = 0, data_in = 10
TIME =                 1130, data_out =   1, mem =   1
TIME =                 1150, data_out =   1, mem =   1
TIME =                 1170, data_out =   1, mem =   1
TIME =                 1170, wr = 1, rd = 0, data_in = 11
TIME =                 1190, data_out =   1, mem =   1
TIME =                 1190, wr = 0, rd = 0, data_in = 11
TIME =                 1210, data_out =   1, mem =   1
TIME =                 1220, wr = 0, rd = 1, data_in = 11
TIME =                 1230, data_out =   1, mem =   1
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1240, wr = 0, rd = 0, data_in = 11
TIME =                 1250, data_out =   2, mem =   2
TIME =                 1260, wr = 0, rd = 1, data_in = 11
TIME =                 1270, data_out =   2, mem =   2
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1280, wr = 0, rd = 0, data_in = 11
TIME =                 1290, data_out =   3, mem =   3
TIME =                 1300, wr = 0, rd = 1, data_in = 11
TIME =                 1310, data_out =   3, mem =   3
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1320, wr = 0, rd = 0, data_in = 11
TIME =                 1330, data_out =   4, mem =   4
TIME =                 1340, wr = 0, rd = 1, data_in = 11
TIME =                 1350, data_out =   4, mem =   4
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1360, wr = 0, rd = 0, data_in = 11
TIME =                 1370, data_out =   5, mem =   5
TIME =                 1380, wr = 0, rd = 1, data_in = 11
TIME =                 1390, data_out =   5, mem =   5
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1400, wr = 0, rd = 0, data_in = 11
TIME =                 1410, data_out =   6, mem =   6
TIME =                 1420, wr = 0, rd = 1, data_in = 11
TIME =                 1430, data_out =   6, mem =   6
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1440, wr = 0, rd = 0, data_in = 11
TIME =                 1450, data_out =   7, mem =   7
TIME =                 1460, wr = 0, rd = 1, data_in = 11
TIME =                 1470, data_out =   7, mem =   7
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1480, wr = 0, rd = 0, data_in = 11
TIME =                 1490, data_out =   8, mem =   8
TIME =                 1500, wr = 0, rd = 1, data_in = 11
TIME =                 1510, data_out =   8, mem =   8
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1520, wr = 0, rd = 0, data_in = 11
TIME =                 1530, data_out =   9, mem =   9
TIME =                 1540, wr = 0, rd = 1, data_in = 11
TIME =                 1550, data_out =   9, mem =   9
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1560, wr = 0, rd = 0, data_in = 11
TIME =                 1570, data_out =  10, mem =  10
TIME =                 1580, wr = 0, rd = 1, data_in = 11
TIME =                 1590, data_out =  10, mem =  10
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1600, wr = 0, rd = 0, data_in = 11
TIME =                 1610, data_out =  11, mem =  11
TIME =                 1620, wr = 0, rd = 1, data_in = 11
TIME =                 1630, data_out =  11, mem =  11
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1640, wr = 0, rd = 0, data_in = 11
TIME =                 1650, data_out =  12, mem =  12
TIME =                 1660, wr = 0, rd = 1, data_in = 11
TIME =                 1670, data_out =  12, mem =  12
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1680, wr = 0, rd = 0, data_in = 11
TIME =                 1690, data_out =  13, mem =  13
TIME =                 1700, wr = 0, rd = 1, data_in = 11
TIME =                 1710, data_out =  13, mem =  13
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1720, wr = 0, rd = 0, data_in = 11
TIME =                 1730, data_out =  14, mem =  14
TIME =                 1740, wr = 0, rd = 1, data_in = 11
TIME =                 1750, data_out =  14, mem =  14
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1760, wr = 0, rd = 0, data_in = 11
TIME =                 1770, data_out =  15, mem =  15
TIME =                 1780, wr = 0, rd = 1, data_in = 11
TIME =                 1790, data_out =  15, mem =  15
PASS ------ PASS ---------- PASS -------------- PASS
TIME =                 1800, wr = 0, rd = 0, data_in = 11
TIME =                 1810, data_out =  16, mem =  16
TIME =                 1820, wr = 0, rd = 1, data_in = 11
TIME =                 1830, data_out =  16, mem =  16
PASS ------ PASS ---------- PASS -------------- PASS

文件列表(部分)

名称 大小 修改日期
FIFO存储器的VHDL代码(附件).txt2.06 KB2020-04-01

立即下载

相关下载

[算术逻辑单元(ALU)的VHDL代码] 此项目是算术逻辑单元(ALU)的VHDL代码。算术逻辑单元(ALU)是CPU中最重要的数字逻辑组件之一。 它通常执行逻辑和算术运算,例如加法,减法,乘法,除法等。ALU中实现的逻辑和算术运算如下:1.算术加法ALU_Out = A + B;2.算术减法ALU_Out = A-B;3.算术乘法ALU_Out = A * 等等。了解更多请下载附件。
[全加法器的VHDL代码] 此项目是全加法器的VHDL代码。在此VHDL项目中,提供了用于全加器的VHDL代码。 用于加法器的VHDL代码是通过使用行为和结构模型来实现的。全加法器具有三个输入X1,X2,进位Cin和两个输出S,进位Cout。附件中包括:使用结构模型的完整加法器的VHDL代码、使用行为模型的全加法器的VHDL代码。如想了解的更多请下载附件。
[D触发器的VHDL代码] 此项目是D触发器的VHDL代码。该项目介绍了D型触发器的VHDL代码。  D触发器有几种类型,例如高级异步复位D触发器,低级异步复位D触发器,同步复位D触发器,上升沿D触发器,下降沿D触发器。 触发器,在此VHDL项目中的VHDL中实现。附件中包括:上升沿D型触发器的VHDL代码、具有同步复位的上升沿D触发器的VHDL代码、具有异步复位高电平的上升沿D触发器的VHDL代码等等。了解更多请下载附件。
[FIFO存储器的VHDL代码] 此项目是FIFO存储器的VHDL代码。FIFO具有16个8位数据宽度级和五个状态信号,包括上溢,下溢,空,满和阈值。 通过在Xilinx ISIM上进行混合语言仿真,使用相同的Verilog测试平台代码验证FIFO存储器的VHDL代码。通过观察可以很容易地看到如何将数据写入FIFO以及如何从FIFO读取数据。 值得注意的是,状态信号(例如上溢,下溢,空,满)对于确定FIFO的正确性至关重要。
[8位比较器的VHDL代码] 此项目是8位比较器的VHDL代码。这项目介绍了一个8位比较器的VHDL代码。 74F521是一个8位身份比较器,如果两个8位输入匹配,它将提供低电平输出。此附件包括:真值表和比较器的符号【真值表、比较器的逻辑符号、逻辑图(来自74L521的数据表)】;比较器的VHDL代码;比较器的Testbench VHDL代码;比较器的仿真波形。

评论列表 共有 0 条评论

暂无评论

微信捐赠

微信扫一扫体验

立即
上传
发表
评论
返回
顶部