aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorNiels Moseley <n.a.moseley@moseleyinstruments.com>2019-03-27 15:15:53 +0100
committerNiels Moseley <n.a.moseley@moseleyinstruments.com>2019-03-27 15:15:53 +0100
commit487cb45b87ce1cbcc8c2b8127e37d85dd192dceb (patch)
treeb94e88d08574cf3ee10b8a7c0449b85fae75ca94 /tests
parent7682629b79fd59f5ed49fb35a3a2441a405bfd63 (diff)
downloadyosys-487cb45b87ce1cbcc8c2b8127e37d85dd192dceb.tar.gz
yosys-487cb45b87ce1cbcc8c2b8127e37d85dd192dceb.tar.bz2
yosys-487cb45b87ce1cbcc8c2b8127e37d85dd192dceb.zip
Liberty file parser now accepts superfluous ;
Diffstat (limited to 'tests')
-rw-r--r--tests/liberty/normal.lib3
-rw-r--r--tests/liberty/processdefs.lib48
-rw-r--r--tests/liberty/semicolextra.lib48
3 files changed, 97 insertions, 2 deletions
diff --git a/tests/liberty/normal.lib b/tests/liberty/normal.lib
index 1474e2b59..4621194dd 100644
--- a/tests/liberty/normal.lib
+++ b/tests/liberty/normal.lib
@@ -142,8 +142,7 @@ library(supergate) {
}
/* D-type flip-flop with asynchronous reset and preset */
- cell (dff)
- {
+ cell (dff) {
area : 6;
ff("IQ", "IQN") {
next_state : "D";
diff --git a/tests/liberty/processdefs.lib b/tests/liberty/processdefs.lib
new file mode 100644
index 000000000..37a6bbaf8
--- /dev/null
+++ b/tests/liberty/processdefs.lib
@@ -0,0 +1,48 @@
+/********************************************/
+/* */
+/* Supergate cell library for Bench marking */
+/* */
+/* Symbiotic EDA GmbH / Moseley Instruments */
+/* Niels A. Moseley */
+/* */
+/* Process: none */
+/* */
+/* Date : 25-03-2019 */
+/* Version: 1.0 */
+/* */
+/********************************************/
+
+library(processdefs) {
+ technology (cmos);
+ revision : 1.0;
+
+ time_unit : "1ps";
+ pulling_resistance_unit : "1kohm";
+ voltage_unit : "1V";
+ current_unit : "1uA";
+
+ capacitive_load_unit(1,ff);
+
+ default_inout_pin_cap : 7.0;
+ default_input_pin_cap : 7.0;
+ default_output_pin_cap : 0.0;
+ default_fanout_load : 1.0;
+
+ default_wire_load_capacitance : 0.1;
+ default_wire_load_resistance : 1.0e-3;
+ default_wire_load_area : 0.0;
+
+ nom_process : 1.0;
+ nom_temperature : 25.0;
+ nom_voltage : 1.2;
+
+ delay_model : generic_cmos;
+
+ define_cell_area(bond_pads,pad_slots)
+ input_voltage(cmos) {
+ vil : 0.3 * VDD ;
+ vih : 0.7 * VDD ;
+ vimin : -0.5 ;
+ vimax : VDD + 0.5 ;
+ }
+}
diff --git a/tests/liberty/semicolextra.lib b/tests/liberty/semicolextra.lib
new file mode 100644
index 000000000..0144fa3ac
--- /dev/null
+++ b/tests/liberty/semicolextra.lib
@@ -0,0 +1,48 @@
+/*
+
+ Test case for https://www.reddit.com/r/yosys/comments/b5texg/yosys_fails_to_parse_apparentlycorrect_liberty/
+
+ fall_constraint (SETUP_HOLD) formatting.
+
+*/
+
+library(supergate) {
+ technology (cmos);
+ revision : 1.0;
+
+ cell (DFF) {
+ cell_footprint : dff;
+ area : 50;
+ pin(D) {
+ direction : input;
+ capacitance : 0.002;
+ timing() {
+ related_pin : "CK";
+ timing_type : setup_rising;
+
+ fall_constraint (SETUP_HOLD) { values ("0.4000, 0.3000, 0.2000, 0.1000, 0.0000", \
+ "0.4000, 0.3000, 0.2000, 0.1000, 0.000", \
+ "0.5000, 0.4000, 0.3000, 0.2000, 0.0000", \
+ "0.7000, 0.6000, 0.5000, 0.4000, 0.2000", \
+ "1.0000, 1.0000, 0.9000, 0.8000, 0.6000"); } ;
+ }
+ }
+
+ pin(CK) {
+ direction : input;
+ clock : true;
+ capacitance : 0.00290;
+ }
+
+ ff(IQ,IQN) {
+ clocked_on : "CK";
+ next_state : "D";
+ }
+ pin(Q) {
+ direction : output;
+ capacitance : 0.003;
+ max_capacitance : 0.3;
+ }
+ cell_leakage_power : 0.3;
+ }
+}