베릴로그 프리젠테이션 파일 보다 신기한거 발견
concatenation operator는 말그대로 합체! 하는 연산자 인데
일반적인 프로그래밍 언어라면 불가능하지만
하드웨어 배선으로는 너무나 쉬운 데이터끼리 붙이는 연산자이다.
가장 쉬운 활용예로는 Adder에서 Carry bit
r_VAL_1을 MSB 쪽으로 r_VAL_2를 LSB 쪽으로 붙여서 01111100 으로 만드는 연산자이다.
단, 부족한(?) 선은 0으로 대체 하는 듯
근데.. 이거 몇개 까지 붙일 수 있을지 궁금하네?
reg [3:0] r_VAL_1 = 4'b0111; reg [3:0] r_VAL_2 = 4'b1100; wire [7:0] w_CAT; assign w_CAT = {r_VAL_1, r_VAL_2}; |
[링크 : https://www.nandland.com/verilog/examples/example-concatenation-operator.html]
Relication operator는 복제하는 녀석인데
비트 연산으로 이걸 하려면 참 토나오는데,
하드웨어로는 배선을 분기쳐서 이어주면 되니 간편하게 쓸 수 있겠네
문법 자체는 정규표현식 같은 느낌
앞의 숫자 만큼 순서대로 붙인다 011101110111
reg [3:0] r_VAL_1 = 4'b0111; {3{r_VAL_1}}; # Replication of 0x7, 3 times is 0x777 |
[링크 : https://www.nandland.com/verilog/examples/example-replication-operator.html]
'Programming > Verilog' 카테고리의 다른 글
verliog module 선언 (0) | 2018.01.25 |
---|---|
verilog 모델링 유형 (0) | 2018.01.20 |
verilog unary reduction operator와 bitwise operator (0) | 2018.01.19 |
베릴로그 순차적 구조적 (2) | 2018.01.18 |
structural vs behavioral verilog (0) | 2018.01.12 |