|  | <!--- | 
|  | # SPDX-FileCopyrightText: 2020 Efabless Corporation | 
|  | # | 
|  | # Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | # you may not use this file except in compliance with the License. | 
|  | # You may obtain a copy of the License at | 
|  | # | 
|  | #      http://www.apache.org/licenses/LICENSE-2.0 | 
|  | # | 
|  | # Unless required by applicable law or agreed to in writing, software | 
|  | # distributed under the License is distributed on an "AS IS" BASIS, | 
|  | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | # See the License for the specific language governing permissions and | 
|  | # limitations under the License. | 
|  | # | 
|  | # SPDX-License-Identifier: Apache-2.0 | 
|  | --> | 
|  |  | 
|  | The qflow directory entries are only used to verify the all-digital frequency | 
|  | locked loop circuit by running the verilog modules ring_osc2x13 and | 
|  | digital_pll_controller seperately through synthesis. | 
|  |  | 
|  | The ring_osc2x13 module is all gate-level except for a small amount of trivial | 
|  | glue logic, so the fact that it is synthesized in qflow instead of openlane | 
|  | (with a different setup passed to yosys) does not change the core part of the | 
|  | ring oscillator that needs to be simulated.  The synthesis results in a SPICE | 
|  | netlist that can be simulated. | 
|  |  | 
|  | For the digital_pll_controller, it is only needed to have a functional xspice | 
|  | circuit of the digital part that can be used in the ngspice simulation. | 
|  |  | 
|  | See the caravel/ngspice/digital_pll directory for the ngspice simulations. | 
|  |  | 
|  | None of the files in this tree are used for the actual synthesis, placement, | 
|  | and routing.  The source files for qflow are pointers back to the verilog | 
|  | module files in caravel/verilog/rtl/ directory. | 
|  |  | 
|  | Qflow was only run through the "synthesis" stage to obtain the necessary | 
|  | netlists.  These can be recreated on demand from qflow, so the required | 
|  | netlists were copied back to caravel/ngspice/digital_pll and the qflow | 
|  | directory cleaned out. | 
|  |  | 
|  | To reproduce the results, it is necessary to have the "tech" directory as a | 
|  | symbolic link pointing to the open_pdks installation of sky130A. |