묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
왕초보 대학교 과제 Verilog 코드 질문
안녕하세요? 대학교 과제로 Up and Down game을 만들어보려고 코드를 짜봤는데 모델심에서 시뮬레이션을 돌리면 에러가 떠서 이렇게 도움을 받고자..질문드립니다 동작만 가능하게 만들면 되어서 마음껏 수정하셔도 괜찮아요 (뭔가 제가 짠 게 비효율적인 것 같아서요..)아래는 제가 짠 코드들 이구요, 전체적인 동작은 다음과 같습니다. 1. State0에서 module LSFR을 불러와서 난수 rnd를 저장하고 State1로 넘어간다. 2. State1에서는 사용자에게 fpga보드의 스위치를 통해 4비트의 이진수 sw을 입력받고 bcd에 저장한다. 그러고나서 module bcd_seven을 불러와서 fpga보드의 숫자판에 seven을 출력하고 State2로 넘어간다. 3. State3는 rnd와 bcd 값을 비교하는 부분이다. 만약 rnd > bcd인 경우, led 에서 Red 불빛을 키고 다시 State1로 간다. 그렇지 않고 만약 rnd < bcd인 경우, led에서 Blue 불빛을 키고 State1로 간다. 그렇지 않고 rnd = bcd인 경우, led에서 Green 불빛을 키고 다시 State0으로 간다. ㄱ. 사용자로부터 입력받은 4bit 스위치 값을 fpga보드 위에 숫자판에 0~9까지의 숫자로 표시하는 bcd_seven 모듈`timescale 1ns/1nsmodule bcd_seven input [3:0] bcd; output [6:0] seven; reg [6:0] seven; always @(bcd) begin case (bcd) 4'b0000 : seven = 7'b0111111; 4'b0001 : seven = 7'b0000110; 4'b0010 : seven = 7'b1011011; 4'b0011 : seven = 7'b1001111; 4'b0100 : seven = 7'b1100110; 4'b0101 : seven = 7'b1101101; 4'b0110 : seven = 7'b1111101; 4'b0111 : seven = 7'b0000111; 4'b1000 : seven = 7'b1111111; 4'b1001 : seven = 7'b1101111; default : seven = 7'b0000000; endcase endendmodule ㄴ. 0~9까지의 숫자 중 하나를 랜덤으로 뽑아 rnd에 저장하는 LSFR 모듈`timescale 1ns/1nsmodule LFSR (input clk, input rst, output [3:0] rnd);reg [3:0] random, random_next, random_done;reg [2:0] count, count_next;wire feedback = random[3] ^ random[2];always @(posedge clk or posedge rst) beginif (rst) begin random <= 4'hF; count <= 0;endelse if (count == 3) begin count <= 0; // if (random < 10) // Limit the range to 0 to 9 random_done <= random % 10; endelse begin random <= random_next; count <= count_next; endendalways @(*) begin random_next = random; count_next = count; random_next = {random[2:0], feedback}; count_next = count + 1;endassign rnd = random_done;endmodule ㄷ. rnd와 bcd 값을 비교해서 led 불빛을 표시하는 Upanddown 모듈`timescale 1ns/1nsmodule Upanddown ( input clk, input rst, input [3:0] sw, output reg red_led, output reg blue_led, output reg green_led);reg [3:0] rnd;reg [3:0] bcd;reg [1:0] state, next_state;// Instantiate LSFR and bcd_seven modulesLSFR lsfr_inst ( .clk(clk), .rst(rst), .rnd(rnd));bcd_seven bcd_seven_inst ( .bcd(sw), .seven());always @(posedge clk or posedge rst) begin if (rst) begin state <= 2'b00; // Initial state: State0 end else begin state <= next_state; endendalways @(posedge clk) begin case (state) 2'b00: begin // State0: Generate rnd using LSFR lsfr_inst; // Call LSFR module rnd <= lsfr_inst.rnd; // Store the generated rnd next_state = 2'b01; // Move to State1 end 2'b01: begin // State1: Get user input from switch and display on 7-segment display bcd_seven_inst.bcd <= sw; bcd_seven_inst.seven(); // Call bcd_seven module bcd <= bcd_seven_inst.bcd; next_state = 2'b10; // Move to State2 end 2'b10: begin // State2: Compare rnd and user input, update LEDs, and go to the next state if (rnd > bcd) begin red_led = 1; blue_led = 0; green_led = 0; next_state = 2'b01; // Move to State1 end else if (rnd < bcd) begin red_led = 0; blue_led = 1; green_led = 0; next_state = 2'b01; // Move to State1 end else begin red_led = 0; blue_led = 0; green_led = 1; next_state = 2'b00; // Move to State0 end end default: begin next_state = 2'b00; // Default: Move to State0 end endcaseendendmoduleㄹ. rnd>bcd, rnd<bcd, rnd=bcd 등 전체적인 동작을 확인할 수 있는 테스트벤치`timescale 1ns/1nsmodule Upanddown_Tb;reg clk;reg rst;reg [3:0] sw;wire red_led, blue_led, green_led;// Instantiate Upanddown moduleUpanddown upanddown_inst ( .clk(clk), .rst(rst), .sw(sw), .red_led(red_led), .blue_led(blue_led), .green_led(green_led));// Clock generationinitial begin clk = 0; forever #5 clk = ~clk;end// Initial valuesinitial begin rst = 1; sw = 4'b0000; // Apply reset #10 rst = 0; // Scenario 1: rnd > bcd #20 sw = 4'b0010; // User input: 0010 #30 $display("Scenario 1: rnd > bcd, Expect Red LED: %0d, Blue LED: %0d, Green LED: %0d", red_led, blue_led, green_led); // Scenario 2: rnd < bcd #40 sw = 4'b1001; // User input: 1001 #50 $display("Scenario 2: rnd < bcd, Expect Red LED: %0d, Blue LED: %0d, Green LED: %0d", red_led, blue_led, green_led); // Scenario 3: rnd = bcd #60 sw = 4'b1101; // User input: 1101 #70 $display("Scenario 3: rnd = bcd, Expect Red LED: %0d, Blue LED: %0d, Green LED: %0d", red_led, blue_led, green_led); #100 $finish; // End simulation after some timeendendmodule
-
미해결
수요일 모각코 5회차 모집합니다!
수요일 모각코 5회차 모집합니다!수요일 모각코 5회차 모집합니다!안녕하세요, 목표·상황·입장에 상관없이 모각코를 계획하고 있습니다.각자의 목표를 이루기 위해 즐거운 마음으로 모여서 같이 코딩할 수 있었으면 좋겠습니다.희망하시는 분들은 따봉 부탁드려요.모임계획날짜: 2023년 9월 13일 ~ 11월 15일 (8주/주 1회) 09/27, 10/04 추석 연휴로 인해 제외시간: 수요일 19:00 ~22:00장소: 서울시 서초구 강남대로61길 10 708호 월일3호(2호선 강남역 9, 10번 출구 도보 3분이내) https://naver.me/Gd1Xz8ZG인원: 4~8명 내외진행방식스몰토크: 시작 전 후 5분 할일과 한일 공유호칭은 OO님으로 통일회비 = 67,200원 8회 공간 대여료 (1회 8,400원)(희망하시는 분들에 한하여) 저녁식사 6시 30분 공통 주문 모임 중 식사 가능한 샌드위치, 김밥, 도시락 등프로젝트현실적인 목표 설정 (8주/주 1회 3h = 해커톤 2~3일)4주차 중간 발표 / 8주차에 마무리 발표제출정보이름(혹은 닉네임)하고 있는 일모각코에서 어떤 것을 만들고/공부하고 싶은지연락처신청 링크https://open.kakao.com/o/sThPZDVe
-
미해결
토요일 모각코 7회차 모집합니다!
토요일 모각코 7회차 모집합니다!안녕하세요,기존 평일에 모각코를 진행하면서 주말에도 추가로 진행하고 싶어서 추가 모집하게 되었습니다.목표·상황·입장에 상관없이 모각코를 계획하고 있습니다.각자의 목표를 이루기 위해 즐거운 마음으로 모여서 같이 코딩할 수 있었으면 좋겠습니다.희망하시는 분들은 따봉 부탁드려요.모임계획날짜: 2023년 9월 16일 ~ 10월 14일 (4주/주 1회) 9/30 추석 연휴로 제외시간: 토요일 09:00 ~ 12:00장소: (06579) 서울특별시 광진구 구의제3동 아차산로 42 (2호선 구의역 도보 5분이내) 탐앤탐스 블랙그레이트점인원: 4~6명 내외진행방식매주 참석 가능여부 조사결석 2회 이상 = 벌금 10,000 원 결석 사유: 병가 외 여행/공연 , 시험, 세미나/컨퍼런스 포함.스몰토크: 시작 (전, 후) 5분 간 할일과 한일 공유호칭은 OO님으로 통일모임 이후 희망하시는 분들 점심식사프로젝트현실적인 목표 설정 (4주/주 1회 3h = 해커톤 1~1.5일)4주차 마무리 대화.제출정보이름(혹은 닉네임)하고 있는 일모각코에서 어떤 것을 만들고/공부하고 싶은지연락처신청 링크https://open.kakao.com/o/sPIsvuXe
-
미해결
코딩할 때 용량차이 이미지 코드
코딩할 때 로딩속도 때문에 통이미지를 바로 넣기보다 html코드작성을 하는걸 더 선호하는데코드가 길어지면 또 그것도 느려지는거 아닌가 하는 의문이 문득 들어서요!통이미지가 많은 것 보다 코드작성이 훨씬 로딩에는 좋은게 맞을까요? 아 추가적으로svg보다 image로 넣는게 보통 용량이 더 큰가요?
-
미해결
아두이노 코딩
안녕하세요 이번에 코딩을 배우기 시작했습니다.아두이노 우노로 배우고있구요코딩을 했는데 원하는대로 안되서요원하는거는 리모컨으로 신호를 주면 아두이노 시리얼통신에 수신값을 읽어 키보드를 누르는거까지입니다.지금 상태는 시리얼통신에 수신값까진 읽힙니다. 키보드 누르는게 어렵네요확인부탁드립니다. #include <IRremote.h>//IR리모컨라이브러리#include <Keyboard.h>//키보드라이브러리int RECV_PIN = 11;//IR 수신센서 포트설정IRrecv irrecv(RECV_PIN);decode_results results;//구조체정의int ledpin = 13; //LED IO핀(내부 LED 사용)int on = 0;//플래그unsigned long last = millis();void setup(){ pinMode(ledpin, OUTPUT);////디지털IO핀을 출력으로 지정 Serial.begin(9600);//시리얼포트 속도를 9600bps로 지정 irrecv.enableIRIn(); // 리모컨 수신 시작 Keyboard.begin();}void loop(){ if (irrecv.decode(&results)) //IR리모컨 라이브러리 호출 { if (millis() - last > 250) //수신신호 결정 { on = !on;//수신신호 반전 digitalWrite(ledpin, on ? HIGH : LOW);//리모컨 수신시 LED(13)로 표시 } Serial.println(results.value, HEX); //리모컨 수신코드를 출력 last = millis(); irrecv.resume(); // 다음 값을 수신 } if(Serial.available()) { char a = Serial.read(); Keyboard.write(a); Keyboard.write("KEY_ENTER"); Keyboard.write('A'); Keyboard.write("KEY_ENTER");// Serial.println(a);// Keyboard.press('a');// delay(100);// Keyboard.releaseAll();// delay(100); }}
-
미해결
파이썬의 '파'자도 모르는 파린이 도와주세요ㅜㅜ
안녕하세요. 파이썬 배우기 시작한 지 이제 일주일이 된 파린이 입니다 ㅠㅠ 얼떨결에 개발 직무에 배정받게 되어서 임무를 배정받았는데 어떻게 하는 방법을 몰라 질문드립니다. 엑셀파일(csv)이고Time이 1초 단위로 되어 있는데 일단위로 합쳐서 처리하길 바라시는데 방법을 모르겠습니다. 내일까지 완성해야 하는데 정말 막막합니다. 도와주세요 ㅠㅠ - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결
코딩할때 width,height로 배경색 영역잡는거 안좋나요?
안녕하세요 저는 학원이랑 유튜브에서 코딩을배웠는데 처음에 레이아웃을 잡아 놓고 width랑height 를 잡아놓고 코딩을 시작하는데 안좋은 방법인가요?? 예로 Se01{width:100%; height:700px; background:111;} 이런식으로 나머지들도 잡아가면서했는데 반응형 할때 안 좋다고 들었어요 그러면 마진이나 패딩으로 영역을 잡아야하는건가요??
-
미해결
서울시뉴딜일자리_IT인턴 3개월 [급여월260만]지원사업안내_빅데이터 기반 서비스플랫폼 과정 [스터디,프로젝트,프론트엔드,백엔드,자바,코딩]
서울시에서 뉴딜일자리사업 일환으로 2차 서비스플랫폼개발자 양성과정으로 3개월 인턴십 (급여 월 260) 보내주는 프로그램 진행중인데 신청해보세요! 자세한 내용은 https://blog.naver.com/kjc_sh/222775806456 참고해주세요~
-
미해결
random_state 관련 질문
train_test_split(iris.data, iris.target, test_size = 0.2, random_state = 13, stratify = iris.target) iris_tree = DecisionTreeClassifier(max_depth = 2, random_state = 13) iris_tree.fit(x_train, y_train) 여기서 train_test_split와 DecisionTreeClassifier의 random_state는 어떻게 다른가요?? 그리고 DecisionTreeClassifier에서의 random_state를 변경하면 정확도도 동일해야 하는거 아닌가요? 13보다 작은 수를 입력했을 때는 정확도가 일정한데 13보다 큰 수를 입력하면 왜 정확도가 달라지는지 잘 모르겠습니다.
-
미해결무차별 대입 공격(bruteforce attack) with Python
서버가 업데이트가 안 돼요...
알맞게 쓴 거 같은데 서버가 업데이트가 안 돼요ㅜㅜㅜㅜㅜ 어떻게 해야하나요?
-
미해결파이썬 무료 강의 (활용편2) - GUI 프로그래밍 (4시간)
메뉴랑 스크롤이 안 떠요...
코드 작성을 올바르게 한 것 같은데 실행 했을 때 메뉴랑 스크롤 다 안 떠요ㅜㅜ 왜 그럴까요
-
미해결
csv 파일을 열고 싶습니다...
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 C:\Windows\system32>twitterscraper 크래프톤 -o 크래프톤-tweet.csv - 1 10000 -bd 2021-08-10 -ed 2021-11-24 Traceback (most recent call last): File "C:\Users\jinwoo\anaconda3\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "C:\Users\jinwoo\anaconda3\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\jinwoo\anaconda3\Scripts\twitterscraper.exe\__main__.py", line 4, in <module> File "C:\Users\jinwoo\anaconda3\lib\site-packages\twitterscraper\__init__.py", line 13, in <module> from twitterscraper.query import query_tweets File "C:\Users\jinwoo\anaconda3\lib\site-packages\twitterscraper\query.py", line 76, in <module> proxies = get_proxies() File "C:\Users\jinwoo\anaconda3\lib\site-packages\twitterscraper\query.py", line 49, in get_proxies list_tr = table.find_all('tr') AttributeError: 'NoneType' object has no attribute 'find_all'만들 어가요. - 잠깐! 인프런 서비스 운영 관이련 문의는 1:1 문의하기를 이용해주세요.
-
미해결
카테고리 수정
문제발생 URL : https://denhobby.com/ 발생 문제 현재 카페24 스킨을 구매를 해서 수정작업 중인데 현재 카테고리 박스 위치 수정을 할라고 css를 수정을 할라고 하는데 수정이 안되서 문의를 드립니다. css 고수님들 부탁 드립니다.
-
미해결
findViewById 함수 호출 시 null값 반환
안녕하세요. CustomAdapter 강의 수강중에 다음과 같은 에러가 발생해서 문의드립니다. 그대로 따라하면서 진행하였는데 이상하다 싶어서 에러 메시지를 확인해보니, 아래 코드에서 rowtextview1 변수에 null이 반환되고 있음을 확인하였습니다. val rowtextview1 = findViewById<TextView>(R.id.rowtextView1) 전체 코드는 아래와 같습니다. 어떻게하면 View의 id값을 정상적으로 가져올 수 있을까요?? * MainActivity.kt * package com.example.customadapterimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport android.util.Logimport android.view.Viewimport android.view.ViewGroupimport android.widget.BaseAdapterimport android.widget.Buttonimport android.widget.ListViewimport android.widget.TextViewclass MainActivity : AppCompatActivity() { val data1 = arrayOf("데이터1","데이터2","데이터3","데이터4","데이터5") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textveiw1 = findViewById<TextView>(R.id.textView1) val listveiw1 = findViewById<ListView>(R.id.list1) listveiw1.adapter = adapter1 } //getCount의 리턴 값 만큼 getView가 호출되어 R.layout.row의 View 객체를 붙여준다. val adapter1 = object : BaseAdapter(){ // 항목의 개수를 반환 override fun getCount(): Int { return data1.size } // 항목의 인덱스 번호를 전달했을 때, 객체를 넘기는 기능 override fun getItem(position: Int): Any? { return null } // 임의로 정해진 아이디 값을 넘겨주는 기능 override fun getItemId(position: Int): Long { return 0 } // 현재 화면에 표시되는 항목만큼 호출됨 // position : 몇 번째 항목을 구성할 것인가, convertView : 화면에서 없어진 뷰를 저장 override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View { // 재사용 가능한 View를 변수에 담는다. var rowView = convertView if(rowView == null) { // inflate는 XML을 참고하여 View 객체를 생성 및 반환하는 함수 // 1번째 인자는 View 객체를 만들 때 참고하는 XML, 2번째 인자는 해당 View 객체의 상위 객체(레이아웃)\ rowView = layoutInflater.inflate(R.layout.row, null) } // 항목 뷰 내부에 배치되어 있는 뷰들의 주소 값을 가져온다. val rowtextview1 = findViewById<TextView>(R.id.rowtextView1) rowtextview1.text = data1[position] return rowView!! } }} * activity_main.xml * <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TextView" android:textAppearance="@style/TextAppearance.AppCompat.Large" /> <ListView android:id="@+id/list1" android:layout_width="match_parent" android:layout_height="match_parent" /></LinearLayout> * row.xml * <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal"> <TextView android:id="@+id/rowtextView1" android:layout_width="wrap_content" android:layout_height="40dp" android:layout_weight="1" android:text="TextView" android:textAppearance="@style/TextAppearance.AppCompat.Large" /> <Button android:id="@+id/rowbutton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="버튼1" /> <Button android:id="@+id/rowbutton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="버튼2" /></LinearLayout>
-
미해결스프링 핵심 원리 - 기본편
질문입니다.
1. 생성자를 제외한 대부분의 빈은 "컨테이너 생성 -> 빈 객체 생성 -> 의존관계 주입 -> 초기화"의 라이프사이클을 가진다고 하셨습니다. 그러면 생성자 빈의 라이프 사이클은 어떻게 되나요? 강의 15분 48초에서 "생성자 주입 같은 경우에는 객체를 생성해야 되기 때문에 스프링 빈 생성 단계에서 어느정도 일어납니다. "라고 하셨는데, 좀 더 구체적으로 알고 싶습니다. 2. 초기화 콜백, 소멸 전 콜백에 관한 질문입니다. 초기화 콜백은 "의존관계 주입 완료 후 호출"이라고 하셨고, 소멸 전 콜백은 "빈이 소멸되기 직전에 호출"이라고 하셨는데, 여기에서 호출이라는 게 뭔가요? 무엇을 호출한다는 건지요?
-
미해결스프링 핵심 원리 - 기본편
질문입니다.
(관련 코드) static class DiscountService { private final Map<String, DiscountPolicy> policyMap; private final List<DiscountPolicy> policies; @Autowired public DiscountService(Map<String, DiscountPolicy> policyMap, List<DiscountPolicy> policies) { this.policyMap = policyMap; this.policies = policies; System.out.println("policyMap = " + policyMap); System.out.println("policies = " + policies); } (강의에서 설명) DiscountService는 Map으로 모든 DiscountPolicy(부모 인터페이스)를 주입 받는다. 이때 fixDiscountPolicy(자식 클래스), rateDiscountPolicy(자식 클래스)가 주입된다. (질문) DiscountPolicy는 인터페이스고 이것을 상속 받는 객체가 rateDiscountPolicy랑 fixDiscountPolicy입니다. 위 설명 대로라면 부모를 주입 받았을 때 자식까지 다 주입 받는 건가요? 자식을 주입 받았을 때 부모까지 주입 받는 거 아니었나요? 제가 상속에 대해 잘못 알고 있었던 건가요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
파이썬 알고리즘 문제풀이 선수지식 강의자료 요청
안녕하세요. 선생님의 좋은 강의 잘 듣고 있습니다. 파이썬 선수지식에서 강의하시는 강의자료는 혹시 없으실까요? 저는 문과생이라 파이썬 코딩이 낯설지만 잘 따라가고 있는 중입니다. 그런데 강의자료가 없으니 정리하는데 좀 오래걸려서요 부디 강의자료를 공유해주시면 감사하겠습니다. 제~ 이메일 주소는 1104py@naver.com 입니다. 답변 주시면 감사하겠습니다.
-
미해결
Vs Code live server 오류
vscode 코드를 작성하고 라이브 서버로 실행 시키면 사진처럼 나오는데 뭐가 문제인건가요 ?
-
미해결프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
autocomplete-python traceback output: 가 뜹니다
autocomplete-python traceback output: Traceback (most recent call last): File "C:\Users\User\.atom\packages\autocomplete-python\lib\completion.py", line 8, in <module> =print('hello') 를 입력하고 싶은데, pri를 쓰면 위와 같은 메세지가 뜹니다.. 고급설정가서 시스템 설정 - path 편집에서 C:\Users\User\AppData\Local\Programs\Python\Python310 으로 저장도 했고, 재부팅도 했는데 여전히 문제가 발생합니다..ㅠㅠ 어떻게 해야하나요?ㅠㅠ