Lingo软硬件划分 实例

news/2025/3/15 4:35:41/

文章目录

  • 一、SM2 加密算法软硬件划分
    • 1.1 实验目标
    • 1.2 实验过程
      • (1) 综合考虑使得系统整体性能最
      • (2)只考虑硬面积,即系统硬件面积最小
      • (3)只考虑功耗,即系统功耗最小
      • (4)只考虑时间,即系统耗时最小
    • 1.3 实验结论
  • 二、车辆自动变道系统
    • 2.1 实验描述
    • 2.2 实验过程
    • 2.3 实验结论

一、SM2 加密算法软硬件划分

1.1 实验目标

SM2 加密算法每个步骤所需软硬件执行时间、面积及功耗如表 5-7 依据这些数据,系统要求最大硬功耗 P=4.5mw,最大硬件面积 S=12mm2,最大执行时间 T=110s,使用线性规划方法进行软硬件划分,使得执行时间、硬件面积以及功耗的系统整体最小化,以及系统单个性能指标最小化,并求出相应的软硬件划分结果及其性能指标。
在这里插入图片描述

1.2 实验过程

建立线性规划模型:
定义变量簇 X1,X2,X3,X4,X5,X6,X7分别表示点加AddP模块、倍点DoubleP模块、模逆Invmod模块、模乘Mulmod模块、预处理MODN模块、点乘Q=[k]P以及模加减Addmod&Submod模块。
设变量 xij(i=1…7,j=0,1),j=0 表示软实现,j=1 表示硬实现,表示第 i 个 任务是软实现还是硬实现,xij∈{0,1}(i=1…7,j=0/1)。
引入函数:

s=x113.542+x211.881+x310.293+x410.271+x510.109+x615.581+ x715.426; 表示系统硬实现的硬件面积
p=x11
1.338+x211.002+x310.078+x410.123+x510.033+x612.2+ x712.231; 表示系统整体功耗
t=x1011.861+x2011.055+x3048.949+x4042.293+x5023.478+x6032.456+x7010.020+x111.467+x211.038+x310.958+x410.536+x510.342+x611.231+x710.995; 表示系统整体执行时间

变量空间:x10+x11=1;x20+x21=1;x30+x31=1;x40+x41=1;x50+x51=1; x60+x61=1;x70+x71=1;表示变量 xij 的约束条件

Lingo 代码


model: min=s + p + t;s=x11*3.542+x21*1.881+x31*0.293+x41*0.271+x51*0.109+x61*5.581+ x71*5.426;
p=x11*1.338+x21*1.002+x31*0.078+x41*0.123+x51*0.033+x61*2.2+ x71*2.231;
t=x10*11.861+x20*11.055+x30*48.949+x40*42.293+x50*23.478+x60*32.456+x70*10.020+x11*1.467+x21*1.038+x31*0.958+x41*0.536+x51*0.342+x61*1.231+x71*0.995;
s<=12;
p<=4.5;
t<=110;x10+x11=1;
x20+x21=1;
x30+x31=1;
x40+x41=1;
x50+x51=1;
x60+x61=1;
x70+x71=1;
@bin(X10);
@bin(X11);
@bin(X20);
@bin(X21);
@bin(X30);
@bin(X31);
@bin(X40);
@bin(X41);
@bin(X50);
@bin(X51);
@bin(X60);
@bin(X61);
@bin(X70);
@bin(X71);
end

(1) 综合考虑使得系统整体性能最

极值:min=s+p+t;
约束条件: s<=12; p<=4.5; T<=110;
划分解:
x11=x20=x30=x40=x50=x60=x71=0;
x10=x21=x31=x41=x51=x61=x70=1;
软件实现:模块1与7 硬件实现:模块2,3,4,5,6
划分效果
硬面积:8.135 ,功耗3.436, 执行时间:25.986,min = 37.557。
在这里插入图片描述

(2)只考虑硬面积,即系统硬件面积最小

极值:min=s;
约束条件: s<=12; p<=4.5; T<=110;
划分解:
x11=x21=x31=x40=x50=x61=x71=0;
x10=x20=x30=x41=x51=x60=x70=1;
软件实现:模块1,2,4,6,7 硬件实现:模块3,5
划分效果
硬面积:0.402,功耗0.111, 执行时间:108.985。
在这里插入图片描述

(3)只考虑功耗,即系统功耗最小

极值:min=p;
约束条件: s<=12; p<=4.5; T<=110;
划分解:
x11=x21=x30=x41=x50=x61=x71=0;
x10=x20=x31=x40=x51=x60=x70=1;
软件实现:模块1,2,4,6,7 硬件实现:模块3,5
划分效果
功耗0.111,硬面积:0.402, 执行时间:108.985。
在这里插入图片描述

(4)只考虑时间,即系统耗时最小

极值:min=t;
约束条件: s<=12; p<=4.5; T<=110;
划分解:
x10=x21=x30=x40=x50=x60=x71=0;
x11=x20=x31=x41=x51=x61=x70=1;
软件实现:模块2,7 硬件实现:模块1,3,4,5,6
划分效果
执行时间:25.609。功耗3.772,硬面积:9.796。
在这里插入图片描述

1.3 实验结论

同一个系统,针对不同的性能指标,可以划分出不同的结果,我们需要选择适合自己的解决方案。

二、车辆自动变道系统

2.1 实验描述

矩形分别代表车辆 A、B、C(每辆上装有通讯设备和用于信息采集的传感 器),车身长度为图中所示两条红线之间的距离。 当车辆 A 要向右进行变道时,先向车辆 B、C 发送变道请求,打开右转向灯,并收集车辆 B、C 此时的车速、加速度、线段 AB、AC 与平行法线的夹角和距车辆 A 的距离(即线段 AB 和 AC),若车辆 B、C 成功收到请求并将收到信息成功反馈给车辆 A,则车辆 A 查看此时道路环境是否满足变道要求,若满足则进行变道,否则重新发送请求。车辆 A 进行变道时,该系统会控制车辆B不能减速,车辆C不能加速。该自动变道系统由信息采集模块、信息处理模块、 车灯控制模块、车速控制模块、信息接收模块、信息发送模块组成。每个模块有软件执行功耗、硬件执行功耗和硬件执行面积。 使用线性规划方法给出两种解决方案:第一种在硬件面积不超过 1.5mm2、 1.8mm2、2.0mm2 前提下功耗最小解决方案;第二种在整体功耗不超过 2mw、 2.2mw、2.5mw 前提下,硬件面积最小的解决方案。
在这里插入图片描述

2.2 实验过程

建立线性规划模型:
定义变量簇 T1,T2,T3,T4,T5,T6分别表示信息采集模块、信息处理模块、车灯控制模块、车速控制模块、信息接收模块以及信息发送模块。
设变量 xij(i=1…6,j=0,1),j=0 表示软实现,j=1 表示硬实现,表示第 i 个 任务是软实现还是硬实现,xij∈{0,1}(i=1…6,j=0/1)。
引入函数:
s=x110.413+x210.531+x310.216+x410.330+x510.363+x610.424; s表示系统硬实现的硬件面积
p=x100.55+x200.23+x300.22+x400.37+x500.45+x600.39+x110.34+x210.38+x310.17+x410.57+x510.33+x610.27; 表示系统整体功耗
变量空间:
x10+x11=1;x20+x21=1; x30+x31=1;
x40+x41=1;x50+x51=1; x60+x61=1; 表示变量 xij 的约束条件

Lingo 代码


model: min=p;s=x11*0.413+x21*0.531+x31*0.216+x41*0.330+x51*0.363+x61*0.424;      
p=x10*0.55+x20*0.23+x30*0.22+x40*0.37+x50*0.45+x60*0.39+x11*0.34+x21*0.38+x31*0.17+x41*0.57+x51*0.33+x61*0.27;      p<=2.5;x10+x11=1;
x20+x21=1;
x30+x31=1;
x40+x41=1;
x50+x51=1;
x60+x61=1;
@bin(X10);
@bin(X11);
@bin(X20);
@bin(X21);
@bin(X30);
@bin(X31);
@bin(X40);
@bin(X41);
@bin(X50);
@bin(X51);
@bin(X60);
@bin(X61);
end

硬件面积
约束条件/mm2	软实现任务	硬实现任务	系统功耗/mw
1.5	2,4	1,3,5,6	1.71
1.8	2,4	1,3,5,6	1.71
2.0	2,4	1,3,5,6	1.71

功耗
约束条件/mw	软实现任务	硬实现任务	硬件面积/mm2
2	2,3,4,5,6	1	0.413
2.2	1,2,4,5,6	3	0.216
2.5	1,2,3,4,5,6		0

2.3 实验结论

同一个性能指标,不同的约束条件,有可能得到相同的划分结果,也有可能得到不同的结果。


http://www.ppmy.cn/news/410065.html

相关文章

Linux之多线程(下)——线程控制

文章目录 前言一、POSIX线程库1.概念2.pthread线程库是应用层的原生线程库3.错误的检查 二、线程控制1.创建线程——pthread_createpthread_create函数例子创建一个新线程主线程创建一批新线程 2.获取线程ID——pthread_self3.线程等待——pthread_join4.线程终止——return、p…

红米k30pro变焦版与华为nova7pro哪个好

红米K30pro变焦版屏幕方面搭载的是一块6.67英寸的AMOLED的屏幕&#xff0c;分辨率为1080*2400FHD&#xff0c;因为前置的隐藏式摄像头的设计&#xff0c;屏占比极高。拥有月幕白、天际蓝、太空灰、星环紫四种手机机身配色可以选择。 红米K30pro变焦版更多使用感受和评价&#x…

MySQL中的锁(表锁、行锁)

锁是计算机协调多个进程或纯线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源&#xff08;CPU、RAM、I/O&#xff09;的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所在有数据库必须解决的一个问题&am…

Vue中的Ajax 配置代理 slot插槽

4.1.Vue脚手架配置代理 本案例需要下载axios库npm install axios 配置参考文档Vue-Cli devServer.proxy vue.config.js 是一个可选的配置文件&#xff0c;如果项目的 (和 package.json 同级的) 根目录中存在这个文件&#xff0c;那么它会被 vue/cli-service 自动加载。你也可…

Linux 中创建快捷方式命令 ln 详解

前言 在 Linux / Unix 系统中&#xff0c;链接文件提供了一种方便的方式来访问已存在的文件&#xff0c;或者共享一个文件给多个用户。Linux 命令 ln 可以创建两种类型的链接文件&#xff1a;硬链接和符号链接。本文将全面详细讲解 Linux 命令 ln 的使用方法&#xff0c;并且提…

HDU 2154跳舞毯

最简单的dp题目 dp[i][j] j1表示第i步在红色的步数 j2表示第i步在黄色的步数 j3表示第i步在蓝色的步数 对于每次跳到红色的状态有:第i-1必须是在蓝色和黄色的地板上 所以dp[i][1]dp[i-1][2]dp[i-1][3]&#xff1b; 第i步黄色也有dp[i][2]dp[i-1][1]dp[i-1][3]&#xff1…

Homekit智能家居创意DIY之智能吸顶灯

买灯要看什么因素 好灯具的灯光可以说是家居的“魔术师”&#xff0c;除了实用的照明功能外&#xff0c;对细节的把控也非常到位。那么该如何选到一款各方面合适的灯呢&#xff1f; 照度 可以简单理解为清晰度&#xff0c;复杂点套公式来说照度光通量&#xff08;亮度&#…

hd 2154 跳舞毯

跳舞毯 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3247 Accepted Submission(s): 1532 Problem Description 由于长期缺乏运动&#xff0c;小黑发现自己的身材臃肿了许多&#xff0c;于是他想健身&…