From 495a813b4d67d93a27f5a26bb5e8a0393db0acbb Mon Sep 17 00:00:00 2001 From: bols Date: Wed, 10 Aug 2011 18:39:36 +0900 Subject: [PATCH] commit test bench files --- USB_Keybord_MAX3421E/.project | 27 +++++++++++++ USB_Keybord_MAX3421E/Makefile | 14 ------- USB_Keybord_MAX3421E/SPI_controler.nsl | 12 ------ USB_Keybord_MAX3421E/src/SPI_controler_tb.sc | 59 ++++++++++++++++++++++++++++ USB_Keybord_MAX3421E/src/tb.v | 51 ++++++++++++++++++++++++ 5 files changed, 137 insertions(+), 26 deletions(-) create mode 100644 USB_Keybord_MAX3421E/.project delete mode 100644 USB_Keybord_MAX3421E/Makefile delete mode 100644 USB_Keybord_MAX3421E/SPI_controler.nsl create mode 100644 USB_Keybord_MAX3421E/src/SPI_controler_tb.sc create mode 100644 USB_Keybord_MAX3421E/src/tb.v diff --git a/USB_Keybord_MAX3421E/.project b/USB_Keybord_MAX3421E/.project new file mode 100644 index 0000000..87c8482 --- /dev/null +++ b/USB_Keybord_MAX3421E/.project @@ -0,0 +1,27 @@ + + + USB_Keybord_MAX3421E + + + + + + jp.co.overtone.nslplugin_core.NSLToVerilogProjectBuilder + + + + + jp.co.overtone.nslplugin_core.NSLToVHDLProjectBuilder + + + + + jp.co.overtone.nslplugin_core.NSLToSystemCProjectBuilder + + + + + + jp.co.overtone.nslplugin_core.NSLPlojectNature + + diff --git a/USB_Keybord_MAX3421E/Makefile b/USB_Keybord_MAX3421E/Makefile deleted file mode 100644 index 9ae9207..0000000 --- a/USB_Keybord_MAX3421E/Makefile +++ /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 index 52d99e9..0000000 --- a/USB_Keybord_MAX3421E/SPI_controler.nsl +++ /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 index 0000000..93c67c1 --- /dev/null +++ b/USB_Keybord_MAX3421E/src/SPI_controler_tb.sc @@ -0,0 +1,59 @@ +/* + Produced by NSL Core(version=20101103), IP ARCH, Inc. Wed Aug 10 18:37:57 2011 + Licensed to :LIMITED EVALUATION USER: +*/ +#include +#include "spi_controler.sc" +#include +sc_clock m_clock("m_clock",10,0.5,0,false); +sc_signal p_reset; +sc_signal > send_data; +sc_signal > resv_data; +sc_signal > send; +sc_signal > read_MOSI; +sc_signal > write_MOSO; + +spi_controler spi_controler("spi_controler"); + +static int ctrl_clock=0; +SC_MODULE (c_clock) { + sc_in m_clock; + void do_reset() { + ctrl_clock++; + if(ctrl_clock==0) p_reset=1; + if(ctrl_clock==1) p_reset=0 + } + SC_CTOR(c_clock) { + SC_METHOD(do_reset); + sensitive << m_clock.pos(); + } +}; + +int sc_main(int argc, char *argv[]) +{ + int stop; + if(argc>1 && (stop=atoi(argv[1])<=0)) stop=1000; + sc_trace_file *tf = sc_create_vcd_trace_file("spi_controler"); + sc_trace(tf,spi_controler.p_reset,"spi_controler.p_reset"); + sc_trace(tf,spi_controler.m_clock,"spi_controler.m_clock"); + sc_trace(tf,spi_controler.send_data,"spi_controler.send_data"); + sc_trace(tf,spi_controler.resv_data,"spi_controler.resv_data"); + sc_trace(tf,spi_controler.send,"spi_controler.send"); + sc_trace(tf,spi_controler.read_MOSI,"spi_controler.read_MOSI"); + sc_trace(tf,spi_controler.write_MOSO,"spi_controler.write_MOSO"); + c_clock cclk("cclk"); + cclk.m_clock(m_clock); + spi_controler.p_reset(p_reset); + spi_controler.m_clock(m_clock); + spi_controler.send_data(send_data); + spi_controler.resv_data(resv_data); + spi_controler.send(send); + spi_controler.read_MOSI(read_MOSI); + spi_controler.write_MOSO(write_MOSO); + sc_start(stop, SC_NS); + sc_close_vcd_trace_file(tf) +} +/* + Produced by NSL Core(version=20101103), IP ARCH, Inc. Wed Aug 10 18:37:57 2011 + Licensed to :LIMITED EVALUATION USER: +*/ diff --git a/USB_Keybord_MAX3421E/src/tb.v b/USB_Keybord_MAX3421E/src/tb.v new file mode 100644 index 0000000..e5e5382 --- /dev/null +++ b/USB_Keybord_MAX3421E/src/tb.v @@ -0,0 +1,51 @@ +/* + Produced by NSL Core(version=20101103), IP ARCH, Inc. Wed Aug 10 17:45:54 2011 + Licensed to :LIMITED EVALUATION USER: +*/ + + +`timescale 1ns / 1ps +`default_nettype none + + +//synthesis translate_off +module tb; + parameter tCYC=2; + parameter tPD=(tCYC/10); + + reg p_reset; + reg m_clock; + reg [7:0] send_data; + wire [7:0] resv_data; + reg send; + reg read_MOSI; + reg write_MOSO; + + spi_controler spi_controler_instance( + .p_reset(p_reset), + .m_clock(m_clock), + .send_data(send_data), + .resv_data(resv_data), + .send(send), + .read_MOSI(read_MOSI), + .write_MOSO(write_MOSO) + ); + + initial forever #(tCYC/2) m_clock = ~m_clock; + + initial begin + $dumpfile("spi_controler.vcd"); + $dumpvars(0,spi_controler_instance); + end + + initial begin + #(tPD) + p_reset = 1; + m_clock = 0; + #(tCYC) + p_reset = 0; + end + +endmodule + +//synthesis translate_on -- 2.11.0