Skip to content

Commit

Permalink
still refactor in progress
Browse files Browse the repository at this point in the history
  • Loading branch information
daquintero committed Jun 15, 2024
1 parent c01e9bd commit 78e096e
Show file tree
Hide file tree
Showing 28 changed files with 36 additions and 140 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -521,4 +521,16 @@ class TransientTb:

# ## 5a. Putting it all together

# #### A DAC-Driven Mixed Signal Simulation

# #### Automation

# Now, these transient simulations are something you might want to very configure depending on the type of signals that you might want to verify. However, we can provide some basic parameterised simple functions such as step responses and so on. So instead of having to write everything above, you can also just run the following.

# One desired output of an electrical model simulation is an extraction of the power consumption of the circuit. Fundamentally, this is dependent on the time and the operation performed. Hence, to estimate an average power consumption, it is more effective to define the power consumption of a particular operation, and extract the power consumption for the frequency at which this operation is performed.
#
# In this case, we are defining the energy of the operation at particular nodes of the circuit. For example, we know a resisitve heater will dissipate all of its current consumption as thermal power. However, we also need to evaluate the whole circuit. We can know how much energy our DC or RF power supply is providing by measuring the voltage and current supplied accordingly. In a digital circuit, depending on the frequency of the operation, we know how often there is a signal rise and fall, in both cases forcing digital transistors to operate in the linear regime and consuming more power than in saturation mode. We also need to account the range of time the signals are in saturation mode, as even in CMOS idle state there is a minimal power consumption that is important as the circuit scales into VLSI/EP.
#
# Note that through the SPICE simulations, we can extract the energy required at each operation with greater accuracy than analytically and the complexity of this is configuring the testbench appropriately in order to account for this.

# ## 5b. What comes next?
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
full_flow_demo
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#!/bin/bash
# Makefile
SIM ?= icarus
TOPLEVEL_LANG ?= verilog
VERILOG_SOURCES += /home/daquintero/phd/piel_private/docs/examples/10_demo_full_flow/full_flow_demo/full_flow_demo/src/truth_table_module.v
TOPLEVEL := top
MODULE := test_top
include $(shell cocotb-config --makefiles)/Makefile.sim
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
cd /home/daquintero/phd/piel_private/docs/examples/10_demo_full_flow/full_flow_demo/full_flow_demo/tb;
make
cd /home/daquintero/phd/piel_private/docs/examples/10_demo_full_flow/full_flow_demo/full_flow_demo/tb;
make
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/usr/bin/env python
from distutils.core import setup

setup(
name="full_flow_demo",
version="0.0.1",
description="Example empty piel project.",
author="Dario Quintero",
author_email="[email protected]",
url="https://github.com/daquintero/piel",
packages=["full_flow_demo"],
)

This file was deleted.

This file was deleted.

This file was deleted.

11 changes: 0 additions & 11 deletions docs/examples/10_demo_full_flow/full_flow_demo/setup.py

This file was deleted.

2 changes: 1 addition & 1 deletion docs/resources/fsic_2024_presentation/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Outline
- Was working on quantum photonic systems and it was a massive pain to simulate how the system behaved.
- TODO possibly talk about design flows if need be
- Let's go through an example.
- Create a 10_full_flow example.
- Finish 07_full_flow_electronic_photonic_demo.
- Say, we have an optical function we want to demonstrate or implement, extract the logic for that.
- Go through the flow of implementing that logic via amaranth, syntheziging that logic via openlane, extracting performance parameters accordingly, modelling the analog amplifier accordingly and implementing it via gdsfactory with sky130
- Model the component with analog, digital circuits simulators accordingly. In the future, add the mixed-signal with full-concurrency for photonic time-domain signals.
Expand Down

0 comments on commit 78e096e

Please sign in to comment.