OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /or1k/tags/stable/mp3/syn
    from Rev 392 to Rev 1765
    Reverse comparison

Rev 392 → Rev 1765

/synplify/xfpga_top.prj
0,0 → 1,118
#-- Synplicity, Inc.
#-- Version 7.0 Beta3
#-- Project file G:\mp3\simon\or1k\mp3\syn\synplify\xfpga_top.prj
#-- Written on Mon Nov 05 10:27:17 2001
 
 
#add_file options
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/xfpga_top.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/xfpga_defines.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/tcop_top.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/dc_fsm.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/alu.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/cfgr.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/cpu.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/dc.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/dc_ram.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/dc_tag.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/defines.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/dmmu.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/dtlb.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/du.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/except.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/frz_logic.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_dpram_32x32.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_multp2_32x32.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_2048x32.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_2048x8.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_512x19.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_512x20.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_64x14.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_64x21.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_64x23.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_spram_64x37.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/generic_tpram_32x32.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/ic.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/ic_fsm.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/ic_ram.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/ic_tag.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/id.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/ifetch.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/immu.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/itlb.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/lsu.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/mem2reg.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/mult_mac.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/operandmuxes.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/or1200.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/pic.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/pm.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/reg2mem.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/rf.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/sprs.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/tt.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/wb_biu.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/wbmux.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/or1200/xcv_ram32x8d.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/mem_if/flash_top.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/mem_if/sram_top.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/audio/audio_codec_if.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/audio/audio_top.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/audio/audio_wb_if.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/audio/fifo_4095_16.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/audio/fifo_empty_16.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_crc8_d1.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_defines.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_register.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_registers.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_sync_clk1_clk2.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_timescale.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_top.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/dbg_trace.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/timescale.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/ssvga/crtc_iob.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/ssvga/ssvga_crtc.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/ssvga/ssvga_defines.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/ssvga/ssvga_fifo.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/ssvga/ssvga_top.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/ssvga/ssvga_wbm_if.v"
add_file -verilog "G:/mp3/simon/or1k/mp3/rtl/verilog/ssvga/ssvga_wbs_if.v"
add_file -verilog "$LIB/xilinx/virtex.v"
 
#reporting options
 
 
#implementation: "rev_1"
impl -add rev_1
 
#device options
set_option -technology VIRTEX
set_option -part XCV800
set_option -package HQ240
set_option -speed_grade -6
 
#compilation/mapping options
set_option -default_enum_encoding default
set_option -symbolic_fsm_compiler 1
set_option -resource_sharing 1
set_option -top_module "xfpga_top"
 
#map options
set_option -frequency 25.000
set_option -fanout_limit 100
set_option -disable_io_insertion 0
set_option -pipe 1
set_option -modular 0
set_option -retiming 1
 
#simulation options
set_option -write_verilog 0
set_option -write_vhdl 0
 
#automatic place and route (vendor) options
set_option -write_apr_constraint 1
 
#set result format/file last
project -result_file "rev_1/xfpga_top.edf"
set_option -include_path "G:/mp3/simon/or1k/mp3/rtl/verilog/dbg_interface/"
impl -active "rev_1"
synplify/xfpga_top.prj Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: synplify/src/xfpga_top.ucf =================================================================== --- synplify/src/xfpga_top.ucf (nonexistent) +++ synplify/src/xfpga_top.ucf (revision 1765) @@ -0,0 +1,522 @@ +#PINLOCK_BEGIN +NET "rstn" LOC = "P174"; +NET "sw[1]" LOC = "P175"; +NET "sw[2]" LOC = "P176"; +NET "USB_VPO" LOC = "P13"; +NET "USB_VMO" LOC = "P17"; +NET "clk" LOC = "P89"; +NET "vga_pclk" LOC = "P52"; +NET "vga_blank" LOC = "P50"; +NET "vga_hsyncn" LOC = "P48"; +NET "vga_vsyncn" LOC = "P49"; +NET "vga_g[3]" LOC = "P118"; +NET "vga_g[2]" LOC = "P117"; +NET "vga_g[1]" LOC = "P116"; +NET "vga_g[0]" LOC = "P115"; +NET "vga_b[3]" LOC = "P128"; +NET "vga_b[2]" LOC = "P127"; +NET "vga_b[1]" LOC = "P126"; +NET "vga_b[0]" LOC = "P125"; +NET "vga_r[3]" LOC = "P114"; +NET "vga_r[2]" LOC = "P113"; +NET "vga_r[1]" LOC = "P111"; +NET "vga_r[0]" LOC = "P110"; +NET "vga_pclk" FAST; +NET "vga_blank" FAST; +NET "vga_hsyncn" FAST; +NET "vga_vsyncn" FAST; +NET "vga_g[3]" FAST; +NET "vga_g[2]" FAST; +NET "vga_g[1]" FAST; +NET "vga_g[0]" FAST; +NET "vga_b[3]" FAST; +NET "vga_b[2]" FAST; +NET "vga_b[1]" FAST; +NET "vga_b[0]" FAST; +NET "vga_r[3]" FAST; +NET "vga_r[2]" FAST; +NET "vga_r[1]" FAST; +NET "vga_r[0]" FAST; +NET "vga_pclk" DRIVE = 24; +NET "vga_blank" DRIVE = 24; +NET "vga_hsyncn" DRIVE = 24; +NET "vga_vsyncn" DRIVE = 24; +NET "vga_g[3]" DRIVE = 24; +NET "vga_g[2]" DRIVE = 24; +NET "vga_g[1]" DRIVE = 24; +NET "vga_g[0]" DRIVE = 24; +NET "vga_b[3]" DRIVE = 24; +NET "vga_b[2]" DRIVE = 24; +NET "vga_b[1]" DRIVE = 24; +NET "vga_b[0]" DRIVE = 24; +NET "vga_r[3]" DRIVE = 24; +NET "vga_r[2]" DRIVE = 24; +NET "vga_r[1]" DRIVE = 24; +NET "vga_r[0]" DRIVE = 24; +NET "codec_sdin" LOC = "P6"; +NET "codec_mclk" LOC = "P3"; +NET "codec_lrclk" LOC = "P4"; +NET "codec_sclk" LOC = "P5"; +#NET "codec_sdout" LOC = "P7" +NET "codec_sdin" FAST; +NET "codec_mclk" FAST; +NET "codec_lrclk" FAST; +NET "codec_sclk" FAST; +NET "codec_sdin" DRIVE = 24; +NET "codec_mclk" DRIVE = 24; +NET "codec_lrclk" DRIVE = 24; +NET "codec_sclk" DRIVE = 24; +NET "sram_r_d[0]" DRIVE = 24; +NET "sram_r_d[1]" DRIVE = 24; +NET "sram_r_d[2]" DRIVE = 24; +NET "sram_r_d[3]" DRIVE = 24; +NET "sram_r_d[4]" DRIVE = 24; +NET "sram_r_d[5]" DRIVE = 24; +NET "sram_r_d[6]" DRIVE = 24; +NET "sram_r_d[7]" DRIVE = 24; +NET "sram_r_d[8]" DRIVE = 24; +NET "sram_r_d[9]" DRIVE = 24; +NET "sram_r_d[10]" DRIVE = 24; +NET "sram_r_d[11]" DRIVE = 24; +NET "sram_r_d[12]" DRIVE = 24; +NET "sram_r_d[13]" DRIVE = 24; +NET "sram_r_d[14]" DRIVE = 24; +NET "sram_r_d[15]" DRIVE = 24; +NET "sram_r_d[0]" FAST; +NET "sram_r_d[1]" FAST; +NET "sram_r_d[2]" FAST; +NET "sram_r_d[3]" FAST; +NET "sram_r_d[4]" FAST; +NET "sram_r_d[5]" FAST; +NET "sram_r_d[6]" FAST; +NET "sram_r_d[7]" FAST; +NET "sram_r_d[8]" FAST; +NET "sram_r_d[9]" FAST; +NET "sram_r_d[10]" FAST; +NET "sram_r_d[11]" FAST; +NET "sram_r_d[12]" FAST; +NET "sram_r_d[13]" FAST; +NET "sram_r_d[14]" FAST; +NET "sram_r_d[15]" FAST; +NET "sram_r_a[0]" DRIVE = 24; +NET "sram_r_a[1]" DRIVE = 24; +NET "sram_r_a[2]" DRIVE = 24; +NET "sram_r_a[3]" DRIVE = 24; +NET "sram_r_a[4]" DRIVE = 24; +NET "sram_r_a[5]" DRIVE = 24; +NET "sram_r_a[6]" DRIVE = 24; +NET "sram_r_a[7]" DRIVE = 24; +NET "sram_r_a[8]" DRIVE = 24; +NET "sram_r_a[9]" DRIVE = 24; +NET "sram_r_a[10]" DRIVE = 24; +NET "sram_r_a[11]" DRIVE = 24; +NET "sram_r_a[12]" DRIVE = 24; +NET "sram_r_a[13]" DRIVE = 24; +NET "sram_r_a[14]" DRIVE = 24; +NET "sram_r_a[15]" DRIVE = 24; +NET "sram_r_a[16]" DRIVE = 24; +NET "sram_r_a[17]" DRIVE = 24; +NET "sram_r_a[18]" DRIVE = 24; +NET "sram_r_a[0]" FAST; +NET "sram_r_a[1]" FAST; +NET "sram_r_a[2]" FAST; +NET "sram_r_a[3]" FAST; +NET "sram_r_a[4]" FAST; +NET "sram_r_a[5]" FAST; +NET "sram_r_a[6]" FAST; +NET "sram_r_a[7]" FAST; +NET "sram_r_a[8]" FAST; +NET "sram_r_a[9]" FAST; +NET "sram_r_a[10]" FAST; +NET "sram_r_a[11]" FAST; +NET "sram_r_a[12]" FAST; +NET "sram_r_a[13]" FAST; +NET "sram_r_a[14]" FAST; +NET "sram_r_a[15]" FAST; +NET "sram_r_a[16]" FAST; +NET "sram_r_a[17]" FAST; +NET "sram_r_a[18]" FAST; +NET "sram_l_d[0]" DRIVE = 24; +NET "sram_l_d[1]" DRIVE = 24; +NET "sram_l_d[2]" DRIVE = 24; +NET "sram_l_d[3]" DRIVE = 24; +NET "sram_l_d[4]" DRIVE = 24; +NET "sram_l_d[5]" DRIVE = 24; +NET "sram_l_d[6]" DRIVE = 24; +NET "sram_l_d[7]" DRIVE = 24; +NET "sram_l_d[8]" DRIVE = 24; +NET "sram_l_d[9]" DRIVE = 24; +NET "sram_l_d[10]" DRIVE = 24; +NET "sram_l_d[11]" DRIVE = 24; +NET "sram_l_d[12]" DRIVE = 24; +NET "sram_l_d[13]" DRIVE = 24; +NET "sram_l_d[14]" DRIVE = 24; +NET "sram_l_d[15]" DRIVE = 24; +NET "sram_l_d[0]" FAST; +NET "sram_l_d[1]" FAST; +NET "sram_l_d[2]" FAST; +NET "sram_l_d[3]" FAST; +NET "sram_l_d[4]" FAST; +NET "sram_l_d[5]" FAST; +NET "sram_l_d[6]" FAST; +NET "sram_l_d[7]" FAST; +NET "sram_l_d[8]" FAST; +NET "sram_l_d[9]" FAST; +NET "sram_l_d[10]" FAST; +NET "sram_l_d[11]" FAST; +NET "sram_l_d[12]" FAST; +NET "sram_l_d[13]" FAST; +NET "sram_l_d[14]" FAST; +NET "sram_l_d[15]" FAST; +NET "sram_l_a[0]" DRIVE = 24; +NET "sram_l_a[1]" DRIVE = 24; +NET "sram_l_a[2]" DRIVE = 24; +NET "sram_l_a[3]" DRIVE = 24; +NET "sram_l_a[4]" DRIVE = 24; +NET "sram_l_a[5]" DRIVE = 24; +NET "sram_l_a[6]" DRIVE = 24; +NET "sram_l_a[7]" DRIVE = 24; +NET "sram_l_a[8]" DRIVE = 24; +NET "sram_l_a[9]" DRIVE = 24; +NET "sram_l_a[10]" DRIVE = 24; +NET "sram_l_a[11]" DRIVE = 24; +NET "sram_l_a[12]" DRIVE = 24; +NET "sram_l_a[13]" DRIVE = 24; +NET "sram_l_a[14]" DRIVE = 24; +NET "sram_l_a[15]" DRIVE = 24; +NET "sram_l_a[16]" DRIVE = 24; +NET "sram_l_a[17]" DRIVE = 24; +NET "sram_l_a[18]" DRIVE = 24; +NET "sram_l_a[0]" FAST; +NET "sram_l_a[1]" FAST; +NET "sram_l_a[2]" FAST; +NET "sram_l_a[3]" FAST; +NET "sram_l_a[4]" FAST; +NET "sram_l_a[5]" FAST; +NET "sram_l_a[6]" FAST; +NET "sram_l_a[7]" FAST; +NET "sram_l_a[8]" FAST; +NET "sram_l_a[9]" FAST; +NET "sram_l_a[10]" FAST; +NET "sram_l_a[11]" FAST; +NET "sram_l_a[12]" FAST; +NET "sram_l_a[13]" FAST; +NET "sram_l_a[14]" FAST; +NET "sram_l_a[15]" FAST; +NET "sram_l_a[16]" FAST; +NET "sram_l_a[17]" FAST; +NET "sram_l_a[18]" FAST; +NET "sram_l0_wen" DRIVE = 24; +NET "sram_l1_wen" DRIVE = 24; +NET "sram_r0_wen" DRIVE = 24; +NET "sram_r1_wen" DRIVE = 24; +NET "sram_r_oen" DRIVE = 24; +NET "sram_l_oen" DRIVE = 24; +NET "sram_r_cen" DRIVE = 24; +NET "sram_l_cen" DRIVE = 24; +NET "sram_l0_wen" FAST; +NET "sram_l1_wen" FAST; +NET "sram_r0_wen" FAST; +NET "sram_r1_wen" FAST; +NET "sram_r_oen" FAST; +NET "sram_l_oen" FAST; +NET "sram_r_cen" FAST; +NET "sram_l_cen" FAST; +NET "sram_l_a[0]" LOC = "P200"; +NET "sram_l_a[6]" LOC = "P191"; +NET "sram_l_d[14]" LOC = "P223"; +NET "sram_r_d[12]" LOC = "P86"; +NET "sram_l_a[5]" LOC = "P192"; +NET "sram_l_d[3]" LOC = "P206"; +NET "sram_l_d[10]" LOC = "P218"; +NET "sram_l_a[2]" LOC = "P195"; +NET "sram_l_a[1]" LOC = "P199"; +NET "sram_r_a[3]" LOC = "P64"; +NET "sram_r_a[5]" LOC = "P57"; +NET "sram_l_a[3]" LOC = "P194"; +NET "sram_r_a[10]" LOC = "P108"; +NET "sram_r_d[11]" LOC = "P85"; +NET "sram_r_d[13]" LOC = "P87"; +NET "sram_r_d[15]" LOC = "P94"; +NET "sram_r_d[14]" LOC = "P93"; +NET "sram_l_d[2]" LOC = "P205"; +NET "sram_r_a[7]" LOC = "P55"; +NET "sram_l_d[13]" LOC = "P222"; +NET "sram_r_a[6]" LOC = "P56"; +NET "sram_l_a[7]" LOC = "P189"; +NET "sram_l_d[0]" LOC = "P202"; +NET "sram_l_a[10]" LOC = "P238"; +NET "sram_l_d[11]" LOC = "P220"; +NET "sram_r_d[3]" LOC = "P73"; +NET "sram_r_a[0]" LOC = "P67"; +NET "sram_r_d[10]" LOC = "P84"; +NET "sram_l_d[15]" LOC = "P224"; +NET "sram_l_oen" LOC = "P228"; +NET "sram_r_a[1]" LOC = "P66"; +NET "sram_r_a[2]" LOC = "P65"; +NET "sram_r_a[8]" LOC = "P54"; +NET "sram_r_a[15]" LOC = "P100"; +NET "sram_r_a[12]" LOC = "P103"; +NET "sram_r_d[6]" LOC = "P79"; +NET "sram_l_a[8]" LOC = "P188"; +NET "sram_r_a[11]" LOC = "P107"; +NET "sram_r_a[14]" LOC = "P101"; +NET "sram_r_d[8]" LOC = "P81"; +NET "sram_l_a[11]" LOC = "P237"; +NET "sram_r_d[7]" LOC = "P80"; +NET "sram_l1_wen" LOC = "P9"; +NET "sram_r_a[9]" LOC = "P53"; +NET "sram_l_d[9]" LOC = "P217"; +NET "sram_r_a[13]" LOC = "P102"; +NET "sram_r_d[9]" LOC = "P82"; +NET "sram_l_a[9]" LOC = "P187"; +NET "sram_l_d[6]" LOC = "P209"; +NET "sram_l_a[12]" LOC = "P236"; +NET "sram_r_d[5]" LOC = "P78"; +NET "sram_r_oen" LOC = "P95"; +NET "sram_r_d[2]" LOC = "P72"; +NET "sram_l_d[12]" LOC = "P221"; +NET "sram_l_a[4]" LOC = "P193"; +NET "sram_r_a[4]" LOC = "P63"; +NET "sram_l_d[1]" LOC = "P203"; +NET "sram_r_d[1]" LOC = "P71"; +NET "sram_r_d[0]" LOC = "P70"; +NET "sram_l0_wen" LOC = "P201"; +NET "sram_l_d[7]" LOC = "P215"; +NET "sram_l_d[8]" LOC = "P216"; +NET "sram_l_d[4]" LOC = "P207"; +NET "sram_r_d[4]" LOC = "P74"; +NET "sram_l_d[5]" LOC = "P208"; +NET "sram_r_a[18]" LOC = "P96"; +NET "sram_r1_wen" LOC = "P68"; +NET "sram_r0_wen" LOC = "P10"; +NET "sram_l_a[13]" LOC = "P235"; +NET "sram_l_a[17]" LOC = "P230"; +NET "sram_r_cen" LOC = "P109"; +NET "sram_l_a[16]" LOC = "P231"; +NET "sram_r_a[16]" LOC = "P99"; +NET "sram_l_a[18]" LOC = "P229"; +NET "sram_l_a[14]" LOC = "P234"; +NET "sram_l_cen" LOC = "P186"; +NET "sram_l_a[15]" LOC = "P232"; +NET "sram_r_a[17]" LOC = "P97"; +NET "flash_a[15]" LOC = "P155"; +NET "flash_d[7]" LOC = "P124"; +NET "flash_a[17]" LOC = "P149"; +NET "flash_a[14]" LOC = "P159"; +NET "flash_a[4]" LOC = "P144"; +NET "flash_a[9]" LOC = "P160"; +NET "flash_a[5]" LOC = "P147"; +NET "flash_oen" LOC = "P173"; +NET "flash_a[18]" LOC = "P146"; +NET "flash_a[6]" LOC = "P152"; +NET "flash_a[8]" LOC = "P157"; +NET "flash_a[3]" LOC = "P141"; +NET "flash_d[1]" LOC = "P167"; +NET "flash_d[3]" LOC = "P156"; +NET "flash_d[0]" LOC = "P177"; +#NET "flash_rstn" LOC = "P????" +NET "flash_a[12]" LOC = "P168"; +NET "flash_a[7]" LOC = "P154"; +NET "flash_d[2]" LOC = "P163"; +NET "flash_d[4]" LOC = "P145"; +NET "flash_a[10]" LOC = "P162"; +NET "flash_a[16]" LOC = "P153"; +NET "flash_a[0]" LOC = "P132"; +NET "flash_a[13]" LOC = "P161"; +NET "flash_a[1]" LOC = "P133"; +NET "flash_a[11]" LOC = "P169"; +NET "flash_a[2]" LOC = "P139"; +NET "flash_d[5]" LOC = "P138"; +NET "flash_d[6]" LOC = "P134"; +NET "flash_a[20]" LOC = "P140"; +NET "flash_cen" LOC = "P170"; +NET "flash_wen" LOC = "P131"; +NET "flash_a[19]" LOC = "P142"; +NET "flash_a[15]" FAST; +NET "flash_d[7]" FAST; +NET "flash_a[17]" FAST; +NET "flash_a[14]" FAST; +NET "flash_a[4]" FAST; +NET "flash_a[9]" FAST; +NET "flash_a[5]" FAST; +NET "flash_oen" FAST; +NET "flash_a[18]" FAST; +NET "flash_a[6]" FAST; +NET "flash_a[8]" FAST; +NET "flash_a[3]" FAST; +NET "flash_d[1]" FAST; +NET "flash_d[3]" FAST; +NET "flash_d[0]" FAST; +#NET "flash_rstn" LOC = "P????" +NET "flash_a[12]" FAST; +NET "flash_a[7]" FAST; +NET "flash_d[2]" FAST; +NET "flash_d[4]" FAST; +NET "flash_a[10]" FAST; +NET "flash_a[16]" FAST; +NET "flash_a[0]" FAST; +NET "flash_a[13]" FAST; +NET "flash_a[1]" FAST; +NET "flash_a[11]" FAST; +NET "flash_a[2]" FAST; +NET "flash_d[5]" FAST; +NET "flash_d[6]" FAST; +NET "flash_a[20]" FAST; +NET "flash_cen" FAST; +NET "flash_wen" FAST; +NET "flash_a[19]" FAST; +NET "flash_a[15]" DRIVE = 24; +NET "flash_d[7]" DRIVE = 24; +NET "flash_a[17]" DRIVE = 24; +NET "flash_a[14]" DRIVE = 24; +NET "flash_a[4]" DRIVE = 24; +NET "flash_a[9]" DRIVE = 24; +NET "flash_a[5]" DRIVE = 24; +NET "flash_oen" DRIVE = 24; +NET "flash_a[18]" DRIVE = 24; +NET "flash_a[6]" DRIVE = 24; +NET "flash_a[8]" DRIVE = 24; +NET "flash_a[3]" DRIVE = 24; +NET "flash_d[1]" DRIVE = 24; +NET "flash_d[3]" DRIVE = 24; +NET "flash_d[0]" DRIVE = 24; +#NET "flash_rstn" LOC = "P????" +NET "flash_a[12]" DRIVE = 24; +NET "flash_a[7]" DRIVE = 24; +NET "flash_d[2]" DRIVE = 24; +NET "flash_d[4]" DRIVE = 24; +NET "flash_a[10]" DRIVE = 24; +NET "flash_a[16]" DRIVE = 24; +NET "flash_a[0]" DRIVE = 24; +NET "flash_a[13]" DRIVE = 24; +NET "flash_a[1]" DRIVE = 24; +NET "flash_a[11]" DRIVE = 24; +NET "flash_a[2]" DRIVE = 24; +NET "flash_d[5]" DRIVE = 24; +NET "flash_d[6]" DRIVE = 24; +NET "flash_a[20]" DRIVE = 24; +NET "flash_cen" DRIVE = 24; +NET "flash_wen" DRIVE = 24; +NET "flash_a[19]" DRIVE = 24; +NET "cpld_tdo" LOC = "P123"; +NET "cpld_tdo" DRIVE = 24; +NET "cpld_tdo" FAST; +NET "clk" TNM_NET = "clk"; +TIMESPEC "TS_clk" = PERIOD "clk" 45 ns HIGH 50 %; +#NET "sram_r_oen" OFFSET = OUT 10 ns AFTER "clk"; +#NET "sram_l_oen" OFFSET = OUT 10 ns AFTER "clk"; +#NET "sram_r0_wen" OFFSET = OUT 10 ns AFTER "clk"; +#NET "sram_r1_wen" OFFSET = OUT 10 ns AFTER "clk"; +INST "sram_l_a[0].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[1].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[2].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[3].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[4].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[5].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[6].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[7].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[8].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[9].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[10].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[11].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[12].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[13].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[14].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[15].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[16].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[17].PAD" TNM = "SRAM_TN"; +INST "sram_l_a[18].PAD" TNM = "SRAM_TN"; +INST "sram_l_cen.PAD" TNM = "SRAM_TN"; +INST "sram_l_d[0].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[1].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[2].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[3].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[4].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[5].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[6].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[7].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[8].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[9].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[10].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[11].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[12].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[13].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[14].PAD" TNM = "SRAM_TN"; +INST "sram_l_d[15].PAD" TNM = "SRAM_TN"; +INST "sram_l_oen.PAD" TNM = "SRAM_TN"; +INST "sram_l0_wen.PAD" TNM = "SRAM_TN"; +INST "sram_l1_wen.PAD" TNM = "SRAM_TN"; +INST "sram_r_a[0].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[1].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[2].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[3].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[4].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[5].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[6].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[7].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[8].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[9].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[10].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[11].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[12].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[13].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[14].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[15].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[16].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[17].PAD" TNM = "SRAM_TN"; +INST "sram_r_a[18].PAD" TNM = "SRAM_TN"; +INST "sram_r_cen.PAD" TNM = "SRAM_TN"; +INST "sram_r_d[0].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[1].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[2].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[3].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[4].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[5].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[6].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[7].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[8].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[9].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[10].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[11].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[12].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[13].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[14].PAD" TNM = "SRAM_TN"; +INST "sram_r_d[15].PAD" TNM = "SRAM_TN"; +INST "sram_r_oen.PAD" TNM = "SRAM_TN"; +INST "sram_r0_wen.PAD" TNM = "SRAM_TN"; +INST "sram_r1_wen.PAD" TNM = "SRAM_TN"; +#TIMEGRP "SRAM_TN" OFFSET = OUT 10 ns AFTER "clk"; +INST "sram/l_read[0]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[1]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[2]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[3]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[4]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[5]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[6]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[7]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[8]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[9]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[10]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[11]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[12]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[13]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[14]" TNM = "SRAM_DATA_IN"; +INST "sram/l_read[15]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[0]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[1]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[2]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[3]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[4]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[5]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[6]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[7]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[8]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[9]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[10]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[11]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[12]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[13]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[14]" TNM = "SRAM_DATA_IN"; +INST "sram/r_read[15]" TNM = "SRAM_DATA_IN"; +#TIMESPEC "TS_PAD_SRAM_TO_SRAM_DATA_LATCH" = FROM "SRAM_TN" TO "SRAM_DATA_IN" 4 ns; Index: synplify/xfpga_top.prd =================================================================== --- synplify/xfpga_top.prd (nonexistent) +++ synplify/xfpga_top.prd (revision 1765) @@ -0,0 +1,13 @@ +#-- Synplicity, Inc. +#-- Version 7.0 Beta3 +#-- Project file G:\mp3\simon\or1k\mp3\syn\synplify\xfpga_top.prd +#-- Written on Mon Nov 05 10:27:17 2001 + +# +### Watch Implementation type ### +# +watch_impl -active +# +### Watch Implementation properties ### +# +watch_prop -clear
synplify/xfpga_top.prd Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: design_compiler/run/dodesign =================================================================== --- design_compiler/run/dodesign (nonexistent) +++ design_compiler/run/dodesign (revision 1765) @@ -0,0 +1,5 @@ +#!/bin/sh -f + +# nohup dc_shell -f ../bin/top.scr | tee ../log/top.log +dc_shell -f ../bin/top.scr > ../log/top.log +mv command.log ../log
design_compiler/run/dodesign Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: design_compiler/out/README =================================================================== --- design_compiler/out/README (nonexistent) +++ design_compiler/out/README (revision 1765) @@ -0,0 +1 @@ +This directory containts gate-level netlists. Index: design_compiler/bin/cons_vs_umc18.inc =================================================================== --- design_compiler/bin/cons_vs_umc18.inc (nonexistent) +++ design_compiler/bin/cons_vs_umc18.inc (revision 1765) @@ -0,0 +1,50 @@ +/* Constraints */ +CLK_UNCERTAINTY = 0.1 /* 100 ps */ +DFFPQ2_CKQ = 0.2 /* Clk to Q in technology time units */ +DFFPQ2_SETUP = 0.1 /* Setup time in technology time units */ + +/* Clocks constraints */ +create_clock CLK -period CLK_PERIOD +set_clock_skew all_clocks() -uncertainty CLK_UNCERTAINTY +set_dont_touch_network all_clocks() + +/* Reset constraints */ +set_driving_cell -none RST +set_drive 0 RST +set_dont_touch_network RST + +/* All inputs except reset and clock */ +all_inputs_wo_rst_clk = all_inputs() - CLK - RST + +/* Set output delays and load for output signals + * + * All outputs are assumed to go directly into + * external flip-flops for the purpose of this + * synthesis + */ +set_output_delay DFFPQ2_SETUP -clock CLK all_outputs() +set_load load_of(umcl18u250t2_typ/DFFPQ2/D) * 4 all_outputs() + +/* Input delay and driving cell of all inputs + * + * All these signals are assumed to come directly from + * flip-flops for the purpose of this synthesis + * + */ +set_input_delay DFFPQ2_CKQ -clock CLK all_inputs_wo_rst_clk +set_driving_cell -cell DFFPQ2 -pin Q all_inputs_wo_rst_clk + +/* Set design fanout */ +/* +set_max_fanout 10 TOPLEVEL +*/ + +/* Set area constraint */ +set_max_area MAX_AREA + +/* Optimize all near-critical paths to give extra slack for layout */ +c_range = CLK_PERIOD * 0.1 +group_path -critical_range c_range -name CLK -to CLK + +/* Operating conditions */ +set_operating_conditions TYPICAL Index: design_compiler/bin/save_design.inc =================================================================== --- design_compiler/bin/save_design.inc (nonexistent) +++ design_compiler/bin/save_design.inc (revision 1765) @@ -0,0 +1,5 @@ +/* Save current design using synopsys format */ +write -hierarchy -format db -output GATE_PATH + STAGE + _ + TOPLEVEL + .db + +/* Save current design using verilog format */ +write -hierarchy -format verilog -output GATE_PATH + STAGE + _ + TOPLEVEL + .v Index: design_compiler/bin/tech_vs_umc18.inc =================================================================== --- design_compiler/bin/tech_vs_umc18.inc (nonexistent) +++ design_compiler/bin/tech_vs_umc18.inc (revision 1765) @@ -0,0 +1,16 @@ +/* Set Virtual Silicon UMC 0.18u standard cell library */ + +search_path = {. /libs/Virtual_silicon/UMCL18U250D2_2.1/design_compiler/ } +snps = get_unix_variable("SYNOPSYS") +synthetic_library = { \ + snps + "/libraries/syn/dw01.sldb" \ + snps + "/libraries/syn/dw02.sldb" \ + snps + "/libraries/syn/dw03.sldb" \ + snps + "/libraries/syn/dw04.sldb" \ + snps + "/libraries/syn/dw05.sldb" \ + snps + "/libraries/syn/dw06.sldb" \ + snps + "/libraries/syn/dw07.sldb" } +target_library = { umcl18u250t2_typ.db } +link_library = target_library + synthetic_library +symbol_library = { umcl18u250t2.sdb } + Index: design_compiler/bin/reports.inc =================================================================== --- design_compiler/bin/reports.inc (nonexistent) +++ design_compiler/bin/reports.inc (revision 1765) @@ -0,0 +1,10 @@ +/* Basic reports */ +report_area > LOG_PATH + STAGE + _ + TOPLEVEL + _area.log +report_timing -nworst 10 > LOG_PATH + STAGE + _ + TOPLEVEL + _timing.log +report_hierarchy > LOG_PATH + STAGE + _ + TOPLEVEL + _hierarchy.log +report_resources > LOG_PATH + STAGE + _ + TOPLEVEL + _resources.log +report_constraint > LOG_PATH + STAGE + _ + TOPLEVEL + _constraint.log +/* +report_power > LOG_PATH + STAGE + _ + TOPLEVEL + _power.log +*/ + Index: design_compiler/bin/top.scr =================================================================== --- design_compiler/bin/top.scr (nonexistent) +++ design_compiler/bin/top.scr (revision 1765) @@ -0,0 +1,64 @@ +/* + * User defines for synthesizing RTC IP core + * + */ +TOPLEVEL = xfpga_top +include ../bin/select_tech.inc +CLK = clk +RST = rstn +CLK_PERIOD = 5 /* 200 MHz */ +MAX_AREA = 0 /* Push hard */ +DO_UNGROUP = yes /* yes, no */ +DO_VERIFY = yes /* yes, no */ + +/* Starting timestamp */ +sh date + +/* Set some basic variables related to environment */ +include ../bin/set_env.inc +STAGE = final + +/* Load libraries */ +include ../bin/tech_ + TECH + .inc + +/* Load HDL source files */ +include ../bin/read_design.inc > LOG_PATH + read_design_ + TOPLEVEL + .log + +/* Set design top */ +current_design TOPLEVEL + +/* Link all blocks and uniquify them */ +link +uniquify +check_design > LOG_PATH + check_design_ + TOPLEVEL + .log + +/* Apply constraints */ +if (TECH == "vs_umc18") { + include ../bin/cons_vs_umc18.inc +} else if (TECH == "art_umc18") { + include ../bin/cons_art_umc18.inc +} else { + echo "Error: Unsupported technology" + exit +} + +/* Lets do basic synthesis */ +if (DO_UNGROUP == "yes") { + ungroup -all +} +compile -boundary_optimization -map_effort low + +/* Dump gate-level from incremental synthesis */ +include ../bin/save_design.inc + +/* Generate reports for incremental synthesis */ +include ../bin/reports.inc + +/* Verify design */ +if (DO_VERIFY == "yes") { + compile -no_map -verify > LOG_PATH + verify_ + TOPLEVEL + .log +} + +/* Finish */ +sh date +exit Index: design_compiler/bin/select_tech.inc =================================================================== --- design_compiler/bin/select_tech.inc (nonexistent) +++ design_compiler/bin/select_tech.inc (revision 1765) @@ -0,0 +1,5 @@ +/* Defaults */ + +TECH = vs_umc18 /* vs_umc18, art_umc18 */ +CLK_PERIOD = 5 /* 200 MHz */ +MAX_AREA = 0 /* Push hard */ Index: design_compiler/bin/set_env.inc =================================================================== --- design_compiler/bin/set_env.inc (nonexistent) +++ design_compiler/bin/set_env.inc (revision 1765) @@ -0,0 +1,20 @@ +/* Enable Verilog HDL preprocessor */ +hdlin_enable_vpp = true + +/* Set log path */ +LOG_PATH = "../log/" + +/* Set gate-level netlist path */ +GATE_PATH = "../out/" + +/* Set RAMS_PATH */ +RAMS_PATH = "../../../lib/" + +/* Set RTL source path */ +RTL_PATH = { "../../../rtl/verilog/", "../../../rtl/verilog/audio/", \ + "../../../rtl/verilog/dbg_interface/", "../../../rtl/verilog/or1200/", \ + "../../../rtl/verilog/mem_if/", "../../../rtl/verilog/ssvga/" } + +/* Optimize adders */ +synlib_model_map_effort = high +hlo_share_effort = medium Index: design_compiler/bin/read_design.inc =================================================================== --- design_compiler/bin/read_design.inc (nonexistent) +++ design_compiler/bin/read_design.inc (revision 1765) @@ -0,0 +1,87 @@ +/* Set search path for verilog include files */ +search_path = search_path + RTL_PATH + { GATE_PATH } + +/* Read verilog files of the RTC IP core */ +if (TOPLEVEL == "xfpga_top") { + read -f verilog tcop_top.v + read -f verilog xfpga_top.v + + read -f verilog audio_codec_if.v + read -f verilog audio_top.v + read -f verilog audio_wb_if.v + read -f verilog fifo_4095_16.v + read -f verilog fifo_empty_16.v + + read -f verilog dbg_crc8_d1.v + read -f verilog dbg_defines.v + read -f verilog dbg_register.v + read -f verilog dbg_registers.v + read -f verilog dbg_sync_clk1_clk2.v + read -f verilog dbg_timescale.v + read -f verilog dbg_top.v + read -f verilog dbg_trace.v + + read -f verilog flash_top.v + read -f verilog sram_top.v + + read -f verilog alu.v + read -f verilog cfgr.v + read -f verilog cpu.v + read -f verilog dc.v + read -f verilog dc_fsm.v + read -f verilog dc_ram.v + read -f verilog dc_tag.v + read -f verilog defines.v + read -f verilog dmmu.v + read -f verilog dtlb.v + read -f verilog du.v + read -f verilog except.v + read -f verilog frz_logic.v + read -f verilog generic_dpram_32x32.v + read -f verilog generic_multp2_32x32.v + read -f verilog generic_spram_2048x32.v + read -f verilog generic_spram_2048x8.v + read -f verilog generic_spram_512x19.v + read -f verilog generic_spram_512x20.v + read -f verilog generic_spram_64x14.v + read -f verilog generic_spram_64x21.v + read -f verilog generic_spram_64x23.v + read -f verilog generic_spram_64x37.v + read -f verilog generic_tpram_32x32.v + read -f verilog ic.v + read -f verilog ic_fsm.v + read -f verilog ic_ram.v + read -f verilog ic_tag.v + read -f verilog id.v + read -f verilog ifetch.v + read -f verilog immu.v + read -f verilog itlb.v + read -f verilog lsu.v + read -f verilog mem2reg.v + read -f verilog mult_mac.v + read -f verilog operandmuxes.v + read -f verilog or1200.v + read -f verilog pic.v + read -f verilog pm.v + read -f verilog reg2mem.v + read -f verilog rf.v + read -f verilog sprs.v + read -f verilog tt.v + read -f verilog wb_biu.v + read -f verilog wbmux.v + + read -f verilog xcv_ram32x8d.v + + read -f verilog crtc_iob.v + read -f verilog ssvga_crtc.v + read -f verilog ssvga_defines.v + read -f verilog ssvga_fifo.v + read -f verilog ssvga_top.v + read -f verilog ssvga_wbm_if.v + read -f verilog ssvga_wbs_if.v + +} else { + echo "Non-existing top level." + exit +} + Index: design_compiler/bin/cons_art_umc18.inc =================================================================== --- design_compiler/bin/cons_art_umc18.inc (nonexistent) +++ design_compiler/bin/cons_art_umc18.inc (revision 1765) @@ -0,0 +1,50 @@ +/* Constraints */ +CLK_UNCERTAINTY = 0.1 /* 100 ps */ +DFFHQX2_CKQ = 0.2 /* Clk to Q in technology time units */ +DFFHQX2_SETUP = 0.1 /* Setup time in technology time units */ + +/* Clocks constraints */ +create_clock CLK -period CLK_PERIOD +set_clock_skew all_clocks() -uncertainty CLK_UNCERTAINTY +set_dont_touch_network all_clocks() + +/* Reset constraints */ +set_driving_cell -none RST +set_drive 0 RST +set_dont_touch_network RST + +/* All inputs except reset and clock */ +all_inputs_wo_rst_clk = all_inputs() - CLK - RST + +/* Set output delays and load for output signals + * + * All outputs are assumed to go directly into + * external flip-flops for the purpose of this + * synthesis + */ +set_output_delay DFFHQX2_SETUP -clock CLK all_outputs() +set_load load_of(typical/DFFHQX2/D) * 1 all_outputs() + +/* Input delay and driving cell of all inputs + * + * All these signals are assumed to come directly from + * flip-flops for the purpose of this synthesis + * + */ +set_input_delay DFFHQX2_CKQ -clock CLK all_inputs_wo_rst_clk +set_driving_cell -cell DFFHQX2 -pin Q all_inputs_wo_rst_clk + +/* Set design fanout */ +/* +set_max_fanout 10 TOPLEVEL +*/ + +/* Set area constraint */ +set_max_area MAX_AREA + +/* Optimize all near-critical paths to give extra slack for layout */ +c_range = CLK_PERIOD * 0.05 +group_path -critical_range c_range -name CLK -to CLK + +/* Operating conditions */ +set_operating_conditions typical Index: design_compiler/bin/tech_art_umc18.inc =================================================================== --- design_compiler/bin/tech_art_umc18.inc (nonexistent) +++ design_compiler/bin/tech_art_umc18.inc (revision 1765) @@ -0,0 +1,17 @@ +/* Set Artisan Sage-X UMC 0.18u standard cell library */ + +search_path = {. /libs/Artisan/aci/sc-x/synopsys/ } + \ + { /libs/Artisan/aci/sc-x/symbols/synopsys/ } +snps = get_unix_variable("SYNOPSYS") +synthetic_library = { \ + snps + "/libraries/syn/dw01.sldb" \ + snps + "/libraries/syn/dw02.sldb" \ + snps + "/libraries/syn/dw03.sldb" \ + snps + "/libraries/syn/dw04.sldb" \ + snps + "/libraries/syn/dw05.sldb" \ + snps + "/libraries/syn/dw06.sldb" \ + snps + "/libraries/syn/dw07.sldb" } +target_library = { typical.db } +link_library = target_library + synthetic_library +symbol_library = { umc18.sdb } +

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.