好的設計習慣 II

本文分享了在Verilog编程中的一些重要观念与建议,强调了技巧应用的合理性,如正确处理时钟树平衡、避免随意调整时钟速度、合理使用约束、避免复杂难以解析的代码风格、减少latch使用等,旨在帮助新手工程师避免常见错误,提升代码质量。

剛來乍到的工程師,常常會寫一些很炫的技巧,來實現他的硬體設計。我覺得很好,也可以讓我多學學不同的技巧,也是不錯。但是,常常在我問過一些問題後,我就不知道該怎麼說他了。

 

在這兒想分享一些觀念,希望能有所幫助。

1. 技巧很重要,但是如果你不知道在synthesis階段時,應該要寫什麼樣子的constrainsynthesize你的程式時,建議不要使用,因為你會讓你的整合工程師頭很大。

2. balance clock tree的觀念很重要,請不要告訴你的整合工程師說,你的clock tree 就是要 no balancetiming才會是對的。數位工程師所有的想法都是在balance tree底下設計。只有少數非常特例,才會想要用不balance tree來實作硬體。但那是有特別的流程的。如果你不知道怎麼做,建議不要使用,以免增加你的整合工程師的困擾!

3. 請不要自己自動加快或是變慢clock速度。這種coding styleconstrain很難寫,而且很怕你沒有做cross clock domain處理,整合工程師又不知道,然後simulation時出現一大堆meta-stable;或是synthesis時有一大堆register no constrain的報告要看。

4.如果你的負責的方塊(block)裏,有兩個以上的clock domain。如果它們之間有訊號的往來時,請一定做cross clock domain處理。

5.請別把一堆東西寫在同一個always內,然後當我問「那它的netlist長什麼樣子時?」結果卻回答我「誰知道,那麼複雜」。如果不知道,請別用,用那種你知道netlist長什麼樣子的coding style好嗎?

6. 請儘量別用latch,因為它的timing不好分析,建議用D-flip-flop就好;STA比較好看懂

 

以上是一些在寫verilog的習慣,希望對初學者能有所幫助。

 

转载于:https://www.cnblogs.com/orchid123/p/3543336.html

计及源荷不确定性的综合能源生产单元运行调度与容量配置优化研究(Matlab代码实现)内容概要:本文围绕“计及源荷不确定性的综合能源生产单元运行调度与容量配置优化”展开研究,利用Matlab代码实现相关模型的构建与仿真。研究重点在于综合能源系统中多能耦合特性以及风、光等可再生能源出力和负荷需求的不确定性,通过鲁棒优化、场景生成(如Copula方法)、两阶段优化等手段,实现对能源生产单元的运行调度与容量配置的协同优化,旨在提高系统经济性、可靠性和可再生能源消纳能力。文中提及多种优化算法(如BFO、CPO、PSO等)在调度与预测中的应用,并强调了模型在实际能源系统规划与运行中的参考价值。; 适合人群:具备一定电力系统、能源系统或优化理论基础的研究生、科研人员及工程技术人员,熟悉Matlab编程和基本优化工具(如Yalmip)。; 使用场景及目标:①用于学习和复现综合能源系统中考虑不确定性的优化调度与容量配置方法;②为含高比例可再生能源的微电网、区域能源系统规划设计提供模型参考和技术支持;③开展学术研究,如撰写论文、课题申报时的技术方案借鉴。; 阅读建议:建议结合文中提到的Matlab代码和网盘资料,先理解基础模型(如功率平衡、设备模型),再逐步深入不确定性建模与优化求解过程,注意区分鲁棒优化、随机优化与分布鲁棒优化的适用场景,并尝试复现关键案例以加深理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值