Compiler construction FPGA设计应该整合到计算机科学课程中吗?

Compiler construction FPGA设计应该整合到计算机科学课程中吗?,compiler-construction,computer-science,theory,fpga,Compiler Construction,Computer Science,Theory,Fpga,如果计算机科学是关于算法开发的,因此不局限于处理器供应商的想象,而是所有实际可计算的领域。那么,FPGA几乎非常适合研究细胞自动机,难道不应该被认为是研究计算机科学的有效平台吗。有一个特别感兴趣的领域,我觉得目前的课程很薄弱,那就是并行性及其与编程语言的集成。我认为编译器设计可以从让学生处理FPGA显式并行性的课程中受益。老实说,我认为这会很有用,但我意识到这是一个很难回答的问题。真正的问题不是FPGA课程是否有价值(显然会),而是是否有足够的价值从课程中删除一些其他课程,用这个课程取代它?我的

如果计算机科学是关于算法开发的,因此不局限于处理器供应商的想象,而是所有实际可计算的领域。那么,FPGA几乎非常适合研究细胞自动机,难道不应该被认为是研究计算机科学的有效平台吗。有一个特别感兴趣的领域,我觉得目前的课程很薄弱,那就是并行性及其与编程语言的集成。我认为编译器设计可以从让学生处理FPGA显式并行性的课程中受益。

老实说,我认为这会很有用,但我意识到这是一个很难回答的问题。真正的问题不是FPGA课程是否有价值(显然会),而是是否有足够的价值从课程中删除一些其他课程,用这个课程取代它?我的怀疑是,大多数课程都无法腾出足够的时间,将其作为事后思考的内容。

作为一名CS学生,我会喜欢FPGA课程。然而,每个人都有自己的方式,不想修改课程。这在理论上相当繁重,他们认为微控制器和FPGA需要太多的电学知识,对CS学生来说不太有用


正因为如此,我修了电气工程专业的辅修课程。

天哪,不是。我在最后一年修了一门FPGA课程,这意味着我不得不在编译代码时坐上好几个小时。学生要把简单的代码放到黑板上的工作是可怕的。直到今天,“地点和路线”这个词还是让我不寒而栗。

提供它。重新编译它。不需要它。

FPGA非常酷。我有两个问题:

  • 什么是持久价值的理念,学生在毕业20年后仍将与之共事

  • 为了给FPGA课程腾出空间,你打算取消什么


“教育是知识消失后剩下的东西。”

作为一名计算机工程的应届毕业生,我修过多门嵌入式系统课程,我觉得这将非常有用。这将有助于拓宽标准编程的视野,并帮助CS学生了解嵌入式系统开发的最重要方面,即效率。管理内存是至关重要的,从基于FPGA的课程中获得的这些方面可以延续到桌面应用程序开发。我不必等待代码编译多年,但“地点和路线”仍然不是我最喜欢的短语哈哈。放弃一门课程对我来说很难说,因为我不是CS而是CpE,不知道确切的课程。然而,我目前正在从事桌面应用程序的工作,我在FPGA课程中获得的一些技能影响了我的工作。这是我的两分钱。享受

作为一名刚毕业的计算机科学毕业生,我想说FGPA更多的是在计算机或电气工程领域。诚然,CS是关于算法的,但它也涉及计算理论、数据结构、人工智能等。我认为FGPA太具体了,不能成为必需的组件。我学习的并发编程类的级别要高得多,但我相信它对并行性有一个很好的介绍


事实上,有一大堆高年级的课程,我希望我能上,但没有空间:量子计算、编译器构造、实时系统等。所有这些都是很好的候选课程,可以纳入核心课程。

是的,FPGA设计应该以某种形式整合到CS课程中。至少作为数字设计或并行计算课程的实验室。现代FPGA不再是一堆可配置的逻辑门。它们是具有多核处理器和丰富外围设备的片上系统(SoC)。
我看到越来越多拥有计算机科学学位、硬件经验很少的工程师在FPGA上进行嵌入式设计。为了举例说明我的观点,请看Xilinx论坛上的讨论

或者把它作为一门研究生水平的课程,为那些想要对它进行全面研究的人提供。对我来说,这听起来绝对像是研究生课程。虽然它显然应该在研究生课程中进行探索,至少在表面上是这样。我认为将它添加到CS课程中的好处之一是它不应该局限于一个班级,而是贯穿于各个班级。自动机、算法、体系结构等。这将需要一种更加多样化的方法来教授这些课程,这不会将它们局限于基于冯·诺依曼的概念。看到一个完整的CS序列使用并行语言并使用并行机(包括FPGA和GPU)来完成肯定会很有趣。今天还没有那么糟糕,我已经能够使用一台速度相对较慢的笔记本电脑进行各种VGA类型的设计。我在做Bresham的线条和基于字符生成器的文本来显示信息。像并行排序算法这样的东西编译起来不会花那么长时间。编译肯定比C慢,但是随着现代系统和工具的速度,它现在对于大多数类所涵盖的问题类型是实用的。另外,做一个功能模拟是快速的,对于大多数任务来说已经足够好了。例如,我不指望一个本科生会编译PCI控制器。@Pete Eddy:我在HandelC做FIR和IIR滤波器。真正的问题是有太多的包袱,我们没有学到任何东西。我确实认为这些工具需要工作。很多工作。但是,当我使用一些自由软件包时,我也会有同样的感觉,比如我使用的python工具感觉不太“正确”。(我完全承认,“感觉正确”完全是主观的,所以请不要生气。)但老实说,它们并不比任何其他开发工具更难适应。这有点像使用基于整数的微操作