ѡ Edit=>Search , Add Criteria ,ãѡaplly ѡ Replace All
߲˳
ڰ˲ abstractmux⡣Ȼmuxģcore뵽blockУmuxȻcell=>move=>block=>OK
ھŲGDSͼlabelȻQ鿴Properityʲô㣬Ȼ
netProperityʲô㣬Լʲôpurposepin庬Ҫabstract UG
<1>
Map text labels to pins
㣺METAL3Purpose
Map text labels to pins дʽοabstract UG
<2>
<3>
<4> Export lef
<5>鿴abstract.lefûVDDVSS
֮ǵõһģlefļǾģһεá
9macroΪһģһtopнеá
һǻǻصۺϣһtoptopµܣ֮ǰmuxģ飬PADģ顣ƵĴſͼ£
PDIDGZΪIO PDO04CDGΪIO PVDD1DGZ ΪPADߵ PVSS1DGZ ΪPADĵص MultipleΪ֮ǰĺģ MuxΪ¼
ڶĸд
±дverilog루PADPADۺиôԲ˿ڵΪPADѾܴˣۺϳĽӽʵʡ µverilog£
module mux_1 (clk,clr,a,b,y);//µעmux_1֮ǰûϵֻΪֵùϵӵһѣ input clk,clr; input [7:0] a,b; output [15:0] y; reg [15:0] y;
always @(posedge clk) begin
if(!clr)
begin
y<=0; end else begin
y<=a*b; end end
endmodule module
PAD(clk_pcb,clk_core,clr_pcb,clr_core,data1_pcb,data1_core,data2_pcb,data2_core,dataout_core,dataout_pcb);PADģ飬עǰĿͼμӵģ input clk_pcb,clr_pcb; output clk_core ,clr_core;
input [7:0] data1_pcb,data2_pcb; output [7:0] data1_core,data2_core; input [15:0] dataout_core; output [15:0] dataout_pcb;
PDIDGZ PAD_CLK (.PAD(clk_pcb),.C(clk_core)); PDIDGZ PAD_CLR (.PAD(clr_pcb),.C(clr_core));
PDIDGZ PAD_DATA1_0 (.PAD(data1_pcb[0]),.C(data1_core[0])); PDIDGZ PAD_DATA1_1 (.PAD(data1_pcb[1]),.C(data1_core[1])); PDIDGZ PAD_DATA1_2 (.PAD(data1_pcb[2]),.C(data1_core[2])); PDIDGZ PAD_DATA1_3 (.PAD(data1_pcb[3]),.C(data1_core[3])); PDIDGZ PAD_DATA1_4 (.PAD(data1_pcb[4]),.C(data1_core[4])); PDIDGZ PAD_DATA1_5 (.PAD(data1_pcb[5]),.C(data1_core[5])); PDIDGZ PAD_DATA1_6 (.PAD(data1_pcb[6]),.C(data1_core[6])); PDIDGZ PAD_DATA1_7 (.PAD(data1_pcb[7]),.C(data1_core[7])); PDIDGZ PAD_DATA2_0 (.PAD(data2_pcb[0]),.C(data2_core[0])); PDIDGZ PAD_DATA2_1 (.PAD(data2_pcb[1]),.C(data2_core[1])); PDIDGZ PAD_DATA2_2 (.PAD(data2_pcb[2]),.C(data2_core[2])); PDIDGZ PAD_DATA2_3 (.PAD(data2_pcb[3]),.C(data2_core[3])); PDIDGZ PAD_DATA2_4 (.PAD(data2_pcb[4]),.C(data2_core[4])); PDIDGZ PAD_DATA2_5 (.PAD(data2_pcb[5]),.C(data2_core[5])); PDIDGZ PAD_DATA2_6 (.PAD(data2_pcb[6]),.C(data2_core[6])); PDIDGZ PAD_DATA2_7 (.PAD(data2_pcb[7]),.C(data2_core[7]));
PDO04CDG PAD_DATAOUT_0 (.I(dataout_core[0]),.PAD(dataout_pcb[0])); PDO04CDG PAD_DATAOUT_1 (.I(dataout_core[1]),.PAD(dataout_pcb[1])); PDO04CDG PAD_DATAOUT_2 (.I(dataout_core[2]),.PAD(dataout_pcb[2])); PDO04CDG PAD_DATAOUT_3 (.I(dataout_core[3]),.PAD(dataout_pcb[3])); PDO04CDG PAD_DATAOUT_4 (.I(dataout_core[4]),.PAD(dataout_pcb[4])); PDO04CDG PAD_DATAOUT_5 (.I(dataout_core[5]),.PAD(dataout_pcb[5])); PDO04CDG PAD_DATAOUT_6 (.I(dataout_core[6]),.PAD(dataout_pcb[6]));