当前位置:首页 >> 能源/化工 >>

XC3S200A


File:XC3S200A_Lab7_DoReMe_Buzzer.doc Lab7: DoReMe_Buzzer.npl [实验说明] : 在这一个范中, 你将利用7个Button做为输入与一个Buzzer蜂鸣器做为输出,来完成一 个简单的DoReMe钢琴,并与此项目所需的UCF 档案,用JTAG接口连接烧录到 MB_XC3S200A_FT256开发板中,验证其设计结果是否正确?

[实验目地] : 当你完成整个项目之后,你将学会以下的功能. (1).用ISE9.1i 的软件开启一个 Spartan3A FPGA 的项目. (2).撰写一个简单的VHDL 程序,用语法检查器(Syntax Check)来修正语法 的错误 (3).产生测试模板(Test Pattern) 来辅助你的设计. (4).加入系统所需的Constraints 档案.(UCF file) (5).完成整个设计程.并产生DoReMe_Buzzer.bit 档案 (6).用FPGA Editor 来察看FPGA 内部的结果, (7).用[Impact] 来烧录DoReMe_Buzzer.bit 档案到FPGA. [系统需求]: PC 个人计算机 ISE9.1i 软件 DoReMe_Buzzer.VHD 档案 DoReMe_Buzzer.UCF 档案 Platform Cable USB XC3S200A_FT256开发板 电源供应器(DC5V 输入). [系统设计说明] 基本上,音乐乃是各种频率的音符组成的, 所以我们需要建立各音阶的音谱之频率. 名 主音 第二音 第三音 第四音 第五音 第六音 第七音

Do

Re

Mi

Fa

Sol

La

Si

近似频率 262 (赫兹) 277 294 311 330 349 370 392 415 440 466 494

File:XC3S200A_Lab7_DoReMe_Buzzer.doc [操作步骤]:开启ISE9.1i软件: [程序集] [Xilinx ISE 9.1i] [Project Navigator] . 会出 现ISE9.1i 的画面,画面开启之初, 会出现[Tip of the Day], 可以将之关掉后,出现以下的 画面.

(2).在 ISE9.1 软件环境下,开启一个新的工程: [File] [Project Name] : Lab7_DoReMe_Buzzer

[New Project]

[Project Location]: c: \ Lab7_DoReMe_Buzzer (依使用者设定的目录). [Top-Level Module Type] : HDL( 代表最上层的设计模块是以HDL输出方式的模 组. (3).下一个画面就是设定硬件FPGA的参数 [FPGA系(Device Family)]:Spartan3A(请看板子的FPGA FPGA的编号) [FPGA名称(Device)] : XC3S200A(请参考开发板的FPGA FPGA的编号) [FPGA包装(Package)]:FT256(请参考开发板的FPGA FPGA的编号) [FPGA速等级(Speed)]: -4 ( FPGA 速等级) [综合工具(Synthesis Tool)]:XST VHDL(VHDL综合的种类) [仿真器(Simulator)] : ISE Simulator(ISE9.1 内建的仿真器) [产生仿真器的语言(Generated Simulation Language)] : VHDL (4).下一个画面Create a New Source 先跳过,按[下一步]. 下一个画面Add a Existing Source 亦 跳过,按[下一步]. 此时出现此项目所有设定的信息,需重新设定,则可[上一步]. 无误,则按

File:XC3S200A_Lab7_DoReMe_Buzzer.doc [完成]; (5).此时出现一个项目的架构,可以允许使用者开始进项目的设计. (6).加入新的设计档案: [Project] DoReMe_Buzzer [New Source];选择VDHL Module,并设定文件名称为

(7).用Wizard( 向导),设定此设计的输出输入信号. Clockn : input (频率振荡晶体的输入信号). button :intput (7个按键) buzzer_out :Output(蜂鸣器输出脚) DoReMe_LED:Output(音阶显示)

File:XC3S200A_Lab7_DoReMe_Buzzer.doc (8) 以鼠标双击DoReMe_Buzzer.vhd 之后,在右边的工作区可以看到的档案内容,此时可 以修改或改变设计内容,在修改完成之后,用[File] [Save]来储存档案. 使用内部缓存器设定如下: ========================================================= signal div:std_logic_vector(31 downto 0); signal tow:std_logic_vector(3 downto 0); signal button_1:std_logic_vector(7 downto 0); signal div_freq:std_logic_vector(19 downto 0); signal clkdiv,aw1,sw:std_logic; 音频产生器 ======================================================== process(Clock) begin if sw='0' then aw1<='0';div<=(others=>'0'); elsif rising_edge(Clock) then div<=div+1; if div=div_freq then div<=(others=>'0'); aw1<='1'; else aw1<='0'; end if; end if; end process; process(aw1) begin if rising_edge(aw1)then clkdiv<= not clkdiv; end if; end process;
按键输入对应到音频频率 ========================================================================== process(Clock) begin if rising_edge(Clock) then button_1<=not button;

File:XC3S200A_Lab7_DoReMe_Buzzer.doc
case button_1 is when "00000001"=>tow<="0000"; sw<='1'; when "00000010"=>tow<="0001"; sw<='1'; when "00000100"=>tow<="0010"; sw<='1'; when "00001000"=>tow<="0011"; sw<='1'; when "00010000"=>tow<="0100"; sw<='1'; when "00100000"=>tow<="0101"; sw<='1'; when "01000000"=>tow<="0110"; sw<='1'; when "10000000"=>tow<="0111"; sw<='1'; when others=>tow<="1111"; sw<='0'; end case; case tow is when "0000" => div_freq <= x"12A30"; when "0001" => div_freq <= x"10A6F"; when "0010" => div_freq <= x"0ECBE"; when "0011" => div_freq <= x"0DFDA"; when "0100" => div_freq <= x"0C74C"; when "0101" => div_freq <= x"0B18E"; when "0110" => div_freq <= x"09E26"; when "0111" => div_freq <= x"09517"; when others => div_freq <=x"00000"; end case; end if; end process; DoReMe_LED<=button_1; buzzer_out<=clkdiv; --Do --Re --Mi -- Fa --Sol --La --Si --Do

(9). 第一次进编译的工作,以确认设计的正确性与否? 在[Project ]的窗口中,直接以鼠标双击Generate Programming File 的选项. 此时ISE9.1 会自动执并产生可以Download 的.bit 档案,此步骤是最直接验证设计工 作的正确性与否? 在每一个程序都出现打勾,代表O.K. 有一个程序都出现打叉[X]的符号,代表有错误,可以依显示结果来侦错.

File:XC3S200A_Lab7_DoReMe_Buzzer.doc

(10). 再来需设定I/O 脚的位置,可以用DoReMe_Buzzer.UCF 来设定I/O 脚的位置,以得 到正确的输出档案. [Project] [New Source]. 设定输入的档案格式为[Implementation Constraints File] 文件名称为DoReMe_Buzzer (自动储存为DoReMe_Buzzer.UCF) (11).点选[Source in Project]窗口内的DoReMe_Buzzer.ucf,用Assign Package Pins 中的 [LOC] 之接输入输出脚的脚位,也可以利用鼠标点选信号后,以鼠标拖曳到右边的 脚位上即可,输入后储存档案.(相关脚位定义请参考使用手册得知). NET "button<0>" LOC = K12; NET "button<1>" LOC = K11; NET "button<2>" LOC = J11; NET "button<3>" LOC = J10; NET "button<4>" LOC = G12; NET "button<5>" LOC = H11; NET "button<6>" LOC = H10; NET "button<7>" LOC = G11; NET "buzzer_out" LOC = T2; NET "Clock" LOC = P9; NET "DoReMe_LED<0>" LOC = J14; NET "DoReMe_LED<1>" LOC = H14; NET "DoReMe_LED<2>" LOC = K16; NET "DoReMe_LED<3>" LOC = J16; NET "DoReMe_LED<4>" LOC = K15; NET "DoReMe_LED<5>" LOC = K14; NET "DoReMe_LED<6>" LOC = J12;

File:XC3S200A_Lab7_DoReMe_Buzzer.doc NET "DoReMe_LED<7>" LOC = J13; (12). 重新执行 Generate Programming File, 确认设计无误 (13) 想要知道 FPGA 最后实现在芯片内的状况,则可以[Project View] 窗口内的 [Implement Design] [Place and Route] [View/Edit Routed Design(FPGA Editor)] 来 查看其最后实现在 FPGA 内部的状况. (14) 在[Process for Source]窗口中,点选[View Design Summary], 可以浏览项目设计的报 告, 包含 FPGA 使用,Report ….. (15).在完成设计验证之后,就可以将 DoReMe_Buzzer.bit 写入到 FPGA 内部,此时点选 [Project View] 窗口内的[Generate Programming File] [Configure Device (iMPACT) ], 出现 Impact 的窗口.选取[Finish],进入自动联机,请事先连接 JTAG 接口与供应板子电压. (16) 此时JTAG Cable 会扫描JTAG Chain 的径中的FPGA FPGA,扫描成功则出现 所扫描的FPGA,并跳出选择档案的窗口. 选择档案之后,出现警告的窗口,按[确定],进入下一步.

(17)此时出现的窗口,则表示出 XC3S200A 的待烧录档案为 DoReMe_Buzzer.bit.以鼠标 点选 FPGA 会变为绿色,同时出现[Program Options] 窗口,按[OK] 开始烧录.

(18)FPGA 烧录成功,则出现 Programming Succeeded programming 成功

File:XC3S200A_Lab7_DoReMe_Buzzer.doc (19)我们可以在 MB_XC3S200A_FT256 开发板上按下 Button,可从 Buzzer 听到不同音阶 的声音,证明设计无误.


相关文章:
芯片型号
XC3S200A-4FTG256C XC3S400A-4FTG256C XC3S100E-4TQG144C MAX1644EAE MAX3232ECAE-T MAX3232CSE-T MAX232ECDWR MAX232ESE+T MAX1962EUB+T SP3232ECY...
BG系列
FPGA: XC3S200A 扩展功能:J1/abc12~18 8位数据总线、 8位地址总线、 2个片选信号、 2个中断信号、 读写控制信号。 9个按键 4路3.3V输入 4路3.3V输出 9...
数字秒表设计
Spartan-3A 系列 FPGA 主要技术特征如下表示: 型号 XC3S50A XC3S200A XC3S400A XC3S700A 系统 SLICE 门数 50k 200k 400k 700k 块 RAM 专用乘 DCM ...
中央控制系统
? ? ? 采用三星 S3C2440 处理器,运行速度更快,系统更稳定采用 FPGA 可编程逻辑阵列电路 XC3S200A ,性能更稳定;采用高速数字交换技术,完美解决串扰、重影与拖尾...
基于FPGA的数字跑表设计
基于FPGA 的数字跑表设计 学号: 姓名: 摘要: 本设计以 Xilinx 公司的 XC3S200A 芯片为核心,通过 VHDL 语言进行编程实 现。在 48MHz 时钟源输入下,通过分频...
终端芯片学习资料
Spartan-3A 型号包括 XC3S50A(50K) 、XC3S200A(200K) 、XC3S400A(400K) 、XC3S700A (700K) XC3S1400A 、(1.4M) 5 个系列, 等 其封装包括 VQ...
ISE开发流程 (2)_图文
图 54 下载页面 现在,在 ISE 的工作区选中器件 xc3s200a,如图 55 所示,点击鼠标右键,会弹出一个 菜单,在该菜单上选择 programe,并单击之。随后开始下载。 ...
FPGA选型文档
XC3S50A XC3S200A XC3S400A XC3S700A XC3S1400A 选择 XC3S1400A 器件; XC3S1400A 的特点:系统门 专用乘法器 Block RAM 比特 DCM 数 最多单端 I...
基于FPGA数字跑表的设计_图文
1.2.3 实验板使用芯片 XC3S200A 介绍本实验设计中采用的是 Xilinx 公司的 ETL-001 FPGA 开发板进行开发设计,该开发板 所提供的主芯片 XC3S200A 是 Xilinx...
频率计
(1)系统原理框图 本系统采用 XILINX 公司当前低端主流芯片 XC3S200A 作为控制芯片, 采用直接测量法对 输入方波信号进行频率测量,主要模块有分频器、闸门选择器、...
更多相关标签:
xc3s200a 原理图 | xilinx | xc3s200a手册 | xc3s200a 软核 | ise 新建工程 | xc3s200a-4ftg256c | xc3s200a 新建工程 | xc3s200a配置电路 |