网站重新上线,多谢朋友们的关心
Dec 14
目标:GPIO - Button 产生Interrupt。Interrupt处理函数中点亮LED

HW:Spartan 3E BSB + Button + LED + UART
手工添加OPB_INTC 1.00.c
连接Button - Interrupt Port到OPB_INTC - Intr Port
连接OPB_INTC - IRQ Port到 MicroBlaze - Interrupt Port

SW:
引用
Main:
1. Initialize LED, set LED direction
2. Initialize Button, set Button direction
3. Start interrupt controller
4. Enable button interrupt
5. Enable MicroBlaze interrupt
6. Register button ISR handler

button_int_handler:
1. Read GPIO_ISR
2. If GPIO_ISR = 1, read button status and set LED status
3. Clear interrupt


注:
如果在MSS文件中给peripheral driver添加int_handler parameter,就可以不需要在主程序内register ISR handler了。这个过程中要注意int_port的name是peripheral的pin name,不是signal name。
引用
BEGIN DRIVER
PARAMETER DRIVER_NAME = gpio
PARAMETER DRIVER_VER = 2.01.a
PARAMETER HW_INSTANCE = Buttons_4Bit
PARAMETER int_handler = button_int_handler, int_port = IP2INTC_IRPT
END


参考资料:
est_rm.pdf - Appendix B: Interrupt Management
Xapp778
GPIO Datasheet
psf_rm.pdf - Char 6 MSS - INT_HANDLER

附件包含MHS, MSS, BSB,  int1.c, xparameters.h
Tags: ,
Nov 27

User IP 流程 不指定

RickySu , 16:39 , 技术经验 , 评论(0) , 引用(0) , 阅读(776) , Via 本站原创
在EDK添加User IP主要通过IPIF Wizard。它可以帮助生成User IP模板和PLB/OPB Bus接口,使得User IP开发变得很容易。

创建UserIP流程主要分为以下几步:

1. 用IPIF Wizard创建Template
   -- 只要用鼠标点几下就可以了,很方便
   -- 让Wizard创建ISE Project能比较方便地修改UserIP功能

2. 修改代码,添加用户功能
   -- 修改user_logic.vhd和ip_name.vhd,添加用户功能,添加外部port
   -- 如有有外部接口,添加到MPD文件中。
   -- 如果调用其他文件,修改PAO文件。(或者在后续的导入过程使用XST的prj文件)

3. 将完成的UserIP导入
   -- 不是所有情况都需要导入,只有在修改了port, parameter属性等Import可以修改的属性时才需要重新import。

4. 连接UserIP
   -- 连接Bus, Port,分配Address
   -- 为External Port添加UCF LOC

5. 写相应的软件和驱动
Tags: ,
Nov 22
初试BFM。
用CIP新建IP到Project,自动生成BFM工程。
打开bfmsim下的工程,Simgen,报错:
引用
Generating simulator compile script ...
ERROR:MDT - File not found in any repository
  'test_ip2_v1_00_a/hdl/vhdl/user_logic.vhd'
ERROR:MDT - File not found in any repository
  'test_ip2_v1_00_a/hdl/vhdl/test_ip2.vhd'


把主project的vhd copy到这个project也不能解决问题。


Solution1: 用CIP时,不要将IP建到project下,而是用上面一个选项:To an EDK user repository。
将IP建到repository中,Simgen就能找到IP了,接下去仿真也没有问题。

Solution2: 在EDK --> Edit --> Preference --> Golbal Peripheral Repository中设置一个Golbal Repository,把新建的IP目录拷贝到Golbal Repository目录中去。

Repository的目录结构为:
引用
EDK_REPOSITORY directory
└─MyProcessorIPLib
   ├─pcores
   │  └─test_ip_v1_00_a
   └─drivers
Tags: , ,
Oct 20

ESL 不指定

RickySu , 23:18 , 新闻评论 , 评论(2) , 引用(0) , 阅读(771) , Via 本站原创
在Xilinx Journal上,一直都有ESL工具的介绍,特别是去年貌似有一期讲的都是ESL,我没看懂多少,于是扔在了一边。最近看了Kevin Xie的blog,发现自己的确是他说的那类忽视ESL,“对新出现的系统级设计ESL工具不屑一顾”的人。特别是看了Xilinx CTO - Ivo Bolsens在清华的演讲录相后,发现ESL貌似的确是将来的趋势之一。于是决定学习一下ESL。

1. 什么叫ESL?
在Xilinx ESL主页[中文][English]上,ESL是Electronic System Level的缩写,与RTL(Register Transfer Level)对应。

2. ESL能为我们做什么?
在比RTL更高一级的层次上,ESL可以用高级语言(比如ANSI C)——而不是硬件描述语言(比如Verilog和VHDL)——来建模。ESL工具可以直接在这个层次上将代码综合并实现到FPGA。这样设计人员只需要将精力集中在算法一层,而不需要关心底层的硬件实现了。在工具可靠的情况下,设计实现的效率将提高许多倍。


<未完待续>
Tags:
Sep 24
ISE iMPACT和ChipScope Pro都支持远程调试,Client可以通过网络连接到一台装了Cable的Server电脑进行配置。

远程调试可以达到多人共用一块Demo板的目的。

ISE iMPACT的Server程序是%XILINX%/bin/nt/cableserver.exe
启动server后在Client端通过iMPACT的Cable Setup设置IP地址。

ChipScope Pro的server程序是%ChipScope%/bin/nt/cs_server.bat
启动server后在Client端通过ChipScope Analyzer的JTAG Chain --> Server host setting设置IP地址。
分页: 3/11 第一页 上页 1 2 3 4 5 6 7 下页 最后页 [ 显示模式: 摘要 | 列表 ]