- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563346 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174227
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
1 N+ P7 I! j- P# g* {. T" g2 ^# y建模规范
1 \/ V) @) P6 m1 S! g3 p建模其实很自由的一项编码方式,不要太多的语法知识,简单接触过后就可以搭建功能复杂的模型生成代码供工程使用了。但是不按照一定的规范建模,结果很可能搭出来的模型可读性差、执行效率低、代码臃肿。而建模规范去一条一条的学习,枯燥不说效率也很低下。比较好的方式可以直接借助于tool来建模使之搭建的更有水平,同时学习建模规范。 * _; w1 f: Q' ^; y1 }
使用的工具就是model advisor中的 MAAB检查, 7 J8 t7 ?! C: P: P5 u% b. T- z
4 N4 k2 i8 _7 J3 P+ I( c, D
![]()
3 {! f i) y+ }3 Y' X( o界面如下:。
- e( `0 a6 {; @0 A0 ` & n; z/ Z' |6 h& k3 U2 _
这里需要注意的是,warning项可以不修改,但必须作出说明。我比较关注的规则是Check for mixing basic blocks and subsystems,这个和架构有很大关系,对可读性有很大影响,主要的要求就是模型要有层次性,不同层级之间不允许值传递。其它具体的规则就不赘言了,我相信经过几次检查后会对建模习惯产生很大的影响的。
) D0 q) i9 E0 G. @6 w& G' n补充另外一项检查Code Generation Advisor:
1 ~) ^* r( K7 I! o% L8 \) {, D3 V
5 E$ Y* u/ J" t& K; h! q, Z 。 2 H0 r( y: @: M6 ]6 d
通过该检查可以进行如下优化 , I9 l( m2 W- x7 x& F
Execution efficiency 1 _& Z5 B" s8 M
ROM efficiency ; f7 a4 h! Y+ V$ F
RAM efficiency + \- _4 V' b# s; A) P9 T! H; |# G
Traceability
# w9 B9 m+ `, YSafety precaution
3 H5 n4 ^+ P0 l2 l1 T: E' o9 LDebugging , y( g9 W: \2 g; X4 g
MISRA-C:2004 guidelines + T' W$ e S" l1 {0 |2 o# z, Y: U4 ]* I
Polyspace ! }/ P2 u" z3 I/ ^% r/ P2 f( { \
界面如下图
$ Q) Q0 r4 j6 w+ A- ?) e% |1 \) Q& D5 S) Y6 Z& R
。 3 y- }: f9 O2 p5 q3 x
这里需要说明的是有些优化是相冲突的,比如说既想保持高的执行效率,又想占用较少的空间,这往往是很难实现的。 ) j m! v2 N6 L4 J
Note
1 d8 R, L8 ]) f, `8 n! u4 D前面有提到过模型设置的问题,我相信通过几次advisor的检查,我们对设置的理解会更深刻一些,可以设置的更加符合我们的意图。% c' ?2 O; J2 w5 J
---------------------
, P2 {; E0 X" e. m2 x+ l% C作者:modolllee
0 K* Q3 ~& W5 N5 _% L来源:CSDN
0 ^* v( d$ c. D4 @5 o$ J$ s/ `! U4 O: Q# [9 f
6 f0 C% Q/ f E$ j* l1 o+ T- H* ~9 H! T/ \+ |% g0 E( D3 x0 A* [. n
|
zan
|