CMT是啥意思
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CMT是啥意思相关的知识,希望对你有一定的参考价值。
一、时钟网络结构时钟网络总体架构图
Clock Region(时钟域):FPGA内部BANK(模块)分成了很多个时钟区域,在区域内的时钟不与外部互联称为局部时钟网络。
Clock Backbone(时钟主干道):将FPGA芯片的结构分成了左右两部分,所有的全局时钟布线均要从此经过。
HROW(水平时钟线):从水平方向贯穿每个时钟区域的中心区域,将时钟区域分成上下完全一致的两部分。全局时钟线进入每个时钟区域的逻辑资源时,必须经过水平时钟线。
I/O Column :外部信号或时钟输入管脚。
CMT Backbone:对于相邻时钟区域的时钟布线,可以不使用珍贵的全局时钟网络,而使用每个时钟区域都包含的CMT Backbone通道。
CMT Column:每个时钟区域都包含一个CMT,一个CMT由一个MMCM和一个PLL组成。
GT Column:内含高速串行收发器。
区域时钟网络结构
上图为一个时钟域基本的连接结构,即被虚线分割的Clock Region。
全局时钟缓冲器(BUFG)能够通过HROW(水平时钟行)驱动所有区域
Backbone可以到达任意一个时钟区域,且BUFG通过HROW到达时钟区域内部的每个逻辑单元中。
BUFH即为水平时钟缓冲器,它相当于一个功能受限的BUFG,其输出时钟只能通过HROW在左右相邻的时钟区域内工作。
BUFIO即为IO时钟缓冲器,其输出时钟只能作用在一个时钟区域的IO寄存器处,无法在FPGA内部逻辑使用。
BUFR即为区域时钟缓冲器,其输出的结果只作用在一个时钟区域。
BUFMR即为多区域时钟缓冲器,其输出作用在本时钟区域,还可以通过CMT Backbone作用在上下相邻两个时钟区域。
MMCM、PLL即时钟管理模块,用来消除时钟的延迟、抖动以及产生各种不同频率的时钟。
CC即为外部时钟输入管脚,其管脚在内部可以连接到BUFG、BUFR、BUFIO、BUFH、MMCM、PLL等。 参考技术A Q=cmt,Q表示吸入或释放的热量,单位为焦耳。c表示为比热容,表示的是某物质每一千克,每升1摄氏度所吸收或释放的热量,单位为焦耳/kg摄氏度。m表示物体的质量,单位为kg。.t表示物体温度的变化量,单位为摄氏度。希望可以帮到你。。
“内容”是啥意思:在招摇/openapi“响应”中是啥意思:
【中文标题】“内容”是啥意思:在招摇/openapi“响应”中是啥意思:【英文标题】:what does "content" : mean in swagger/openapi "responses":“内容”是什么意思:在招摇/openapi“响应”中是什么意思: 【发布时间】:2018-01-23 15:48:30 【问题描述】:使用 Swagger/OpenAPI(以及随后的 swagger-codegen)我无法找到 应该之间的区别
这个,直接来自https://swagger.io/specification/#responsesObject (第一个例子,json格式)
"responses" :
"200":
"description": "a pet to be returned",
"content":
"application/json":
"schema":
"$ref": "#/components/schemas/Pet"
和
"responses" :
"200":
"description": "a pet to be returned",
"schema":
"$ref": "#/components/schemas/Pet"
我已将此示例放入一个简单的 json swagger 规范 (json) 并运行 Swagger-Codegen (python, flask) 以生成我的控制器和模型。 Yaml 似乎是首选的内部表示,因此当生成器运行时,它会创建一个 yaml 文件。
对于前者,响应类型为“无”
responses:
200:
description: "a pet to be returned"
而后者产生了我认为我应该期待的结果:
responses:
200:
description: "a pet to be returned"
schema:
$ref: "#/components/schemas/Pet"
例如,使用Content
的第一个语法似乎省略了架构
内容是什么意思?
我从示例中遗漏了什么,为什么 Content
不会导致非无返回类型和相应的架构。
关于 SwaggerCodgen 的注意事项:生成的代码与生成的 yaml 所说的完全匹配,因此我没有在此处包含任何这些细节
【问题讨论】:
【参考方案1】:第一个示例是 OpenAPI 3.0,第二个示例是 OpenAPI 2.0,因此有所不同。
OpenAPI 3.0 中使用的 content
关键字是 OpenAPI 2.0 中 consumes
/produces
的替代品。在responses
的上下文中,content
表示响应具有正文,并指定了响应正文的媒体类型(JSON/XML/等)和结构。
OpenAPI 2.0 版本:
swagger: "2.0"
...
paths:
/foo:
get:
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/Pet"
OpenAPI 3.0 版本:
openapi: 3.0.0
...
paths:
/foo:
get:
responses:
"200":
description: OK
content:
application/json:
schema:
$ref: "#/components/schemas/Pet"
codegen 问题可能是由以下任一原因引起的:
codegen 尚不支持 OpenAPI 3.0 规范无效(例如,混合使用 2.0 和 3.0 关键字)【讨论】:
谢谢,我完全错过了。我已经赞成您的答案,一旦我可以使用代码生成器进行验证,就会将其标记为正确。在 3.0 中删除“产品”对我来说似乎更直观,所以我试图在 3.0 而不是 2.0 openapi 中执行此操作。我已经使用 swagger2openapi 将我的 swagger 规范转换为 3.0,但是在 3.0 中获取/运行 codegen 时遇到问题。它似乎在 git 中受支持,但我没有找到任何要运行的预构建 jar 或 docker 容器。 我看到了oss.sonatype.org/content/repositories/snapshots/io/swagger/…,但它失败并且似乎正在执行 2.0 (??)[main] INFO io.swagger.parser.Swagger20Parser - reading from /input/myspec.openapi3.json [main] INFO io.swagger.codegen.ignore.CodegenIgnoreProcessor - No .swagger-codegen-ignore file found. Exception in thread "main" java.lang.RuntimeException: missing swagger input or config!
我建议你在swagger-codegen repo 中打开一个问题。以上是关于CMT是啥意思的主要内容,如果未能解决你的问题,请参考以下文章