본문 바로가기

Programming/프로그래밍

플로리안(Flowrian) 사용법 - Verilog Design

반응형


 

논리회로 설계 제작 툴
플로리안 사용 방법

 

 

1. Flowrian

1. Workspace 생성
① [File] - [New workspce] → (미리 C폴더 안에 "Flowrian폴더" 만든 후 아래처럼)
Workspace Name : Flowrian → 예) WEEK02
Workspace Folder : C\Flowrian → 예) C\Flowrian\WEEK02
② [File] - [Save workspce] → 저장해서 해당 경로에 .fws 파일 생성

2. Project 생성
① Workspace에서 우클릭 - [Add new project] → 예)week02 (Type은 Verilog Design)
(생성이 되면 week02 프로젝트 폴더에 .fprj 파일이 생성됨)
② 하나 이상의 프로젝트가 있을 때, 프로젝트 우클릭 후 → [Set Project Active] 활성화

 

 

 

2. Schmian 회로도 생성

1. 회로도 생성
① Flowrian에서 [Excute] - [Schematic Editor] 실행
② [File] - [New] 새 파일 생성 → 예)week02_1 (Type은 Verilog Design)

2. 회로도 작성

3. 회로도 저장 및 변환
① [Export] - [Verilog] - [ISim] 실행 → 저장하면 .v 파일 생성(즉, 회로도를 HDL 파일로 변환 후 저장)
② [Save] 해서 회로도(.sch)를 저장

 

 

 

다시 1. Flowrian

1. 프로젝트에 라이브러리 추가
① 프로젝트명 week02내에 Include폴더 우클릭 - [Add Existing File] 실행
② C:\Program Files\System Centroid\Flowrian R7\Library\PNULib\sourses
경로 내 모든 .v 파일 선택 - 열기

2. 프로젝트에 작성한 모듈 추가
① 프로젝트의 Verilog 폴더에서 우클릭 - [Add Existing File] 실행
② Schmian에서 작성 한 .v 로 변환한 파일을 선택
③ 프로젝트 우클릭 - [Analyze All] 실행
( _analyze 라는 폴더가 생김 → 그 폴더 안에 모듈을 해석한 내용이 .psr 파일로 저장됨)

 

 

 

3. Stimulian 모듈 테스트벤치

1. 모듈 테스트벤치 작성
① Flowrian에서 [Excute] - [Stimulus Editor] 실행
② Stimulian에서 [File] - [Synchronize] 실행
 .psr 파일 선택
④ 파형 (high, low) or 우클릭(Clock, Auto Generate) 신호 지정
⑤ [File] - [Export] - [Verilog] 실행 → HDL(.v)파일로 변환하여 저장
(파일명은 "모듈명_tb.v" 파일로 정해짐)

 

 

 

또 다시 1. Flowrian

1. Stimulian에서 작성한 테스트벤치 파일 추가
① 프로젝트 안에 Verilog 폴더 우클릭 → [Add Existing File] 선택
 모듈명_tb.v 파일 선택
③ 프로젝트명 클릭 → [Analyze All] 실행

2. 테스트벤치 컴파일
① [Service] - [Compile - ISim] 실행
② Top Module에 컴파일 할 테스트벤치 (모듈명_tb) 선택
③ 라이브러리 - PNULib 선택 → Execute 실행

3. 테스트벤치 시뮬레이션
① [Service] - [Simulate - ISim] 실행
② Top Module에 컴파일 할 테스트벤치 (모듈명_tb) 선택
③ 라이브러리 - PNULib 선택
④ Instance Tree 에서 +모듈명_tb 더블클릭
⑤ Probes 에서 포트만 남기고 나머지는 삭제 → Execute 실행
모듈명_tb.vcd 파일이 생성됨

 

 

 

4. Wavian 파형 확인

1. Wavian 파형 확인
 .vcd 파일 더블 클릭하면 → Wavian 실행
② Wavian에서 돋보기 = 클릭해서 파형을 확인

 

 

 

5. Symbolian 심벌 생성

처음 Flowrian 에서 Symbolian 실행
① 프로젝트명 우클릭 → [Analyze All] 실행
② [Execute] - [Symbol Editor] 클릭

1. Symbolian 심벌 생성
① Symbolian 실행 화면 → [File] - [Synchronize] 클릭
② Symbol로 만들 .psr파일 선택 → 바로 Symbol 생성됨

2. Symbol 저장
① [File] - [Save As] 선택
② .icn파일 저장

3. Symbol 사용
① Schmian에 자동으로 .icn파일이 추가됨 (새 파일로 열어야 함)
② 드래그해서 일반 게이트와 같은 방법으로 사용 가능

참고로, Symbol 로 작업된 .v파일을 프로젝트 안에 Verilog 폴더 우클릭 → [Add Existing File] 선택 추가(사용된 .v파일 모두 추가)
예) week04_4.v에 심볼(week04_4.icn)이 있다면 week04_5를 할때 week04_5프로젝트에
week04_4.v와 week04_5.v(& week04_5_tb.v)를 같이 추가되어야 함

 

 

 

6. Stadian을 이용한 FSM 설계

처음 Flowrian 에서 Stadian 실행
① [Execute] - [State Diagram Editor] 클릭
② Stadian 툴 실행됨

 

1. 상태도 생성
① [File] - [New State Map] 실행
② Schmian 회로도 생성하듯이 신규 회로도 생성

2. 상태도 설정
 Clock 포트 설정 - 포트명, 타입, Edge 방식 Rising Edge
 Reset 포트 설정 - 포트명, 타입, Edge 방식 Active High
포트 설정(기타 입력 및 출력 포트) - 예) Din → singlebit , in / Dout → multibit , out

 

3. 상태도 작성
① 클락, 리셋 외에 상태(S) 추가
② 오브젝트들을 우클릭해서 전이(T) 추가

 

4. 상태도 작성
① 상태(S)를 더블클릭하면 상태 진입 동작Actions(출력) 기술
② 전이(T)를 더블클릭하면 전이조건 Conditions(입력)과 동작Actions(출력) 기술
: 전이 조건(입력) 예 - C언어의 if문의 괄호()안 내용 처럼... Ce == 1
: 동작(출력) 예 - C언어의 문장처럼 세미콜론(;)으로 마무리... Addr <= 3;
Moore machine : 전이 조건만 / Mealy machine : 전이 조건 + 동작

Moore Machine : 출력이 현재 상태에 의해서만 결정 (Giltch issue 없이 안정적)
Mealy Machine : 출력이 현재 상태와 입력 모두에 의해서 결정 (Giltch issue 문제)

5. .v파일 생성 및 변환
① [Export] - [Verilog] 실행하여 .v파일 생성
② .std 파일도 따로 저장
③ 이후 과정은 Schmian 실행과정처럼 Stimulian 모듈 테스트벤치 .td파일도 생성하고
④ Wavian 파형 확인 wcs도 확인하면 됨
⑤ 심볼(.icn)도 생성하고.. 등 동일 방식으로 진행하여 결과 확인 마무리

 

 


 

 

p.s) Schmian 오류 생길 시 프로세스 강제 종료하는 방법

 

 

: window + R 눌러 cmd창에서 아래 처럼 명령어 사용하면 됩니다.

 

taskkill /f /im "Schmian.exe"

 

 


 

p.s2) stadian에서 기존 심볼 불러오기는
C:\Program Files\...생략... 위에 Working Path폴더 안에 icn파일들이 들어있는게 보여여 하는데,, 만약 안 보이면, icn파일들을 Workspace Folder에 다 들어있는지 보고 stadian 프로그램을 새로 다시 열면 나타남..
심볼 이름이 바꿨을 경우에는 Flowrian에서 .v파일을 열어서 소스 내용중에 바뀐 심볼 이름으로 변경 후 stadian 새로 다시 열면 적용됨...

 

 

반응형

위로 가기