Perl은 스크립트 베이스로 움직이는 아주 쉬운 랭귀지중 하나입니다.
그냥 예전의 Basic처럼 풀어쓴다는 느낌으로 사용하며, 원래 목적은 스트링을 쉽게 처리하기 위한 것이 목적인 언어입니다.
SoC의 테스트 환경을 빌드 할 경우에도,
PERL->PLI->Verilog
와 같이 하여서 몇가지 트릭으로 Command를 만들고, 보내기도 하기 때문에 유용하게 쓰일때가 많이 있습니다.
사실 저는 Makefile 신봉주의자에 가까워서, 모든 것을 Makefile로 해결하였습니다. 하지만 떄떄로 시뮬레이션할때 상호간에 Interactive한 환경을 빌드 할 경우 몇가지 옵션을 만들어서 해결해야 하는 것이어서, 사실상 그때마다, Makefile내에 새로운 Target을 지정하여 사용하였습니다.
이런 방식은
TCL/TK -> Makefile @ Multi Target
정도로 표현이 가능하겠습니다.
예를 들어서 언제 써먹냐 하면 SoC내의 부팅 옵션을 틀리게 지정하고 싶은 경우에
Make NANDBootSIM 을 하면 NAND Boot 되는 옵션으로 세팅되면서 시뮬레이션을 돌리지만,
그때마다 다른 조건들을 맞추어주거나 조건의 배열을 만들어주어야 하는 불편함도 좀 있습니다.
그래서 좀더 유연한 확장을 위해서 Makefile+Perl을 같이 사용하기 위해서 Perl환경을 꾸며보기로 했습니다.
명색이 그래도 그냥 Perl을 사용하긴 싫고 하여 Perl/Tk도 같이 붙여서 사용하는것이 좋을 듯 하였습니다.
시뮬레이션은 MAC에서 하지는 않지만, 그래도 Perl/Tk 스크립트를 짜고 간단한 테스트를 하는 것은 MacBook에서 수행해기 때문에 MAC에도 빌드해 두어야 할 필요성이 생겼습니다.
다행히 Perl자체는 이미 Leopard에 포함되어 있어서 사용에는 아무런 문제가 없습니다.
일단 코드는 아래 사이트에서 받아 볼 수 있습니다.
http://search.cpan.org/~srezic/Tk-804.028_501/
다운로드 받아서 빌드를 하면 잘 풀어집니다.
perl Makefile.PL
make
sudo make install
로 하면 잘 풀어서 컴파일이 됩니다.
중간 중간에 경고나 에러가 뜨는데, 그런것에 대해서 일일이 반응하시지 마시고 무시하고 진행하면 됩니다.
용법은 단순합니다. perl 스크립트의 시작시에 다음과 같이 한 줄을 넣으면 됩니다.
use Tk;
다음은 예제 스크립트입니다.
my $mw = MainWindow->new;
$mw->Label(-text => 'Hello I\'m Perl/Tk !')->pack;
$mw->Button(
-text => 'Quit',
-command => sub { exit },
)->pack;
MainLoop;
test.pl이라는 이름으로 저장하고요
perl test.pl
을 하면 다음과 같이 창이 나타납니다.
tk는 좀 그렇다 치더라도
대량의 테스트 패턴을 인터렉트브한 상황에서 만들어야 할 경우 PLI/C도 유용한 환경입니다.
하지만 그때마다 PLI를 만드는것 보다는 Perl Script로 만들어서 동작시키는 것도 좋습니다.
'MAC Life' 카테고리의 다른 글
바텍이 Things 로 옮겼네요 (0) | 2010.03.21 |
---|---|
산호세 애플샵 (0) | 2010.02.28 |
SIGGRAPH [2] (0) | 2009.08.07 |
CUDA on MAC OS (0) | 2009.06.23 |
맥에서 프로파일링 하기 (0) | 2009.06.18 |