Handel-C中时钟控制
来源:互联网 发布:与孩子一起学编程 mobi 编辑:程序博客网 时间:2024/06/02 03:54
Handel-C工程中的main函数都是在一个时钟源的控制下执行的。搞清楚每一部分的代码在哪个时钟周期段内执行对程序设计者来说是一件极其重要的事情。这不仅是因为它可以使设计者写出的代码可以执行速度更快,更重要的是它关系到设计者写出的代码当用到并行结构时是否能够正确的执行,是否能正确的按照设计者的设计初衷去执行。精确的时钟控制对于与外部硬件通信也是十分的重要,因为某些硬件对给出的控制信号的时序变化要求非常严格。
Handel-C中的时钟使用规则如下:
1、赋值语句和延时语句每执行一次花费一个时钟周期。
2、通道通信一般情况只花费一个时钟周期,如果通道通信的某个分支未开始传输数据,那么另一个分支就一直等待直到它做好传输数据的准备。
例如:
par
{
link ! x; // Transmit
link ? y; // Receive
}
上述代码只花销了一个时钟,因为x向通道写和y从通道读是同时开始的.这个并行块实现的功能相当于把x赋值给了y.
par
{
{ // Parallel branch 1
a = b;
c = d;
link ! x;
}
link ? y; // Parallel branch 2
}
代码中的branch2等到第三个时钟周期branch1准备好数据传输时才开始通信。
3、表达式没有时钟花销,比如((y*z)+(w*k))<<2没有时钟花销,越复杂的表达式只是会包含更多的硬件资源。
Handel-C工程的时钟源可以通过FPGA芯片的某个引脚由外部时钟振荡器提供,也可以由FPGA芯片内部自己生成。为main函数指定时钟源的一般形式为:
set clock=Location;
Location的形式可以是:
Location
描述
internal Expression
时钟由芯片内部产生
external[Pin]
时钟由外部引脚提供
external_divide[Pin]
时钟由外部引脚提供并分频
具体使用方式如下:
set clock=external “Y2”;
set clock=external_divide “Y2” 2;
第一条语句的意思是时钟由外部引脚Y2提供,第二条语句的意思是时钟是由外部引脚Y2提供的时钟经2分频以后的值。
- Handel-C中时钟控制
- c 语言中自定义Handel使用
- Handel-C中的prialt
- 时钟控制模块ALTCLKCTRL
- STM32时钟控制RCC
- S3C2440A时钟控制逻辑
- STM32 时钟控制
- Handel 简介与使用
- linux中C语言获取高精度时钟gettimeofday函数
- STM32时钟控制RCC探究
- STM32时钟控制RCC探究
- 日历时钟芯片控制实验
- STM32时钟控制RCC探究
- windows 控制台下的时钟
- Arduino 控制 DS1302 时钟芯片
- 时钟模块.C
- ds1302时钟C程序
- c语言模拟时钟
- Ambi实习(二)
- 在文件的特定字节处替换字节值
- gearman failover
- android 手机端获取服务器端的json数据
- Django ORM涉阶(一)
- Handel-C中时钟控制
- Oracle索引监控,重建,不可见
- 《西方经济学》读后感
- google也在扁平化 (BY 冷家锋)
- 2013年科技圈赢家&输家大盘点
- Android ViewPager使用详解
- 编写更好的JQuery代码
- datagrid详细操作单元格样式 设置列标题居中而列内容居右显示
- Oracle收集直方图信息