# Constrained Optimization of FPGA Design for Spaceborne InSAR Processing
## 4 System Analysis under Double Constraints  
### Design Method Based on Gradient Descent Theory  
In FPGA design, the high processing capacity can be achieved by increasing resources with the parallel structure. Yet, there are conflicts between resources and processing capacity. Therefore, it is necessary to solve the following optimization problem: when faced with different constraints, including requirement and environment restrictions, how can one build a balanced system that can meet the requirements of quick data processing and reduce resource usage to a great extent. Balance in this paper primarily referred to the trade-off between resources and processing capacity. The strength of balance is reflected by the quantitative relationship between resources and processing capacity. The dual-constraint problem is described below by analyzing the relationship between processing time and resources. The relationship between processing capacity and resources is nonlinear--resources are allocated to different processes, including computing, controlling, communicating, etc., which means that only part of the resources could be used to improve processing capacity. According to the optimization model, as described by Formula (4), the relationship between resources and time could be described similarly as in Formula (6):  
\[ \begin{array}{ll}\text{Objective functions}:&MIN\ F(R_{j},T_{j})\\ &g_{i}\left(R_{j},T_{j}\right)\geq 0\\ \text{Constraints}&R_{j}\leq R_{0}\ i=1,2,\ldots\ldots\,m\\ &T_{j}\leq T_{0}\ j=1,2,\ldots\ldots\,n\end{array}  \tag{6}\]  
For structure \(j\), \(R_{j}\) represents the used resources, and \(T_{j}\) represents the consumed time. In other words, different structures contain different \(R_{j}\) and \(T_{j}\). The constraint of resources \(R_{0}\) represents the total amount of resources, and the constraint of time \(T_{0}\) comes from application requirements. In engineering, it is difficult to illustrate the objective function in specific formulae. Therefore, we could not directly express it in mathematical formulae like Formula (5). However, the idea of gradient descent from optimization theory can be brought into system design. Supposing there are \(n\) schemes in FPGA design, the consumed time and critical resources are \(T_{1}\), \(R_{1}\), \(T_{2}\), \(R_{2}\), \(\ldots\)\(T_{n}\), \(R_{n}\), etc. \(R_{0}\) is the resource in FPGA and \(T_{0}\) is the system processing time. The FPGA schemes could be mapped into a two-dimensional space of \(R\) and \(T\), where discrete points represent the schemes. The gradient between the pointscould be defined as \(\
abla G\), expressed as Formula (7). \(\Delta R\) represents the absolute difference in resources between schemes; \(\Delta T\) represents the absolute difference in time; \(\
abla G\) represents the difference in system effect between resources and processing capacity:  
\[\
abla G=\frac{\Delta R/R_{0}}{\Delta T/T_{0}} \tag{7}\]  
We defined \(\gamma\) as \(\gamma=\Delta R/R_{0}\), which meant the impact of changing partial resources on the total resources. Similarly, we defined \(\beta\) as \(\beta=\Delta T/T_{0}\), which represented the effect of the changing partial time on the entire system time. Since the FPGA contained various resources, the total amount of resource \(R_{0}\) could represent different types of resources. However, the total system time \(T_{0}\) was not a constant and would vary according to the different design. To realize fast processing, the analysis process of the proposed method in the two-dimensional \(R\)-\(T\) space was as follows:  
1. Given that the physical constraints and time constraints are met (i.e., \(R_{j}\leq R_{0}\), \(T_{j}\leq T_{0}\)), \(m\) initial points (\(R_{j}\),\(T_{j}\)) are obtained through synthesis and estimation, \(1\leq j\leq n\) and \(j\in Z\). 2.