SDNnet PX Programmming Language
写在前面
本篇是关于 SDNet PX Programming Language User Guide 其中「Introduction」 部分的一些翻译、理解以及我从其他方面看来的一些资料的整合。网上相关的资料十分少,因此欢迎同样在研究 px 的同学联系我一起探讨。
Introduction
PX 是用于特定领域的高级程序设计语言(the high-level domain-specific programming language)用于 Xilinx® 网络 SDNet™ 开发环境组成部件的可编程包处理器(PPP)。
注1:PPP 是 Programmable Packet Processor 的缩写
PX 可以用于两个目的。第一,生成用于 PPP 实例的架构的可合成的 RTL 代码(to generate synthesizable RTL code for the architecture of a
PPP instance);第二,更改已经存在的 PPP 实例的固件(to change firmware for an existing PPP instance);
注2: RTL 是指 Register Transfer Level,也就是寄存器传送级
PX 的目的是允许用户专注于需要的包处理功能而不需要关心达到高性能的具体实现细节,是一门声明性语言(a declarative language)。它关心包处理要做什么而不是怎么做。换句话说,它只给出要解决的问题而不是解决问题的方法。更具体地说,它描述了应用于包的规则而不是这些规则的执行过程。
PX 不同于典型的软件设计语言因为它缺少指定规则应用顺序的时间特性(it lacks a
temporal characteristic for specifying the order in which rules are applied)。同样的,PX 也不同于典型的硬件描述语言因为它缺少指定规则应用机器的空间特性(it lacks a spatial characteristic for specifying the machinery to be used for rule application)。目的是用户专注于包和协议而不必关心实现的细节。
PX 程序由一系列的包处理规则组成。它是面向对象的,包括两个基本类型的对象:一是执行包处理的的引擎(engines),二是允许引擎和引擎之外的部分通信的接口(interfaces)。PX 程序通过接口在引擎之间建立连接,指明了引擎和系统的功能。
其他资料
- PX 运行环境是 Xilinx 公司的网络 SDNet™ 开发环境。这个开发环境加上 Xilinx FPGA 和 SoC,可创建新一代硬件加速的软件定义网络。更多详情移步:SDx 开发环境
将可编程性从控制扩展至数据面板设计 - PX 是主要用于包处理方面。更具体的说,是定义一系列规则来控制包。
- 在 SDNet 环境下编写 PX 程序,然后烧录至 FPGA (现场可编程门阵列)。
如有不足,欢迎指出~
SDNnet PX Programmming Language的更多相关文章
- HIGH-SPEED PACKET PROCESSING USING RECONFIGURABLE COMPUTING
摘要 本文介绍了一种新的工具链,它将一门称为 PX 的专门用于包处理的编程语言运用到基于 FPGA 技术的高性能可重构计算架构(HIGH-PERFORMANCE RECONFIGURABLECOMPU ...
- 纯Shading Language绘制飞机火焰效果
上篇<纯Shading Language绘制HTML5时钟>体现了GLSL可编程性特点,但没有体现GLSL可编程出各种酷炫效果的特点,今天我们将用纯Shading Language绘制火焰 ...
- The Go Programming Language. Notes.
Contents Tutorial Hello, World Command-Line Arguments Finding Duplicate Lines A Web Server Loose End ...
- LODOP直线px转换mm变斜线
LODOP中打印项顶边距左边距,宽高,可以选择的单位很多,详细可在LODOP官网下载参考LODOP技术手册. 关于LODOP打印直线和虚线,可查看本博客相关博文:Lodop如何打印直线.Lodop打印 ...
- 用正则表达式把页面中的px全部替换成rem
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- bc - An arbitrary precision calculator language
bc(1) General Commands Manual bc(1) NAME bc - An arbitrary precision calculator language SYNTAX bc [ ...
- px、dp和sp,这些单位有什么区别?
DP 这个是最常用但也最难理解的尺寸单位.它与“像素密度”密切相关,所以 首先我们解释一下什么是像素密度.假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算 ...
- px-rem px转换为rem的工具
将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 将px转换为rem的工具 怎样转换静态文件 安装: npm install px- ...
- px-rem 一个将px转换为rem的工具
将px转换为rem的工具,github地址:https://github.com/finance-sh/px-rem 怎样转换静态文件 安装: npm install px-rem -g 然后跑下命令 ...
随机推荐
- SNMP TRAP报文解析
转载地址: https://blog.csdn.net/eric_sunah/article/details/19557683 SNMP的报文格式 SNMP代理和管理站通过SNMP协议中的标准消息进行 ...
- JDK 和 JRE 有什么区别
JDK是Java开发工具包(Java Development Kit),JRE是Java运行环境(Java Runtime Environment),JDK包含了JRE,搭建Java环境的时候,安装J ...
- 九九乘法表的python复习
九九开始的复习 这周复习之前的学的知识关于range函数,gormat函数,print的使用总结一下 从一个小例子开始,开始我的回顾吧, 大家都是从那个九九乘法表开始的数学之旅,从一一得一,开始了我们 ...
- Python中remove,pop,del的区别
先上题:写出最终打印的结果 a = [1, 2, 3, 4] for x in a: a.remove(x) print(a) print("=" * 20) b = [1, 2, ...
- mysql以zip安装,解决the service already exists(转载)
喵喵亲测可用: 转自:https://www.cnblogs.com/dichters/p/5929209.html mysql以zip安装, mysqld -install 报错:The serv ...
- 新手Python第四天(生成器)
Python 生成器 生成器和生成表达式 a=[i*2 for i in range(10)]#生成表达式 b=(i*2 for i in range(10))#生成器 生成器的特点:优点(不占用内存 ...
- 面向 Web 开发者的 Sublime Text 插件
Package Control 在 Sublime Text 上大家都用 Package Control 来管理安装插件,所以它是我们要安装的第一个插件,安装方法见这里.关于 Package Cont ...
- [Windows][C#][.NET][WPF]基于ArcFace2.0+红外双目摄像头的活体检测
废话不多说 直接上图这个是demo中用到的双目摄像头,一个是红外的,一个是正常的rgb摄像头两个usb接口,在电脑上呈现两路摄像头通道程序检测RGB输出图像,当检测到有人脸时,用RGB人脸的位置到红外 ...
- DDMS_Threads的简单使用
title: DDMS_Threads的简单使用 date: 2016-07-20 00:44:35 tags: [DDMS] categories: [Tool,IDE] --- 概述 本文记录在 ...
- ipmitool命令详解
基础命令学习目录首页 原文链接:https://www.cnblogs.com/EricDing/p/8995263.html [root@localhost ~]# yum install -y i ...