"); //-->
特权同学最近在做一个测控设备的项目,因为接口比较多,但协议不复杂,所以主要用FPGA全部搞定。在今后的一些《项目日志》里,不会过多的讨论项目本身的一些细节,只是从大处来分享工作的思路。诸如模块划分,模块细分,设计可验证的考虑,调试的方式,以及详细设计中碰到的一些问题。可能出于时间和成本考虑,很多的调试和验证手段都是最简单轻便的方式。也许这些东西对大家不一定有用,但是对于个人的项目总结、回顾和经验的积累都是很有帮助的。
项目的硬件框图如图1所示。原理图和PCB都绘制完毕,目前处于制板状态。由于这个项目除了上位机软件设计另有其人,其他东西基本是硬件工程师的活,也就是要又特权同学一人全部包办。所以趁着硬件(元器件级)设计空闲的当儿,开始FPGA代码设计。

图1
初步对工程的FPGA设计进行了一下简单的模块划分,如图2所示。可能最终的模块划分会和目前的这个框图有一定的出入,当时基本的思路应该是差不多的。

图2
ModelSim-Altera对于变量(reg,wire)或常量(parameter,`define)的申明必须在使用之前。Quartus II本身各个版本好像一直不是对这个问题有要求,也就是说有些变量或常量的定义可以在使用之后,印象中ISE和ModelSim-Altera一样对这个问题比较敏感。这个问题本身也没有太多可讨论之处,但是项目做多了,需要重用的模块多了,也许您会遇到和我一样的问题,明明我在QII中用得很HIGH的模块,一移植到ISE下不灵了——一大堆的ERROR。不知您是否注意到了,有时候问题也许就出在上面所提到的细节上。这也算是代码风格吧,只不过这是开发工具的不兼容或说是不够智能造成的。我们能做的就是尽量避免这样的麻烦,所以代码书写的风格上也是可以考虑更多的向不够智能一方兼容的。这应该是基于最大限度的让我们的设计模块达到通用性方面考虑的。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
软性印刷电路板简介
模拟精英—与业内专家面对面互联2
重庆汽车行业第37届年会在渝开幕
想创业,才发现自己财务知识一片空白
三极管系列汇总
70MHz晶体振荡器
300kHz信号发生器
TI 重磅推出高性能隔离式电源模块,重新定义数据中心与电动汽车功率密度极限
英飞凌新推出一款12位数字电流监测IC XDM700-1,提供高精度传感与报告功能
70MHz并联晶体振荡器
华清远见嵌入式系统开发课程4
如何在Protel中产生光绘文件?
恩智浦第三代雷达收发器助力高性能成像雷达规模量产,赋能L2+至L4级自动驾驶
56~484高频振荡器
“中国芯”让NC重现江湖
DigiKey 推出《工程技术启钥》视频系列,帮助培养下一代工程师
英飞凌数字电源控制器推出全新产品XDPP1188-200C
如何处理实际布线中的一些理论冲突的问题
日本工业标准--印制线路板通则
华清远见嵌入式系统开发课程5
需求增大 台积电等0.13微米制程产能吃紧
模拟精英—与业内专家面对面互联3
网络广告发展新趋势:大尺寸广告愈受青睐
纳芯微携汽车照明全场景LED驱动解决方案亮相2026ALE
模拟精英—与业内专家面对面互联1
芯科科技闪耀2026嵌入式世界展
全方位解析数字电视
突破 PMU 测量瓶颈:精密 ADC 实现模拟输出精准采集
60MHz晶体振荡器
从控制到智能:TI 推动工业自动化与机器人系统能力升级