1、Digilent(德致伦)nexys2 开发板学习记录基于芯片 xilinx Spartan 3E FPGA xc3s500eWebpack JTAG Xilinx Spartan #AN FPGA 芯片型号代表的意义以 XC3S200AN-4FTG256C 为例:XC3S: Xilinx 公司 Spartan 3 系列 FPGA 芯片的代号200:该芯片由 200k 个逻辑门组成AN: 该芯片具有非易失功能,内部具有 flash memory-4:速度等级(-4 为标准效能, -7 为高效能)FTG: 封装形式 package type 为 fine-pitch thin ball grid
2、 array256: 具有 256 个引脚C: 工作范围为商业用途,工作温度为 0-85 I 代表商业用途,工作温度为-40-100关于执行 implementdesign 的动作Translate:使设计电路的 netlist 能够与所连接的 FPGA 芯片一致,并且检查 ucf 文件是否有不一致的情况Map:将所设计的电路换到 FPGA 芯片的 CLB 上Place:选择适当位置的 CLBRoute:将 FPGA 芯片内部的 CLB 以及 IO 互相连接Configuration 功能: generate programming file 命令 可将完成配置与布线的电路转换为能下载到 FP
3、GA 芯片的位流程序文件(*.bit 文件)对于一些功能模块的编写,尤其是数字电路中的经典模块,可以尝试用真值表写出其表达式来完成对于其的设计。 Xilinx ise 开发流程1 设计构想2 设计输入(design entry)(1) schematic capture :以绘图的方式设计电路(2) 使用 VHDL、verilog 、 ABEL 等硬件描述语言方式设计电路(3) State machine 编辑器:使用 state CAD 以绘图的形式表现 state machine 状态来设计电路3 合成(synthesis ) 将不同方式的编辑输入电路的程序合成出其所对应的 RTL 电路,
4、并将其最优化,以产生EDIF 文件(electronic data interchange file) ,netlist 文件。若 design entry 采用 schematic 的方式,则会传换成 VHDL 之后在执行合成的动作。4 功能模拟 behavioral simulation用 VHDL test bench 或 verilog test fixture 测试信号 5 执行 (implementation )将经由合成器合成出来的 RTL 电路转换成制定 FPGA 芯片内部电路组件,也就是进行 FPGA芯片的转换 translate 对应 map 布局 place 布线 rou
5、ter。6 时序模拟(timing simulation)将时间电路的延时时间加以模拟,也同样是使用 Isim/Moldelsim。7 规划(configure)(1 ) 执行 generation programming file 动作:用所设计好的电路产生可以下载到 FPGA 的位流文件(.bit)(2 ) 执行 configure target device (iMPACT)命令:将.bit 经过 JTAG Cable 下载至开发板上注意: 如何解决 Isim 仿真报错 ERROR: Signal Unknown signal received解决方法:1. Start 运行: serv
6、ices.msc2. Enable “WebClient“ only.3. Return ISE simulation, and rerunSimulation Behavioral Model4. This error should be minimized.在 modelsim 中添加 xilinx 库unimacro = F:/ise_modelsim_lab/unimacrounimacro_ver = F:/ise_modelsim_lab/unimacro_verunisim = F:/ise_modelsim_lab/unisimunisims_ver = F:/ise_mode
7、lsim_lab/unisims_versecureip = F:/ise_modelsim_lab/secureipXilinxCoreLib = F:/ise_modelsim_lab/XilinxCoreLibXilinxCoreLib_ver = F:/ise_modelsim_lab/XilinxCoreLib_versimprim = F:/ise_modelsim_lab/simprimsimprim_ver = F:/ise_modelsim_lab/simprim_verVHDL 中所使用的运算符表 1 设定运算符信号的设定 小于 =小于等于 对应& 串接 Z = A&B表
8、6 其他运算符REM 整数相除取余数MOD 整数相除取商- 取 2 的补码ABS 取绝对值VHDL 的保留字VHDL 的保留字也是关键词,依器字母顺序排序如下。在使用 VHDL 的描述时,不能使用保留字为 VHDL 命名,尤其不能将保留字作为文件的名称,否则在执行模拟(simulate)以及合成(synthesis)时会出现错误。(1) AABS,ACCESS,AFTER,ALIAS,ALL ,AND,ARCHITECTURE,ARRAY,ASSERT,ATTRIBURE,ARRAY(2) BBEGIN,BLOCK,BODY,BUFFER,BUS(3) CCASE,COMPONENT,CONF
9、IGURATION,CONSTANT(4) DDISCONNECT,DOWNTO(5) EELSE,ELSIF,END,ENTITY,EXIT(6) FFILE,FOR,FUNCTION(7) GGENERATE,GENERIC,GROUP,GUARDED(8) IIF,IMPURE,IN,INERTIAL,INOUT,IS(9) LLABEL,LINKAGE,LITERAL,LOOP(10)MMAP,MOD(11)NNAND,NEW,NEXT,NOR,NOT,NULL(12)OOF,ON,OPEN,OR,OTHERS,OUT(13)PPACKAGE,PORT,POSTPONED,PROCEDURE,PROCESS,PURE(14)RRANGE,RECORD,REGISTER,REJECT,REPORT,RETURN,ROL,ROR(15)SSELECT,SEVERITY,SIGNAL,SHARED,SLA,SLL,SRA,SRL,SUBTYPE(16)TTHEN,TO,TRANSPORT,TYPE(17)UUNAFFECTED,UNITS,UNTIL,USE,UARIABLE(18)WWAIT,WHEN,WHILE,WITH(19)XXNOR,XOR