对gezel有用的网址:

http://rijndael.ece.vt.edu/gezel2/index.php/Main_Page

下面的文章摘自这个人的博客,

http://edacn.net/index.php/83433/spacelist-blog-itemtypeid-1395.html

国内好像只有他的博客里对gezel有大量研究.

=====================================================================

我对gezel的看法(一)

在见到的硬件语言中,比较看好gezel和SpecC,都是以FSMD为核心。FSMD最大好处是将硬件并发执行顺序化,对于以前从事软件开发的我,是比较偏爱。EDA中国门户网站P N SS-^ R!]
w-O*M
    gezel比较可爱之处,我觉得有以下几点:EDA中国门户网站Xw
q)I7dq(A
    1、以FSMD为核心,其实,在rtl设计时,我们都在无形中使用FSMD,电路无时无刻在执行,组合逻辑负责变换,寄存器控制节奏,而FSMD将其合理化、理论化。gezel将FSM和DATAPATH分开是非常明智的,清晰性、可读性非常好;
/O+aC!r0Hg(s.t$?b7B?r0    2、语法简单、面向硬件实现,简洁的语法,主要针对硬件实现而设计,每一步都是很确定的,很少引起歧义。这和面向仿真的rtl语言有很大区别。
x(B X3o7pc0    3、开源,为扩展打开了广阔的空间,也方便了开发者定制。不过,自1.7版本后去掉了fdlvhd的源代码,是否有准备商业化的嫌疑?
H/P
UsG9F?j,e9k0EDA中国门户网站4TA
Pj3y/k8N
    总之,我觉得gezel是个非常好的创举,其思想很有启发性,是为“硬件开发者”设计的“实现硬件”的一种语言,有一种返璞归真的闻道。
9a0o?G?[*]5t6da;n8o0EDA中国门户网站1_8kVzv-^ fH|
    SpecC在接口协商方面可能更胜一筹,不过,gezel的发展空间还很大。

本文原址:http://edacn.net/html/33/83433-33183.html


我对gezel的看法(二)

就我对gezel的认识,觉得有以下好处:
/{bj$W;{#v?f
|2H4}13977EDA中国门户网站
r?X^:VX7d*w5{z:F
W
1、语法简洁,可读性好,特别是数据通路和控制通路的分离。verilog和vhdl较复杂;
[1]k1}C|KW*f139772、面向硬件实现,从fdl程序可以直接得到硬件实现,而现在许多esl工具,其生成的代码要看懂实在太难。verilog和vhdl面向硬件仿真,如果代码很长、很复杂,要想象出硬件是很不容易的。EDA中国门户网站
E[1]R1g c*Q
T [Le(xeK
3、语义确定,象gezel中的寄存器就是硬件中寄存器,而verilog和vhdl却不然;
%U3_^+e6Ae1a139774、 思想明确,清晰易理解,其sfg,fsmd都是常用的硬件实现方法,而vhdl和verilog由于语言丰富,书写风格多样,有经验写的直接对应硬件,而 无经验的可能写成类似c语言的实现,其综合结果会相差千里;gezel强制采用sfg,fsmd等方法,只能在充分理解sfg,fsmd等方法及其对应的 硬件实现后,才能写出合格的gezel程序。不知道fsmd可以写出vhdl或verilog程序,但不知道fsmd,却不好写出fdl。
`bh'i?W0I_h+?w)G13977    也可以说,gezel对vhdl和verilog进行了高级抽象,使其硬件实现方法化。当然,gezel还在发展中,还有许多不足。个人感觉,如果能在接口、通讯协议、共享资源方面有所扩展,就比较完美了。EDA中国门户网站4[6zji;~
    前一段,在国外一个论坛上,看到有人建议写一本关于硬件设计的设计模式(设计模式取自C++的设计模式),我觉得这是一件非常好的事情,如果能有这样一本巨著,我们这些菜鸟即使写不出最好的硬件程序,也可写出不错的硬件程序。EDA中国门户网站m9SqTo-mgt:l
5、周期精确地、方便地和c语言接口仿真,比如,写一个mpeg4编码程序,可以一步一步嵌入fdl程序仿真,好了,直接生成hdl。当然,vhdl和erilog也可以和c接口,但你首先的熟悉一大堆接口规范,然后才能写程序。
jL5Ppg139776、开放源代码,如果你高兴,你可以根据自己的喜好和经验定制自己的工具。EDA中国门户网站B&L2n n$mT
EDA中国门户网站se R WGIt
    其实,对于真正懂得硬件和硬件实现方法的高人,用任何语言都可以写出优秀的程序。只是有些工具会让我们少犯错误,有些工具教会我们怎样思考硬件、实现硬件。
3ozU]{V l}
@P;v;}13977EDA中国门户网站?A)@#YJz7Smn
    总之,我觉得gezel是给“硬件者”实现“硬件”的语言。
1[9Q]c&T
FY{w13977EDA中国门户网站 Z
B@[1]I/G%J
    以上仅是自己的一些拙见,还在学习中。欢迎讨论、批评指正。

本文原址:http://edacn.net/html/33/83433-33184.html


对gezel之fdlsim仿真调度算法的初步猜想

fdlsim其实就是一个解释器。

[1]p
`/A'X
z0  fdlsim仿真速度比其它事件驱动编译型仿真器可能要快(没比较过)。

dt Avz?n0 EDA中国门户网站8U-f?J.q3xGdJ 如果将vhdl看作CISC机,gezel可能就是risc机。EDA中国门户网站t?[b@!t8n&oX?a'|2C \?i

$AEg-V F _-] R0    gezel的确定性是由fmsd和fmsd的四条规则来保证,在此基础上简化了仿真和代码生成。EDA中国门户网站8_'a[1]S()4E q

fdlsim的仿真调度方法还没有搞清楚,不过从硬件执行特性猜想可能如下进行仿真调度:
N P g(d
gY?c0   
C9^C-]?G
[1^ `j7Q0    1、寄存器处理:将寄存器分为寄存器和信号两个值,分别表示将来值和现在值,将来值参与寄存器更新,而现在值参与数据数据通路计算。在gezel中,寄存器默认值为0,而信号为未知。EDA中国门户网站@9y_9Ed)R)\8]
    2、dp处理:对寄存器处理后,dp的计算将都是信号,其并行计算和顺序计算效果一样,不过要以sfg为变量范围,这里涉及到sfg是单周期以及fsmd的规则之一:任何周期不能有组合环。EDA中国门户网站B ]%N&t-C }C
    3、fsm处理:顺序执行,比较简单,和软件执行相同。仅相当一个开关,在什么时候打开哪个通路。
*Kb&w
V#c[1]G-Q2?^0    4、仿真调度:

2CUY Rc3[0       a、寄存器值->寄存器信号值;
1B?WM?]'c7RG0           b、计算dp中各个sfg;EDA中国门户网站
}u.Z n
m[1]H Lj
       c、查找fsm执行分支,得到正执行的sfg,标志下一步执行分支;
M^J~!qh$Z9?T&rM0       d、根据c得到的sfg,从dp中查找对应的sfg,更新输出,这涉及到fsmd的另一条规则:任何周期都要有确定的输出;
/M3l-~(y6),z7E?)0       e、寄存器信号值->寄存器值;EDA中国门户网站#l h-A(ao
       f、周期计算加一,goto a。

以上仅初步想法,望指正、讨论。

本文原址:http://edacn.net/html/33/83433-33213.html

关于新的描述语言GEZEL的介绍相关推荐

  1. c语言如何设置c99标准,新的C语言: C99标准介绍

    新的C语言: C99标准介绍 Randy Meyers 此篇文章摘取与即将登载于<Dr.Dobb's 软件研发>>第二期(2003年9月)的<新的C语言,C99标准介绍> ...

  2. 硬件描述语言VHDL之并行语句基本使用介绍

    硬件描述语言VHDL之并行语句 1. process语句 1.1 基本介绍 1.2 基本格式 1.3 代码示例 2. 简单形式并行信号赋值语句 2.1 简单并行信号赋值语句说明 2.2 代码示例 3. ...

  3. 硬件描述语言VHDL之顺序语句基本使用介绍

    硬件描述语言VHDL之顺序语句 1. 顺序赋值语句 1.1 变量赋值语句 1.1.1 基本说明 1.1.2 使用举例 1.2 信号赋值语句 1.2.1 简单说明 1.2.2 使用举例 1.3 常量赋值 ...

  4. 多维数组的行优先和列优先, 数据描述语言

    多维数组的行优先和列优先 这里以numpy为工具,介绍一下多维数组的行优先和列优先的概念. 首先我们生成一个3x4的数组: arr = np.arange(12).reshape(3,4) 它的形状是 ...

  5. 云计算论文集, Spark, 数据描述语言, 运维工具集

    https://antkillerfarm.github.io/ 云计算论文集 这里列出一些在这个领域产生重大影响的论文.仅作备忘,肯定不全,Google是其中的绝对主力. CAP <Towar ...

  6. 【效率专精系列】善用API统一描述语言提升RestAPI开发效率

    团队内部RestAPI开发采用设计驱动开发的模式,即使用API设计文档解耦前端和后端的开发过程,双方只在联调与测试时耦合.在实际开发和与前端合作的过程中,受限于众多因素的影响,开发效率还有进一步提高的 ...

  7. 基于业务描述语言BDL的需求方法论

    业务需求 需求重要吗?业务需求重要吗? 为什么重要?它有多重要? 需求的切入点在哪里? 业务架构与业务需求之间是什么关系? 业务需求与软件需求之间又是什么关系? 软件需求与软件设计之间是什么关系? 设 ...

  8. 第三章 硬件描述语言verilog(一)

    文章目录 第三章 硬件描述语言verilog 第1节 Verilog语言的历史 第2节 综合和仿真 2.1 综合 2.2 仿真 2.3 可综合设计 第3节 模块结构 3.1 模块介绍 3.2 模块名和 ...

  9. 硬件描述语言与c语言函数,计算机硬件描述语言(VHDL)与编程语言(C语言)的区别及关系,...

    计算机硬件描述语言(VHDL)与编程语言(C语言)的区别及关系,以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 计算机硬 ...

最新文章

  1. Boost智能指针——shared_ptr
  2. nrf51822蓝牙芯片ble_app_proximity程序总结
  3. Git手册 - 分支远程同步
  4. 中蜂几月份自然分蜂_蜜蜂的种类:北黑蜂,中华蜜蜂,皖南中蜂,贵州纳雍中蜂等等...
  5. 计算机应用基础工作页,计算机应用基础工作页
  6. Windows传统取证的一些笔记
  7. 33.如何用H5标签进行页面自动跳转和自动刷新
  8. 【用C语言绘制直角坐标系】
  9. 联想E420麦克风没有声音的方案
  10. C/C++新手看过来----讨厌的符号
  11. nginx 反向代理和正向代理区别
  12. 用google突破图书馆入口IP限制小技巧
  13. 100天精通Python(基础篇)——第7天:高级变量类型复习
  14. Java简体繁体转换
  15. Java峰值和削峰_架构设计之流量削峰
  16. java 熔断器模式_Spring Cloud Hystrix——熔断器
  17. 电大计算机专业软件工程试题,2021国家开放大学电大本科《软件工程》期末试题及答案(试卷号:1260)...
  18. 解决 linux DNS 服务器执行 rnc-confgen 响应慢的问题
  19. 新托业笔经纠结的作弊
  20. python随机生成三位数数_如何实现python随机生成数字?

热门文章

  1. [Unity3d]旋转拖动物体
  2. 通用Excel文件导出工具类
  3. Redis Cluster搭建方法简介22211111
  4. vlc android 移植版编译
  5. Python 的and 运算
  6. Web应用开发中的几个问题
  7. PHP的Smarty较为完整的笔记
  8. 中的实践 中兴_中兴通讯王卫斌:一步到位 构建5G 2B新商业
  9. python意外缩进引发逻辑错误_如何编写 Python 程序
  10. 曲靖沾益区计算机学校,【曲靖市沾益区职业技术学校-网址】2021招生简介|怎么样...