为了测试和探索这些 I/O 器件如何将您的创意传达给用户,您需要创建基本的功能性智能来驱动这些器件。此时的正常步骤是开发实现上述目的所需要的软件与硬件,然后再根据不同用户界面行为不断调整与改变相关结构。
不过,您很快就会返回到硬件逻辑、外设驱动器以及软件程序的详细设计层面。您对用户体验进行全面、高度关注会丧失殆尽,于是再次回到产品原型设计的老路,而灵光乍现的创意已经鸟无影踪。
在某种程度上,FPGA 可解决上述难题。借助 FPGA,每次重要设计迭代不再需要创建全新的物理硬件,因而可以提供一条更加轻松地探索设计选项和替代方案的可行之路。只需改变嵌入式硬件设计,然后以真正烧录与学习 (burn & learn) 的方式将修改过的版本加载到 FPGA 即可。但是采用传统 HDL 输入方法修改设计会使您再次陷入扼杀创意而过分关注细枝末节的艰涩编码环境中。
不过,还有另一个方法。对于这种探索性设计,此前未曾使用过的一种方法是采用 FPGA 嵌入式虚拟测试仪器,例如由 DelphiScript 等高级脚本语言驱动的多位宽 I/O 仪器块。这些智能 IP 为创建、控制以及调节设计中用户互动提供了一种潜在的便捷方法。
智能仪器
NanoBoard 3000:智能、互连与多功能
虚拟仪器建立在预配置软硬件 IP 块的基础之上,可帮助您主动监控和控制 FPGA 设计中正在运行的内部结构。用户创建的脚本可用来控制仪器,从而可使一定水平的“智能性”能够控制设计中所连接的任何 I/O 信号。
在这种基本层面,我们可轻松配置嵌入式 I/O 仪器并为其编写脚本,以用于感测开关、切换 LED 和激活 I/O 端口等。只有将创意应用到包含各种实用外设并具备改进与扩展这些外设能力的智能 FPGA 硬件开发平台,创意才能切实可用。
如果这种硬件开发系统还能够通过基于 USB 的 JTAG 链路与基于 PC 的设计软件进行高级通信,并且软件包含适用于电路板外设的随时可用型 IP,那么事情就会变得更加有趣。基于 FPGA 的 IP 块和仪器控制器采用基于原理图或图标的高级设计采集系统,可连接到一起快速创建完整的功能 I/O 系统,最终通过简单而强大的脚本进行控制。