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 然后跑下命令 ...
随机推荐
- 统计学习方法c++实现之七 提升方法--AdaBoost
提升方法--AdaBoost 前言 AdaBoost是最经典的提升方法,所谓的提升方法就是一系列弱分类器(分类效果只比随机预测好一点)经过组合提升最后的预测效果.而AdaBoost提升方法是在每次训练 ...
- LeetCode 刷题笔记 155. 最小栈(Min Stack)
tag: 栈(stack) 题目描述 设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈. push(x) -- 将元素 x 推入栈中. pop() -- 删除栈顶的元素 ...
- Netty源码分析第4章(pipeline)---->第5节: 传播outbound事件
Netty源码分析第五章: pipeline 第五节: 传播outBound事件 了解了inbound事件的传播过程, 对于学习outbound事件传输的流程, 也不会太困难 在我们业务代码中, 有可 ...
- 出现 org.springframework.beans.factory.BeanCreationException 异常的原因及解决方法
1 异常描述 在从 SVN 检出项目并配置完成后,启动 Tomcat 服务器,报出如下错误: 2 异常原因 通过观察上图中被标记出来的异常信息,咱们可以知道 org.springframework.b ...
- 【Docker】第二篇 Docker镜像管理
一.搜索镜像 1.下载一个docker镜像:我们可以通过登陆docker网站搜索自己需要的镜像,可以选择自己所需要的版本,然后通过详情也可以看到:网址:https://hub.docker.com/2 ...
- PHP 抽象类和接口区别
php中抽象类和接口的区别 1) 概念 面向对象的三大概念:封装,继承,多态 把属性和方法封装起来就是类. 一个类的属性和方法被另外的类复制就是继承,PHP里面的任何类都可以被继承,被继承的 ...
- C++ 类 析构函数
一.析构函数的定义 析构函数为成员函数的一种,名字与类名相同,在前面加‘~’没有参数和返回值在C++中“~”是位取反运算符.一个类最多只能有一个析构函数.析构函数不返回任何值,没有函数类型,也没有函数 ...
- Daily Scrum 11.15
今日完成任务: 1.在回答页面显示用户的相关信息 2.重写了搜索方法,并在自己的Demo网站测试成功 3.修改问题实体属性,加入悬赏积分:并在问题列表页面显示问题悬赏分数 遇到困难:一个是对于学长的搜 ...
- 2-Tenth Scrum Meeting20151210
任务分配 闫昊: 今日完成:请假.(编译) 明日任务:参加会议讨论,安排任务分工. 唐彬: 今日完成:请假.(编译) 明日任务:参加会议讨论,安排任务分工. 史烨轩: 今日完成:请假.(编译) 明日任 ...
- [buaa-SE-2017]个人作业-Week1
个人作业-Week1 Part1:教材中不懂的问题 1.根据书中"除了前20的学校之外,计科和软工没有区别"所以计算机科学这个专业也许在我们学校是和软件工程有区别的,但是可以料想的 ...