Verwendeter Programmcode in Studienarbeit für ESY1B zum Thema "Verifikation mit SystemVerilog und Python"
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

#demo.va# 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Simulation EPaper Cell
  2. `include "disciplines.vams"
  3. `include "constants.vams"
  4. `include "otft.va"
  5. module am_epd_pixel(gate, source, n);
  6. electrical gate, source, n;
  7. ground n;
  8. electrical v_cell;
  9. // v_cell ist am drain vom oTFT
  10. oTFT tft1(gate, source, v_cell);
  11. resistor #(.r(67.445e9)) EPDload(v_cell, n);
  12. capacitor #(.c(8.6e-12)) CS(v_cell, n);
  13. endmodule // am_epd_pixel
  14. module demo;
  15. electrical v_gate, v_source, gnd;
  16. ground gnd;
  17. parameter real on_V = 0.0;
  18. parameter real off_V = 7.5;
  19. parameter real on_T = 0.5m;
  20. parameter real off_T = 16.7m-on_T;
  21. parameter real startDelay = 1m;
  22. // Puls-Quelle
  23. /*prameters expected for 'pulse' are '[dc] [mag [phase]] val0 val1 [td [rise [fall [width [period]]]]] */
  24. vpulse #(.val0(off_V), .val1(on_V), .td(startDelay), .rise(1n), .fall(1n), .width(on_T), .period(on_T + off_T)) PL(v_gate, gnd);
  25. parameter real on_V2 = 5.0;
  26. parameter real off_V2 = 0.0;
  27. parameter real on_T2 = 3m;
  28. parameter real off_T2 = 16.7m-on_T2;
  29. parameter real startDelay2 = 0;
  30. vpulse #(.val0(off_V2), .val1(on_V2), .td(startDelay2), .rise(1n), .fall(1n), .width(on_T2), .period(on_T2 + off_T2)) PL2(v_source, gnd);
  31. // Pixel
  32. am_epd_pixel pixel1(v_gate, v_source, gnd);
  33. endmodule // demo