OSDN Git Service

commit test bench files
authorbols <bols-blue@lnc.jp>
Wed, 10 Aug 2011 09:39:36 +0000 (18:39 +0900)
committerbols <bols-blue@lnc.jp>
Wed, 10 Aug 2011 09:39:36 +0000 (18:39 +0900)
USB_Keybord_MAX3421E/.project [new file with mode: 0644]
USB_Keybord_MAX3421E/Makefile [deleted file]
USB_Keybord_MAX3421E/SPI_controler.nsl [deleted file]
USB_Keybord_MAX3421E/src/SPI_controler_tb.sc [new file with mode: 0644]
USB_Keybord_MAX3421E/src/tb.v [new file with mode: 0644]

diff --git a/USB_Keybord_MAX3421E/.project b/USB_Keybord_MAX3421E/.project
new file mode 100644 (file)
index 0000000..87c8482
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>\r
+<projectDescription>\r
+       <name>USB_Keybord_MAX3421E</name>\r
+       <comment></comment>\r
+       <projects>\r
+       </projects>\r
+       <buildSpec>\r
+               <buildCommand>\r
+                       <name>jp.co.overtone.nslplugin_core.NSLToVerilogProjectBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>jp.co.overtone.nslplugin_core.NSLToVHDLProjectBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+               <buildCommand>\r
+                       <name>jp.co.overtone.nslplugin_core.NSLToSystemCProjectBuilder</name>\r
+                       <arguments>\r
+                       </arguments>\r
+               </buildCommand>\r
+       </buildSpec>\r
+       <natures>\r
+               <nature>jp.co.overtone.nslplugin_core.NSLPlojectNature</nature>\r
+       </natures>\r
+</projectDescription>\r
diff --git a/USB_Keybord_MAX3421E/Makefile b/USB_Keybord_MAX3421E/Makefile
deleted file mode 100644 (file)
index 9ae9207..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-SRCS=\
-SPI_controler.nsl
-
-SC_SRCS=$(patsubst %.nsl,%.sc,$(filter %.nsl,$(SRCS)))
-
-.SUFFIXES: .o .sc .nsl
-
-all:create_sc
-       echo $(SC_SRCS)
-
-create_sc:$(SC_SRCS)
-
-.nsl.sc:
-       nsl2sc $<
diff --git a/USB_Keybord_MAX3421E/SPI_controler.nsl b/USB_Keybord_MAX3421E/SPI_controler.nsl
deleted file mode 100644 (file)
index 52d99e9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-declare spi_controler{
-       input send_data[8];
-       output resv_data[8];
-       func_in send();
-       func_in read_MOSI();
-       func_in write_MOSO(send_data);
-}
-module spi_controler{
-       reg output_data[8];
-       reg input_data[8];
-       reg work_flg;
-}
diff --git a/USB_Keybord_MAX3421E/src/SPI_controler_tb.sc b/USB_Keybord_MAX3421E/src/SPI_controler_tb.sc
new file mode 100644 (file)
index 0000000..93c67c1
--- /dev/null
@@ -0,0 +1,59 @@
+/*\r
+ Produced by NSL Core(version=20101103), IP ARCH, Inc. Wed Aug 10 18:37:57 2011\r
+ Licensed to :LIMITED EVALUATION USER:\r
+*/\r
+#include <systemc.h>\r
+#include "spi_controler.sc"\r
+#include <stdlib.h>\r
+sc_clock m_clock("m_clock",10,0.5,0,false);\r
+sc_signal<bool> p_reset;\r
+sc_signal<sc_uinit<8> > send_data;\r
+sc_signal<sc_uinit<8> > resv_data;\r
+sc_signal<sc_uint<1> > send;\r
+sc_signal<sc_uint<1> > read_MOSI;\r
+sc_signal<sc_uint<1> > write_MOSO;\r
+\r
+spi_controler spi_controler("spi_controler");\r
+\r
+static int ctrl_clock=0;\r
+SC_MODULE (c_clock) {\r
+       sc_in<bool> m_clock;\r
+       void do_reset() {\r
+               ctrl_clock++;\r
+               if(ctrl_clock==0) p_reset=1;\r
+               if(ctrl_clock==1) p_reset=0\r
+       }\r
+       SC_CTOR(c_clock) {\r
+               SC_METHOD(do_reset);\r
+               sensitive << m_clock.pos();\r
+       }\r
+};\r
+\r
+int sc_main(int argc, char *argv[])\r
+{\r
+       int stop;\r
+       if(argc>1 && (stop=atoi(argv[1])<=0)) stop=1000;\r
+       sc_trace_file *tf = sc_create_vcd_trace_file("spi_controler");\r
+       sc_trace(tf,spi_controler.p_reset,"spi_controler.p_reset");\r
+       sc_trace(tf,spi_controler.m_clock,"spi_controler.m_clock");\r
+       sc_trace(tf,spi_controler.send_data,"spi_controler.send_data");\r
+       sc_trace(tf,spi_controler.resv_data,"spi_controler.resv_data");\r
+       sc_trace(tf,spi_controler.send,"spi_controler.send");\r
+       sc_trace(tf,spi_controler.read_MOSI,"spi_controler.read_MOSI");\r
+       sc_trace(tf,spi_controler.write_MOSO,"spi_controler.write_MOSO");\r
+       c_clock cclk("cclk");\r
+       cclk.m_clock(m_clock);\r
+       spi_controler.p_reset(p_reset);\r
+       spi_controler.m_clock(m_clock);\r
+       spi_controler.send_data(send_data);\r
+       spi_controler.resv_data(resv_data);\r
+       spi_controler.send(send);\r
+       spi_controler.read_MOSI(read_MOSI);\r
+       spi_controler.write_MOSO(write_MOSO);\r
+       sc_start(stop, SC_NS);\r
+       sc_close_vcd_trace_file(tf)\r
+}\r
+/*\r
+ Produced by NSL Core(version=20101103), IP ARCH, Inc. Wed Aug 10 18:37:57 2011\r
+ Licensed to :LIMITED EVALUATION USER:\r
+*/\r
diff --git a/USB_Keybord_MAX3421E/src/tb.v b/USB_Keybord_MAX3421E/src/tb.v
new file mode 100644 (file)
index 0000000..e5e5382
--- /dev/null
@@ -0,0 +1,51 @@
+/*\r
+ Produced by NSL Core(version=20101103), IP ARCH, Inc. Wed Aug 10 17:45:54 2011\r
+ Licensed to :LIMITED EVALUATION USER:\r
+*/\r
+\r
+\r
+`timescale     1ns / 1ps\r
+`default_nettype none\r
+\r
+\r
+//synthesis translate_off\r
+module tb;\r
+       parameter tCYC=2;\r
+       parameter tPD=(tCYC/10);\r
+\r
+       reg p_reset;\r
+       reg m_clock;\r
+       reg [7:0] send_data;\r
+       wire [7:0] resv_data;\r
+       reg send;\r
+       reg read_MOSI;\r
+       reg write_MOSO;\r
+\r
+       spi_controler spi_controler_instance(\r
+               .p_reset(p_reset),\r
+               .m_clock(m_clock),\r
+               .send_data(send_data),\r
+               .resv_data(resv_data),\r
+               .send(send),\r
+               .read_MOSI(read_MOSI),\r
+               .write_MOSO(write_MOSO)\r
+       );\r
+\r
+       initial forever #(tCYC/2) m_clock = ~m_clock;\r
+\r
+       initial begin\r
+               $dumpfile("spi_controler.vcd");\r
+               $dumpvars(0,spi_controler_instance);\r
+       end\r
+\r
+       initial begin\r
+               #(tPD)\r
+                       p_reset = 1;\r
+                       m_clock = 0;\r
+               #(tCYC)\r
+                       p_reset = 0;\r
+       end\r
+\r
+endmodule\r
+\r
+//synthesis translate_on\r