当前位置: 首页 > news >正文

江苏建设网站酒店装修合同范本小程序电商系统开发

江苏建设网站酒店装修合同范本,小程序电商系统开发,网站建设用到的算法,百度模拟搜索点击软件目录 1. 简介 2. JTAG to AXI Master 2.1 添加 IP Core 2.2 基本TCL命令 2.2.1 复位 JTAG-to-AXI Master 2.2.2 创建并运行写入传输事务 2.2.3 创建并运行读取传输事务 2.2.4 命令列表 2.3 帮助信息 2.4 创建TCL读写程序 2.4.1 Read proc 2.4.2 Write proc 2.4.3 …

目录

1. 简介

2. JTAG to AXI Master

2.1 添加 IP Core

2.2 基本TCL命令

2.2.1 复位 JTAG-to-AXI Master

2.2.2 创建并运行写入传输事务

2.2.3 创建并运行读取传输事务

2.2.4 命令列表

2.3 帮助信息

2.4 创建TCL读写程序

2.4.1 Read proc

2.4.2 Write proc

2.4.3 创建复杂过程

3. 示例 

3.1 AXI-GPIO IP Core

3.1.1 寄存器描述

3.1.2 操作示例

3.2 AXI IIC IP Core

3.2.1 AXI IIC 寄存器描述

3.2.2 操作示例

3.3 驱动 HLS IP

3.3.1 HLS 代码

3.3.2 寄存器描述

3.3.3 操作示例

4. 总结


1. 简介

本文分享 JTAG to AXI Master IP Core 的使用教程。

此 IP 用于 AXI 接口向设计输入数据,或者读取数据。通过 Tcl 控制台编写命令来驱动此 IP,通过 JTAG 即可进行操作,而这个 IP 则在 AXI 端口上驱动 AXI 事务。由于这个核心没有自己的地址空间,它对所有从 JTAG 生成的 AXI 事务都是透明的。

与 Vivado 逻辑分析器一起,此 IP 可以用作 AXI 系统调试和测试工具。

IP Feature:

  • 最大工作频率为 200MHz
  • 协议支持:
    • AXI4
    • AXI4-Lite
  • 地址宽度: 32 位或者 64 位
  • ID 宽度支持最多四位,允许用户定义 ID 信号
  • AXI4-Lite 数据宽度为 32 位
  • AXI4 数据宽度为 32 位或者 64 位
  • 支持所有内存映射AXI接口事务,包括:
    • 突发类型 - INCR(增量)、FIXED(固定)和WRAP(环绕)
    • 突发长度:
      • 对于INCR和FIXED为1到256
      • 对于WRAP为2、4、8和16
  • 支持缓存信号
  • 硬件调试运行时 Tcl 控制台控制同时读/写操作

2. JTAG to AXI Master

2.1 添加 IP Core

1). 添加 JTAG to AXI Master v1.2 IP Core:

 

2). 下载 bitstream 后,可以看到该调试核: 

2.2 基本TCL命令

2.2.1 复位 JTAG-to-AXI Master

在创建并发出传输事务之前执行:

reset_hw_axi [get_hw_axis hw_axi_1]

2.2.2 创建并运行写入传输事务

create_hw_axi_txn                       \write_txn [get_hw_axis hw_axi_1]      \-type WRITE                         \-address 4000_0000                  \-len 4                              \-data {11111111_22222222_33333333_44444444} \-forcerun_hw_axi [get_hw_axi_txns write_txn]
  • write_txn,用户定义的传输事务名称
  • [get_hw_axis hw_axi_1] ,返回 hw_axi_1 对象
  • -address 40000000 是起始地址
  • -len 1,会将 AXI 突发长度设置为 1 个字
  • -data {11111111_22222222_33333333_44444444},“-data”方向为左侧 LSB(即,地址 0)和右侧 MSB(即,地址 3)

2.2.3 创建并运行读取传输事务

create_hw_axi_txn                       \read_txn [get_hw_axis hw_axi_1]       \-type READ                          \-address 4000_0000                  \-len 2                              \-forcerun_hw_axi [get_hw_axi_txns read_txn]---
INFO: [Labtoolstcl 44-481] READ DATA is: 0000000000000003
  • read_txn,用户定义的传输事务名称
  • [get_hw_axis hw_axi_1] ,返回 hw_axi_1 对象
  • -address 4000_0000 是起始地址
  • -len 2,会将 AXI 突发长度设置为 2 个字
  • INFO 为读取到的数据。

2.2.4 命令列表

| Tcl 命令             | 描述
|----------------------|------------------------------------------------------------------
| create_hw_axi_txn    | 创建硬件 AXI 传输事务对象。
| delete_hw_axi_txn    | 删除硬件 AXI 传输事务对象。
| get_hw_axi_txns      | 获取硬件 AXI 传输事务对象列表。
| get_hw_axis          | 获取硬件 AXI 对象列表。
| refresh_hw_axi       | 刷新硬件 AXI 对象状态。
| report_hw_axi_txn    | 报告已格式化的硬件 AXI 传输事务数据。
| reset_hw_axi         | 复位硬件 AXI 核状态。
| run_hw_axi           | 在对应 hw_axi 对象中运行硬件 AXI 读写传输事务并更新传输事务状态。

2.3 帮助信息

查看帮助信息

create_hw_axi_txn -help
---
Description: 
Create hardware AXI transaction objectSyntax: 
create_hw_axi_txn  [-address <arg>] [-data <arg>] [-size <arg>] -type <arg>[-len <arg>] [-burst <arg>] [-cache <arg>] [-id <arg>][-force] [-quiet] [-verbose] <name> <hw_axi>Returns: 
New hardware AXI transaction object.Usage: Name        Description-----------------------

2.4 创建TCL读写程序

2.4.1 Read proc

proc read {address} {# 移除地址中的 "0x" 前缀(如果存在)和任何下划线set address [string map {"0x" "" "_" ""} $address]# 创建读事务create_hw_axi_txn -quiet -force rd_tx [get_hw_axis hw_axi_1] -address $address -len 1 -type readrun_hw_axi -quiet rd_txreturn 0x[get_property DATA [get_hw_axi_txn rd_tx]]
}

使用说明:

read 0x4000_0000
---
0x00000001

2.4.2 Write proc

proc write {address value} {# 移除地址中的 "0x" 前缀(如果存在)和任何下划线set address [string map {"0x" "" "_" ""} $address]# 创建写事务create_hw_axi_txn -quiet -force wr_tx [get_hw_axis hw_axi_1] -address $address -data $value -len 1 -type writerun_hw_axi -quiet wr_tx
}

使用说明:

write 0x4000_0000 0x0000_0003

错误提示:

ERROR: [Labtoolstcl 44-224] Invalid option value 'wr_tx' specified for 'hw_axi_txns'.

原因:write 0x4000_0000 0x0000_00003,第二个参数多了一位。

2.4.3 创建复杂过程

创建复杂过程,调用 2.4.2 Write proc 中定义的写过程,实现 LED 闪烁。

proc test_gpio {gpio} {while {1} {write $gpio 0x0000_0003after 1000write $gpio 0x0000_0000after 1000}
}test_gpio 0x4000_0000

3. 示例 

3.1 AXI-GPIO IP Core

3.1.1 寄存器描述

AXI GPIO 寄存器描述

| Address Space Offset | Register Name | Access Type | Default Value | Description
|----------------------|---------------|-------------|---------------|------------------------------------------
| 0x0000               | GPIO_DATA     | R/W         | 0x0           | Channel 1 AXI GPIO Data Register.
| 0x0004               | GPIO_TRI      | R/W         | 0x0           | Channel 1 AXI GPIO 3-state Control Register.
| 0x0008               | GPIO2_DATA    | R/W         | 0x0           | Channel 2 AXI GPIO Data Register.
| 0x000C               | GPIO2_TRI     | R/W         | 0x0           | Channel 2 AXI GPIO 3-state Control.
| 0x011C               | GIER          | R/W         | 0x0           | Global Interrupt Enable Register.
| 0x0128               | IP IER        | R/W         | 0x0           | IP Interrupt Enable Register (IP IER).
| 0x0120               | IP ISR        | R/TOW       | 0x0           | IP Interrupt Status Register.

 AXI GPIO 三态寄存器描述

| Bits                | Field Name | Access Type | Reset Value          | Description
|---------------------|------------|-------------|----------------------|----------------------
| [GPIOx_Width-1:0]   | GPIOx_TRI  | Read/Write  | Default Tri State    |0 = output, 1 = input.

3.1.2 操作示例

见 2.2 基本TCL命令。

proc write {address value} {set address [string range $address 2 [expr {[string length $address]-1}]]create_hw_axi_txn -quiet -force wr_tx [get_hw_axis hw_axi_1] -address $address -data $value -len 1 -size 32 -type writerun_hw_axi -quiet wr_tx
}write 0x4000_0004 0x0000_0000 # 设置 GPIO 为输出
write 0x4000_0000 0x0000_0003 # 设置 GPIO 状态。

3.2 AXI IIC IP Core

3.2.1 AXI IIC 寄存器描述

| Address Space Offset | Register Name   | Description                                              |
|----------------------|-----------------|----------------------------------------------------------|
| 01Ch                 | GIE             | Global Interrupt Enable Register                         |
| 020h                 | ISR             | Interrupt Status Register                                |
| 028h                 | IER             | Interrupt Enable Register                                |
| 040h                 | SOFTR           | Soft Reset Register                                      |
| 100h                 | CR              | Control Register                                         |
| 104h                 | SR              | Status Register                                          |
| 108h                 | TX_FIFO         | Transmit FIFO Register                                   |
| 10Ch                 | RX_FIFO         | Receive FIFO Register                                    |
| 110h                 | ADR             | Slave Address Register                                   |
| 114h                 | TX_FIFO_OCY     | Transmit FIFO Occupancy Register                         |
| 118h                 | RX_FIFO_OCY     | Receive FIFO Occupancy Register                          |
| 11Ch                 | TEN_ADR         | Slave Ten Bit Address Register                           |
| 120h                 | RX_FIFO_PIRQ    | Receive FIFO Programmable Depth Interrupt Register       |
| 124h                 | GPO             | General Purpose Output Register                          |
| 128h                 | TSUSTA          | Timing Parameter Register                                |
| 12Ch                 | TSUSTO          | Timing Parameter Register                                |
| 130h                 | THDSTA          | Timing Parameter Register                                |
| 134h                 | TSUDAT          | Timing Parameter Register                                |
| 138h                 | TBUF            | Timing Parameter Register                                |
| 13Ch                 | THIGH           | Timing Parameter Register                                |
| 140h                 | TLOW            | Timing Parameter Register                                |
| 144h                 | THDDAT          | Timing Parameter Register                                |

3.2.2 操作示例

3.3 驱动 HLS IP

3.3.1 HLS 代码

功能:使用 ap_ctrl_hs 协议,控制接口使用 AXI_Llite。

启动该 HLS IP 后,内部代码执行一次,即 led_state 翻转,并传递给 led 顶层接口。

#include <ap_int.h>void blink_counter(ap_uint<1> *led)
{
#pragma HLS INTERFACE mode=ap_none 	 port=led register
#pragma HLS INTERFACE mode=s_axilite port=returnstatic ap_uint<1> led_state = 0;led_state = ~led_state;*led = led_state;
}

* REGISTER
+-----------+---------+----------+
| Interface | Mode    | Bitwidth |
+-----------+---------+----------+
| led       | ap_none | 1        |
+-----------+---------+----------+* TOP LEVEL CONTROL
+-----------+------------+-----------+
| Interface | Type       | Ports     |
+-----------+------------+-----------+
| ap_clk    | clock      | ap_clk    |
| ap_rst_n  | reset      | ap_rst_n  |
| interrupt | interrupt  | interrupt |
| ap_ctrl   | ap_ctrl_hs |           |
+-----------+------------+-----------+

3.3.2 寄存器描述

// ==============================================================
// control
// 0x0 : Control signals
//       bit 0  - ap_start (Read/Write/COH)
//       bit 1  - ap_done (Read/COR)
//       bit 2  - ap_idle (Read)
//       bit 3  - ap_ready (Read/COR)
//       bit 7  - auto_restart (Read/Write)
//       bit 9  - interrupt (Read)
//       others - reserved
// 0x4 : Global Interrupt Enable Register
//       bit 0  - Global Interrupt Enable (Read/Write)
//       others - reserved
// 0x8 : IP Interrupt Enable Register (Read/Write)
//       bit 0 - enable ap_done interrupt (Read/Write)
//       bit 1 - enable ap_ready interrupt (Read/Write)
//       others - reserved
// 0xc : IP Interrupt Status Register (Read/COR)
//       bit 0 - ap_done (Read/COR)
//       bit 1 - ap_ready (Read/COR)
//       others - reserved
// (SC = Self Clear, COR = Clear on Read, TOW = Toggle on Write, COH = Clear on Handshake)

3.3.3 操作示例

1)构建 Block Design 原理图

2)配置 AXI 总线地址

3)烧写 bitstream 后,即可控制该 HLS IP。

proc write {address value} {set address [string range $address 2 [expr {[string length $address]-1}]]create_hw_axi_txn -quiet -force wr_tx [get_hw_axis hw_axi_1] -address $address -data $value -len 1 -size 32 -type writerun_hw_axi wr_tx
}write 0x0000_0000 0x0000_0001

4. 总结

  • JTAG to AXI Master 功能简介
  • 在 Vivado 中添加该 IP
  • 基本 TCL 操作命令
  • 三个示例
    • 通过 JTAG to AXI 控制 AXI GPIO
    • 通过 JTAG to AXI 控制 AXI IIC
    • 通过 JTAG to AXI 控制 HLS IP Core

参考列表:

1)UG908

Programming and Debugging (UG908)icon-default.png?t=O83Ahttps://docs.amd.com/r/en-US/ug908-vivado-programming-debugging/Hardware-System-Communication-Using-the-JTAG-to-AXI-Master-Debug-Core2)Xilinx Wiki - JTAG to AXI

Xilinx Wiki - JTAG to AXIicon-default.png?t=O83Ahttps://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/64488613/Using+the+JTAG+to+AXI+to+test+Peripherals+in+Zynq+Ultrascale

http://www.yayakq.cn/news/849833/

相关文章:

  • 集团门户网站建设企业a963设计网作品
  • 推广网站可以做跳转吗响应式网站要多久
  • 网站设计的公司概况简介小程序推广平台
  • 一般建设网站的常见问题wordpress多形式
  • 为什么多个网站域名有同个网站备案做网站和做网页一样吗
  • 网站维护公告模板织梦网站怎么更换模板
  • 做竞价的网站需要做外部链接吗网站开发合同编号如何编写
  • 如何用天地图做网站WordPress D8 5.1
  • 如何建设网站兴田德润实惠国家信用信息公示官网
  • 建设部办公厅网站定制软件下载
  • 网站后台漏洞网站affiliate怎么做?
  • 乐清有那些网站西安网站seo诊断
  • 济南经三路专业做网站宽城网站制作
  • 取消工法建设部网站医院系统网站建设
  • 乐达网站建设秦皇岛黄金海岸收费吗
  • 中职学校网站建设的厂家化妆品推广软文
  • 做网站 免费字体网站建设唯特和凡科哪个好
  • 网站被镜像怎么做2021年世界500强企业排名
  • 成都移动端网站建设药材网技术网站建设
  • 泉州网站制作哪个好薇做机械的有什么网站
  • 莱芜金点子网站wordpress前台不显示
  • 网站建设技术包括哪些内容网站 空间 备案
  • 网站站长如何赚钱软文写作网站
  • 做网站和做网页一样吗常用的软件开发文档有哪些
  • 网站建设合同 技术合同婚纱设计工作室
  • 学网站建设工作室网站建设费用标准
  • 如何建设一个自己+的网站首页鲅鱼圈做网站网工资页多少钱一个月
  • 东莞合网站建设湖南网站制作团队
  • 网站设计制作的连接方式遵义网站页设计制作
  • 网址导航网站制作工具外包是做什么的