QuartusII150中仿真Altera三速以太网IP核.docx

上传人:b****3 文档编号:1074097 上传时间:2022-10-16 格式:DOCX 页数:18 大小:1.22MB
下载 相关 举报
QuartusII150中仿真Altera三速以太网IP核.docx_第1页
第1页 / 共18页
QuartusII150中仿真Altera三速以太网IP核.docx_第2页
第2页 / 共18页
QuartusII150中仿真Altera三速以太网IP核.docx_第3页
第3页 / 共18页
QuartusII150中仿真Altera三速以太网IP核.docx_第4页
第4页 / 共18页
QuartusII150中仿真Altera三速以太网IP核.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

QuartusII150中仿真Altera三速以太网IP核.docx

《QuartusII150中仿真Altera三速以太网IP核.docx》由会员分享,可在线阅读,更多相关《QuartusII150中仿真Altera三速以太网IP核.docx(18页珍藏版)》请在冰豆网上搜索。

QuartusII150中仿真Altera三速以太网IP核.docx

QuartusII150中仿真Altera三速以太网IP核

小梅哥FPGA学习笔记之

QuartusII15.0中仿真Altera三速以太网IP核

(友情提示:

图片有点多,默认缩小状态下可能看不清楚,点击图片可查看高清大图哦)

近期的项目需要用到网络端口通过UDP协议来进行数据的与PC机的交互。

FPGA系统中实

现网口有多种方式,包括友晶的DE2-35开发板上使用的NIOSII处理器通过外部MAC芯片DM9000实现的webserver,以及DE2-115开发板上使用NIOSII处理器与三速以太网(TSEIP核实现webserver,再就是W5X00系列的硬件TCP/IP网络芯片,配合FPGA实现网络数据传输。

当然,我自己也曾经在项目中直接使用完全自己编写的UDP协议网络收发逻辑配

合外部网络PHY芯片,实现数据的收发。

早就知道QuartusII中提供了有三速以太网的MAC

层IP,今天,在新项目的网络接口开工前,先通过仿真来了解一下该IP核的基本情况,相

信该IP核的仿真结果一定很标准,能够为我后期手动写MAC层逻辑提供一个标准的时序

参照。

这里我使用Altera公司最新的FPGA开发工具Quartus1115.0(前天刚刚出了update1版本,不过公司网速慢,我还没来得及更新)来生成该以太网IP核以及设计实例,并使用Modelsim-Altera来仿真,来得到仿真波形。

在QuartusII15.0中,新建一个空白工程,工程名字任意,这里我命名为TSE_SIM器件我选择在至芯科技学习时发给我的ZX-1开发板上使用的FPGA芯片EP4CE10C8仿真工具选择

modelsim-altera,语言为Verilog。

(创建工程这些的我就不上图了,相信大家都很熟悉)最终,创建工程完成后的Summary如下图所示:

点击Finish完成工程的创建。

在软件的右侧IPCatlog中(以前的博客有提到,Quartus1115.0中的IP核调用不再是在MegaWizardPlug-InManager中,而是IPCatlog)依次展开Interface

这里,语言选择Verilog,IP核被我自己命名为TSE然后点击OK,则开始启动参数配置界面,启动过程很长,从点击OK到最终GUI弹出来大约需要20秒左右的时间,大家要耐心点,不要怀疑是否是软件出了故障。

在CoreConfiguration选项卡中,选择CoreVariation为10/100/1000MbEthernetMAC(自适应以太网介质访问控制子层协议),interface选择RGMII接口(参照友晶DE2-115硬件结构),勾选上使用内部fifo选项,具体如下图所示:

在MACOptions选项卡中,EthernetMACOptions默认选择即可,在MOIDModule中,勾选IneludeMDIOModule(MDC/MDIO)。

如下图所示:

 

在FIFOOptions选项卡中,选择Width为8bits,Depth默认2048即可,如下图所示:

另外两个选项卡TimestampOptions和PCS/TransceriverOptions不需要修改(全灰色,器件

不支持,咱也改不了)。

接下来点击右下角的Finish按钮,会弹出如下图所示的界面,这

里提示是否生成设计示例,将其勾选上,然后点击Generate,则软件开始生成IP核核参考

设计,整个过程大约需要1到2分钟。

Gener-ation

InadditiontogeneratingtiieIPccmponentwiththesettings_.oucr&ated.youcanalsogenerateanexampledesign.Generatinganexarpledesigncan引gnific:

生ntr,incre^s^processingtimes.

生成完成后点击Exit退出,回到QuartusII工程中。

我们发现自动将生成的两个文件TSE.qip

和TSE.sip文件添加进来了,这里我们选中TSE.qip文件,右键单击,选择将其设置为顶层

文件

ProjectNavigator

4Sx

4

*1

卜W]TSE円ipI

i]TS^.sip

.SHiera-ftiy冒Fies

/Design卜

E■m・

1Scias&otrCsi+5iA+v

P^aperties-...

\4Q.LJrtu4n64-£:

J-Emp/TMHt£_S]M-ItE.

ffe-MewfrcriectAssgrvnmis

Tadb

」_3丄丄执[△町“

TSE^SM

Ra»rfHt耳*评畔el

析和综合,当然,如果需要进行全编译,则可使用组合键“Ctrl+L。

(接上篇)

编译完成后,一般不会出现错误,这时候,就可以通过设置NativeLink来将QuartusII工程

文件与Modelsim-Altera软件关联起来了。

设置NaitveLink的详细步骤如下图所示:

点击Assignments—>Settings

在弹出的对话框中(如下图所示)选择EDAToolSettings(红框1处),选择Simulation(红框2处),核对红框3处和4处是否与图上设置的一致,然后勾选红框5处的Compiletest

 

bench,点击红框6处的TestBenches以进入新的testbench设置窗口。

在新的testbench设置窗口中,点击New以创建一个新的Testbench设置脚本,如下图所示:

”<|名>_testbench/testbench_verilog/

目录下,选择_tb.V文件并Open(如下图所示),返回到NewTestBenchSettings选项卡中。

点击Add将_tb.v添加进去,然后再次点击那三个小点(如下图所示)

Edittestberxtisettingsforthe建Hadtestbench.

Lestbenchnarr»e:

ToplevelrntxJuleintestbench;

IJgetestbenchtoperformT'HDLtinningsirnul^hicin

Desgrtinstancenameintestbencbi:

MA

^irmjlationperiod

aRun^imul^tianuntilallzsctorsbrnuliareu^ed

0目idsimulationat:

_C5tbenchandsimulatiorifiles

Add

Filen^me:

Q

_J_ifrirarifHT1LVgfsjQn

Remove

1T5E_testbcnch/t...Cefaiit

[5]

Down

groperties.h.

 

进入文件选择选项卡中,将目录定位到工程目录下的

”<1名>_testbench/testbench_verilog/models文件夹中,选择除以timing开头的文件(时

序仿真时才需要用到)以外的其他所有文件,点击Open。

如下图所示:

这些文件都是为了配合仿真TSEIP核而存在的,属于仿真模型,这些文件组合在一起相当于虚拟了一个物理的网络收发器PHY。

这样,就能够模拟真实的板级环境进行仿真测试了。

在NewTestBenchSettings选项卡中,Testbench—栏中输入_tb,TopLevelmoduleintestbench—栏中输入tb。

至于这里为什么要手动输入tb,而不是由软件自动填充的

名>tb。

为什么是这样,这里小梅哥最开始也郁闷了很久,我最开始也是直接使用<IP名>_tb来填

入topLevelmoduleintestbench中,结果modelsim-altera中仿真总是报错,提示找不到<IP名>_tb.V文件,我就郁闷了,明明是已经加入进来了,为什么进行仿真时总说找不到呢?

直到后来我打开<IP名>_tb.V这个文件一看,才找到了原因,如下图所示:

虽然文件名字是_tb.V,但是文件中testbench的顶层实体名字任然是tb,因此,我

们直接设置_tb.V作为topLevelmoduleintestbench的名字当然不对了,所以我们需要根据实际情况,输入topLevelmoduleintestbench的名字为tb。

设置完毕,连续点击两次OK,回到Settings-<工程名>选项卡中,勾选UseScripttosetup

simulation,并定位到文件_testbench/testbench_verilog//_wave.do。

这个文件是一个脚本文件,主要功能是有条理的添加信号到仿真波形窗口中,以使我们看起来更加直观,如下图所示。

然后apply,OK即可。

此时在QuartusII软件中点击RTLSimulation按钮即可启动仿真,如

下图所示:

整个过程较为漫长,modelsim-altera需要首先对设计文件进行编译,然后才能运行仿真,

大约需要3分钟左右的时间吧。

仿真开始后,会自动在波形窗口中添加好信号并停在仿真时间0处,如下图所示:

-Haw>wD«*a-■NODoU*

■HoOatsf*JD4»■Hag-柚0m«-

因为仿真脚本中没有run这个命令,所以添加完波形后modelsim就进入等待状态,因此我们必须手动输入run-all命令,或者在GUI上点击run-all按钮来运行仿真,如下图所示:

仿真大约运行10秒左右就会停下来,此时就可以观察波形了,在Transcript窗口中也会打

印仿真过程中的一些数据信息。

下图为仿真结果欣赏:

接收模块和接收FIFO模块信号仿真波形:

 

发送模块和发送fifo模块仿真波形:

打印的信息:

450ns-Re-StartRxFIFORead

*-AlteraDesignYeraion:

15.0

f

*-KrineSczacch:

#-ReadSetarch:

#

*-MACConfiguration

+

i■WriteMA匚Address

扌-WriteMaximumFrameLength

t

#一WriteFatiaeQuanta

4

4-SettingFIFOTh.resh^lds

 

Cost

Mel如P-mi*牝妙O:

0

ljar.3niLr-l亡orrestfrar*5-MichFauscHriae?

:

ftec*F*b±**-右:

巴即車含:

r:

吐進占:

Jrm-sftvca^vwdkritLCltCt

T:

s^#=lweaOeret^

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1