信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx

上传人:b****6 文档编号:17253856 上传时间:2022-11-29 格式:DOCX 页数:23 大小:885.35KB
下载 相关 举报
信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx_第1页
第1页 / 共23页
信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx_第2页
第2页 / 共23页
信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx_第3页
第3页 / 共23页
信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx_第4页
第4页 / 共23页
信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx

《信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx(23页珍藏版)》请在冰豆网上搜索。

信号与信息处理综合实验FPGA部分指导书lab1Word文档下载推荐.docx

其中,Flash芯片使用了32Mb的SPIFlashM25P32,容量大,也适合于嵌入式系统开发。

系统时钟由外部晶振给入,频率为50MHz。

2S6CARD开发板驱动电路

1、LED驱动电路

LED是最基本的电路组件,给高电平就发光,且发光的程序和驱动电流有关。

板卡的LED电路如图3所示。

图3S6CARDLED电路

2、按键和拨码开关电路

LED、按键以及拨码开关本质上属于同一类设备,LED为输出设备,而按键和拨码开关属于输入设备。

按键为瞬时输入设备,仅在按下时维持一个固定输入,松开则返回到固定的逻辑相反状态。

S6CARD的按键电路如图4所示,按键按下时,FPGA相应管脚为低电平。

图4S6CARD按键电路

拨码开关为长时固定状态输入,拨到那个状态就一直维持该状态的输入。

S6CARD的拨码开关电路如图5所示,拨码到“ON”时,FPGA相应管脚为0,否则为1。

图5S6CARD拨码开关电路

3、UART驱动电路

S6板卡配置了UART232的“公头”接口,相应的电路如图6所示。

图6S6CARDUART232电路

4、扩展管脚电路

最后,S6CARD板卡预留了20个扩展接口,其中2个电源、2个地,16个通用数据线,具体如图7所示。

图7S6CARD扩展I/O电路

3S6CARD板卡管脚约束说明

为了便于自行练习,下面给出S6CARD板卡上所涉及管脚的UCF约束。

##

NET"

sys_clk_50MHz"

LOC="

P56"

|IOSTANDARD=LVCMOS33;

button_1"

P92"

|IOSTANDARD=LVTTL|PULLDOWN;

button_2"

P93"

LED<

7>

"

P88"

|IOSTANDARD=LVTTL|SLEW=SLOW|DRIVE=8;

6>

P87"

5>

P85"

4>

P84"

3>

P83"

2>

P82"

1>

P81"

0>

P80"

rxd"

P126"

|IOSTANDARD=LVTTL;

txd"

P127"

|IOSTANDARD=LVTTL|DRIVE=8|SLEW=SLOW;

Switch<

P120"

Switch<

P119"

P118"

P117"

P116"

P115"

P114"

P112"

(二)熟悉ISE集成开发环境

ISE软件是Xilinx公司推出的FPGA/CPLD集成开发环境,不仅包括逻辑设计所需的一切,还具有大量简便易用的内置式工具和向导,使得I/O分配、功耗分析、HDL仿真等步骤变得容易而直观。

ISE的主要功能包括设计输入、综合、仿真、实现、下载和在线调试,涵盖了FPGA开发的全过程,从功能上讲,其工作流程无需借助任何第三方EDA软件。

ISE提供的设计输入工具包括:

用于HDL代码输入和查看报告的ISE文本编辑器(ISETextEditor)用于原理图编辑的工具ECS(TheEngineeringCaptureSystem)和用于生成IPCore的CoreGenerator。

ISE的综合工具不但包含了Xilinx自身提供的综合工具XST,同时还可以内嵌MentorGraphics公司的LeonardoSpectrum和Synopsys(Synplicity)公司的Synplify,实现无缝链接。

ISE支持的仿真工具包括Xilinx自主开发的ISESimulator,并提供了使用MentorGraphics(ModelTech)公司的Modelsim进行仿真的接口。

ISE的设计实现功能包括了翻译、映射、布局布线等核心功能,还具备时序分析、增量设计、功耗估计、管脚分配与面积约束等高级功能。

下载功能包括了BitGen,用于将布局布线后的设计文件转换为位流文件,还可以根据需要产生JTAG或PROM下载方式所需要的其他文件,并通过调用iMPAC与实验板上的FPGA芯片或PROM进行通信,控制将程序烧写到FPGA芯片或PROM中去。

ISE将工程分为Implementation和Simulation两个视图,在Implementation视图下完成添加约束、逻辑综合和布局布线等工作;

在Simulation视图下可以通过选择框选择仿真类型,调用ISim或Modelsim完成功能仿真和时序仿真。

ISE集成开发环境

(三)3比特加法器仿真与上板实验

打开ISE软件,按以下步骤新建一个工程。

点击newproject;

设定工作目录和工程名;

设定FPGA型号为Spartan-6XC6LX9,封装类型为TQG144,速率等级为2;

综合工具选择XST,仿真工具选择Modelsim-SEVerilog,PreferredLanguage选择Verilog。

点击finish创建工程完成。

右键点击空白区域,选择NewSource选项,打开如下窗口:

在左侧选择VerilogModule,在右侧输入文件名,如:

adder_3.,点击Next,得到下图。

如图中所示选择两个三比特输入、一个3比特输出和一个一比特输出,点击Next,然后点击Finish。

工具自动产生模块头和endmodule。

在其中输入一行代码:

assign{cout,sum}=a+b;

按ctrl+s保存程序。

再次选择NewSource,在左侧窗口中选择VerilogTestFixture.

输入测试module名字,并点击Next得到下图所示界面,此处自动将测试文件与adder_3module绑定。

点击Next,点击Finish。

在屏幕左上方找到:

选择Simulation。

双击test_adder,右侧窗口中显示测试文件内容,仔细阅读测试文件框架,找出添加测试激励的位置,设定a、b的值,延迟一定时间后,为改变a、b的值,按这种方法设定4组以上a、b的输入。

在右下方找到SimulateBehavioralModel,双击该行,并记录仿真结果,注意使用Modelsim波形窗口中的

按钮。

练习使用下图中的这些按钮,进行仿真控制。

在ISE集成开发环境左上方找到此组合框,并选择Post-Route。

观察下面窗口中uut的变化。

双击

启动后仿真,观察屏幕下方Console中出现的信息,分析工具的工作过程,观察modelsim启动后的仿真结果,比较它与BehavioralSimulation仿真结果的不同点,并分析其出现原因。

切换回Implementation选项。

图中的绿色图标表示在执行后仿真时已经完成综合与实现过程。

用USB连接线将电路板连接到PC的USB口,并按提示自动安装驱动程序。

再次选择NewSource,选择新建一个ImplementationConstraintsFile选项,输入一个文件名,点击下一步,点击Next。

双击

打开一个空白的UCF文件,将以下内容复制到文件中。

cout"

IOSTANDARD=LVTTL;

SLEW=SLOW;

DRIVE=8;

LOC=P88;

sum[2]"

LOC=P87;

sum[1]"

LOC=P85;

sum[0]"

LOC=P84;

a[2]"

a[1]"

a[0]"

b[2]"

b[1]"

b[0]"

注意此处a,b,sum和cout应与自己所设的输入输出信号名一致。

保存约束文件后在Hierarchy中的.v文件,此时下面的processes窗口中的implementDesign前面显示的图标为“?

”,说明这一过程需重新执行。

双击implementDesign实现设计。

双击GenerateProgrammingFile,完成后在相应文件夹下找到.bit文件。

在此处双击ManageConfigurationProject打开以下窗口

双击左侧的BoundaryScan,然后点击工具栏中的

按钮,得到以下界面

选择Yes,并选择刚刚生成的bit文件作为该FPGA的下载文件,在下面提示窗口出现时选择No,然后点击OK。

右键点击

,并选择program,如提示

则说明下载成功。

在本实验中,我们以板子上拨码开关的6、7、8和1、2、3分别作为加法器的输入,靠近USB接口D1-D4LED灯分别表示cout和sum,拨动拨码开关,观察LED的变化。

(四)m序列产生器仿真与在板Chipscope调试

按上述过程产生如下m序列产生的设计文件

modulem_seq_gen(

inputclk,

inputreset,

outputseq

);

reg[3:

0]state;

always@(posedgeclkornegedgereset)

begin

if(!

reset)

state<

=4'

b1111;

else

begin

state[3:

1]<

=state[2:

0];

state[0]<

=^(state&

4'

b1001);

end

end

assignseq=state[0];

endmodule

并产生与之相对应的测试文件

moduletest_m;

//Inputs

regclk;

regreset;

//Outputs

wireseq;

//InstantiatetheUnitUnderTest(UUT)

m_seq_genuut(

.clk(clk),

.reset(reset),

.seq(seq)

initialbegin

//InitializeInputs

clk=0;

reset=0;

//Wait100nsforglobalresettofinish

#100;

#50reset=1;

//Addstimulushere

always#10clk=~clk;

endmodule

对其进行功能仿真,记录仿真波形并分析该电路的执行过程。

添加约束文件,内容如下:

clk"

|IOSTANDARD=LVCMOS33;

reset"

seq"

TNM_NET=clk;

TIMESPECTS_clk=PERIOD"

20nsHIGH50%;

再次选择NewSource,选择chipscopeDefinitionandconnectionfile

建立名为mseq的cdc文件。

双击mseq.cdc,打开如下图所示界面,

开始配置ILA的Triggerparameters,修改其位宽为1.

Captureparameters选项中,去掉datasameastrigger选项,修改位宽为5。

继续点Next按钮得到下图。

点击Modifyconnections按钮,开始设置时钟信号、触发信号和数据信号。

至此,Chipscope的CoreInserter配置完成,产生了一个ILA用于在线监测state和reset等内部信号。

选中主顶层模块,在processes列表的最下边找到AnalyzeDesignUsingChipscope项并双击,工具链自动调用实现过程并产生比特文件,然后打开如下图所示的窗口。

点击左上角的

按钮,建立JTAG链,在弹出的窗口上单击OK,得到如图所示的界面

右键点击DEV:

0MyDevice0(XC6LX9),选择Configure,选择比特文件,点击OK。

在左侧的窗口下找到waveform选项并双击,观察被测信号波形,并与仿真结果进行比较。

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

当前位置:首页 > 高中教育 > 初中教育

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

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